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 
44 
45  void statistics() const;
46 
47  void setRandomEngine(CLHEP::HepRandomEngine*);
48  std::vector<std::string> const& sharedResources() const { return exSharedResources; }
49 
50  private:
52  std::unique_ptr<TauolaInterfaceBase> fTauolaInterface;
53  std::unique_ptr<EvtGenInterfaceBase> fEvtGenInterface;
54  std::unique_ptr<PhotosInterfaceBase> fPhotosInterface;
55  std::vector<int> fPDGs;
56  std::vector<std::string> fSpecialSettings;
57 
58  std::vector<std::string> exSharedResources;
59  };
60 
61 }
62 
63 #endif
std::unique_ptr< PhotosInterfaceBase > fPhotosInterface
int init
Definition: HydjetWrapper.h:67
const std::vector< int > & operatesOnParticles()
const std::vector< std::string > & specialSettings()
std::vector< std::string > exSharedResources
std::unique_ptr< EvtGenInterfaceBase > fEvtGenInterface
std::vector< std::string > fSpecialSettings
std::unique_ptr< TauolaInterfaceBase > fTauolaInterface
std::vector< std::string > const & sharedResources() const