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 
32  {
33 
34  public:
36  virtual ~BaseFlatGunProducer();
37  void beginRun( edm::Run & r, const edm::EventSetup& ) ;
38  void endRun( edm::Run& r, const edm::EventSetup& ) ;
39 
40  private:
41 
42  protected:
43 
44  // non-virtuals ! this and only way !
45  //
46  // data members
47 
48  // gun particle(s) characteristics
49  std::vector<int> fPartIDs ;
50  double fMinEta ;
51  double fMaxEta ;
52  double fMinPhi ;
53  double fMaxPhi ;
54 
55  // the event format itself
56  HepMC::GenEvent* fEvt;
57 
58  // HepMC/HepPDT related things
59  // (for particle/event construction)
60  //std::string fPDGTablePath ;
61  //std::string fPDGTableName ;
62  // DefaultConfig::ParticleDataTable* fPDGTable;
63  // DefaultConfig::ParticleDataTable* fTestTable ;
64  // ESHandle<DefaultConfig::ParticleDataTable> fPDGTable ;
66 
67  int fVerbosity ;
68 
69  CLHEP::HepRandomEngine& fRandomEngine ;
70  CLHEP::RandFlat* fRandomGenerator;
71 
73 
74  };
75 }
76 
77 #endif
CLHEP::HepRandomEngine & fRandomEngine
BaseFlatGunProducer(const ParameterSet &)
ESHandle< HepPDT::ParticleDataTable > fPDGTable
CLHEP::RandFlat * fRandomGenerator
std::vector< int > fPartIDs
void beginRun(edm::Run &r, const edm::EventSetup &)
void endRun(edm::Run &r, const edm::EventSetup &)
Definition: Run.h:33