CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BaseFlatGunProducer.h
Go to the documentation of this file.
1 #ifndef BaseFlatGunProducer_H
2 #define BaseFlatGunProducer_H
3 
9 #include <string>
10 
11 #include "HepPDT/defs.h"
12 #include "HepPDT/TableBuilder.hh"
13 #include "HepPDT/ParticleDataTable.hh"
14 
15 #include "HepMC/GenEvent.h"
16 
21 
22 #include "CLHEP/Random/JamesRandom.h"
23 #include "CLHEP/Random/RandFlat.h"
24 
25 #include <memory>
26 #include "boost/shared_ptr.hpp"
27 
28 namespace edm
29 {
30 
31  class BaseFlatGunProducer : public one::EDProducer<one::WatchRuns,
32  EndRunProducer>
33  {
34 
35  public:
37  virtual ~BaseFlatGunProducer();
38  void beginRun(const edm::Run & r, const edm::EventSetup&) override;
39  void endRun(edm::Run const& r, const edm::EventSetup&) override;
40  void endRunProduce(edm::Run& r, const edm::EventSetup&) override;
41 
42  private:
43 
44  protected:
45 
46  // non-virtuals ! this and only way !
47  //
48  // data members
49 
50  // gun particle(s) characteristics
51  std::vector<int> fPartIDs ;
52  double fMinEta ;
53  double fMaxEta ;
54  double fMinPhi ;
55  double fMaxPhi ;
56 
57  // the event format itself
58  HepMC::GenEvent* fEvt;
59 
60  // HepMC/HepPDT related things
61  // (for particle/event construction)
62  //std::string fPDGTablePath ;
63  //std::string fPDGTableName ;
64  // DefaultConfig::ParticleDataTable* fPDGTable;
65  // DefaultConfig::ParticleDataTable* fTestTable ;
66  // ESHandle<DefaultConfig::ParticleDataTable> fPDGTable ;
68 
69  int fVerbosity ;
70 
71  CLHEP::HepRandomEngine& fRandomEngine ;
72  CLHEP::RandFlat* fRandomGenerator;
73 
75 
76  };
77 }
78 
79 #endif
void endRun(edm::Run const &r, const edm::EventSetup &) override
CLHEP::HepRandomEngine & fRandomEngine
BaseFlatGunProducer(const ParameterSet &)
void endRunProduce(edm::Run &r, const edm::EventSetup &) override
ESHandle< HepPDT::ParticleDataTable > fPDGTable
CLHEP::RandFlat * fRandomGenerator
void beginRun(const edm::Run &r, const edm::EventSetup &) override
std::vector< int > fPartIDs
Definition: Run.h:36