CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PhotosInterface.h
Go to the documentation of this file.
1 #ifndef gen_PhotosInterface_PhotosInterface_h
2 #define gen_PhotosInterface_PhotosInterface_h
3 
4 // #include "HepPDT/ParticleDataTable.hh"
5 
9 
10 #include "HepMC/SimpleVector.h"
12 
13 namespace HepMC {
14  class GenEvent;
15  class GenVertex;
16 } // namespace HepMC
17 
18 namespace gen {
20  public:
21  // ctor & dtor
24  ~PhotosInterface() override;
25 
26  void init() override;
27  const std::vector<std::string>& specialSettings() override { return fSpecialSettings; }
29  void configureOnlyFor(int) override;
30  void avoidTauLeptonicDecays() override {
32  return;
33  }
34  bool isTauLeptonicDecay(HepMC::GenVertex*);
35  void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) override;
36  static double flat();
37 
38  private:
39  int fOnlyPDG;
41  std::vector<int> fBarcodes;
42  std::vector<int> fSecVtxStore;
44 
45  void applyToVertex(HepMC::GenEvent*, int);
46  void applyToBranch(HepMC::GenEvent*, int);
47  void attachParticles(HepMC::GenEvent*, HepMC::GenVertex*, int);
48 
49  static CLHEP::HepRandomEngine* fRandomEngine;
50  };
51 } // namespace gen
52 
53 #endif
void attachParticles(HepMC::GenEvent *, HepMC::GenVertex *, int)
void init() override
void avoidTauLeptonicDecays() override
void configureOnlyFor(int) override
void setRandomEngine(CLHEP::HepRandomEngine *decayRandomEngine) override
std::vector< int > fBarcodes
const std::vector< std::string > & specialSettings() override
static CLHEP::HepRandomEngine * fRandomEngine
void applyToBranch(HepMC::GenEvent *, int)
HepMC::GenEvent * apply(HepMC::GenEvent *) override
std::vector< int > fSecVtxStore
void applyToVertex(HepMC::GenEvent *, int)
bool isTauLeptonicDecay(HepMC::GenVertex *)
static double flat()
std::vector< std::string > fSpecialSettings