CMS 3D CMS Logo

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 {
31  fAvoidTauLeptonicDecays = true;
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
CLHEP::HepRandomEngine * decayRandomEngine
void avoidTauLeptonicDecays() override
int init
Definition: HydjetWrapper.h:64
std::vector< int > fBarcodes
const std::vector< std::string > & specialSettings() override
static CLHEP::HepRandomEngine * fRandomEngine
std::vector< int > fSecVtxStore
Vec apply(Vec v, F f)
Definition: ExtVec.h:81