CMS 3D CMS Logo

ExternalDecayDriver.h
Go to the documentation of this file.
1 #ifndef gen_ExternalDecayDriver_h
2 #define gen_ExternalDecayDriver_h
3 
6 
7 #include <string>
8 #include <vector>
9 
10 namespace HepMC
11 {
12 class GenEvent;
13 }
14 
15 namespace CLHEP {
16  class HepRandomEngine;
17 }
18 
19 namespace lhef {
20  class LHEEvent;
21 }
22 
23 namespace gen {
24 
25  class EvtGenInterfaceBase;
26  class TauolaInterfaceBase;
27  class PhotosInterfaceBase;
28 
29 
31  public:
32 
33  // ctor & dtor
36 
37  void init( const edm::EventSetup& );
38 
39  const std::vector<int>& operatesOnParticles() { return fPDGs; }
40  const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
41 
42  HepMC::GenEvent* decay( HepMC::GenEvent* evt);
43  HepMC::GenEvent* decay( HepMC::GenEvent* evt, lhef::LHEEvent *lheEvent);
44 
45  void statistics() const;
46 
47  void setRandomEngine(CLHEP::HepRandomEngine*);
48  std::vector<std::string> const& sharedResources() const { return exSharedResources; }
49 
50  private:
55  std::vector<int> fPDGs;
56  std::vector<std::string> fSpecialSettings;
57 
58  std::vector<std::string> exSharedResources;
59  };
60 
61 }
62 
63 #endif
TauolaInterfaceBase * fTauolaInterface
PhotosInterfaceBase * fPhotosInterface
const std::vector< int > & operatesOnParticles()
const std::vector< std::string > & specialSettings()
std::vector< std::string > exSharedResources
std::vector< std::string > fSpecialSettings
EvtGenInterfaceBase * fEvtGenInterface
std::vector< std::string > const & sharedResources() const