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  class GenEvent;
12 }
13 
14 namespace CLHEP {
15  class HepRandomEngine;
16 }
17 
18 namespace lhef {
19  class LHEEvent;
20 }
21 
22 namespace gen {
23 
24  class EvtGenInterfaceBase;
25  class TauolaInterfaceBase;
26  class PhotosInterfaceBase;
27 
29  public:
30  // ctor & dtor
33 
34  void init(const edm::EventSetup&);
35 
36  const std::vector<int>& operatesOnParticles() { return fPDGs; }
37  const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
38 
41 
42  void statistics() const;
43 
44  void setRandomEngine(CLHEP::HepRandomEngine*);
45  std::vector<std::string> const& sharedResources() const { return exSharedResources; }
46 
47  private:
49  std::unique_ptr<TauolaInterfaceBase> fTauolaInterface;
50  std::unique_ptr<EvtGenInterfaceBase> fEvtGenInterface;
51  std::unique_ptr<PhotosInterfaceBase> fPhotosInterface;
52  std::vector<int> fPDGs;
53  std::vector<std::string> fSpecialSettings;
54 
55  std::vector<std::string> exSharedResources;
56  };
57 
58 } // namespace gen
59 
60 #endif
std::unique_ptr< PhotosInterfaceBase > fPhotosInterface
int init
Definition: HydjetWrapper.h:64
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