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 
14 namespace HepMC
15 {
16 class GenEvent;
17 class GenVertex;
18 }
19 
20 namespace gen {
22  public:
23 
24  // ctor & dtor
25  PhotosInterface();
27  ~PhotosInterface() override;
28 
29  void init() override;
30  const std::vector<std::string>& specialSettings() override { return fSpecialSettings; }
32  void configureOnlyFor( int ) override;
33  void avoidTauLeptonicDecays() override { fAvoidTauLeptonicDecays=true; return; }
34  bool isTauLeptonicDecay( HepMC::GenVertex* );
35  void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) override;
36  static double flat();
37 
38  private:
39 
40  int fOnlyPDG;
42  std::vector<int> fBarcodes;
43  std::vector<int> fSecVtxStore;
45 
46  void applyToVertex( HepMC::GenEvent*, int );
47  void applyToBranch( HepMC::GenEvent*, int );
48  void attachParticles( HepMC::GenEvent*, HepMC::GenVertex*, int );
49 
50  static CLHEP::HepRandomEngine* fRandomEngine;
51 
52  };
53 }
54 
55 #endif
void avoidTauLeptonicDecays() override
int init
Definition: HydjetWrapper.h:67
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:83