CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BaseFlatGunSource.h
Go to the documentation of this file.
1 #ifndef BaseFlatGunSource_H
2 #define BaseFlatGunSource_H
3 
9 #include <string>
10 
11 #include "HepPDT/defs.h"
12 // #include "HepPDT/DefaultConfig.hh"
13 #include "HepPDT/TableBuilder.hh"
14 //#include "HepPDT/ParticleDataTableT.hh"
15 #include "HepPDT/ParticleDataTable.hh"
16 
17 #include "HepMC/GenEvent.h"
18 
22 
23 #include "CLHEP/Random/JamesRandom.h"
24 #include "CLHEP/Random/RandFlat.h"
25 
26 #include <memory>
27 #include "boost/shared_ptr.hpp"
28 
29 namespace edm
30 {
31 
33  {
34 
35  public:
37  // BaseFlatGunSource( const ParameterSet& ) ;
38  virtual ~BaseFlatGunSource();
39  void beginRun( edm::Run & r, const edm::EventSetup& ) ;
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
std::vector< int > fPartIDs
BaseFlatGunSource(const ParameterSet &, const InputSourceDescription &)
CLHEP::RandFlat * fRandomGenerator
void beginRun(edm::Run &r, const edm::EventSetup &)
ESHandle< HepPDT::ParticleDataTable > fPDGTable
HepMC::GenEvent * fEvt
CLHEP::HepRandomEngine & fRandomEngine
Definition: Run.h:33