CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 
14 namespace HepMC
15 {
16 class GenEvent;
17 class GenVertex;
18 }
19 
20 namespace gen {
21 
23  {
24  public:
25 
26  // ctor & dtor
27  PhotosInterface();
30 
31  void init();
32  const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
33  HepMC::GenEvent* apply( HepMC::GenEvent* );
34  void configureOnlyFor( int );
36  bool isTauLeptonicDecay( HepMC::GenVertex* );
37  void SetDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine);
38 
39  private:
40 
41  struct Scaling {
42  HepMC::ThreeVector weights;
43  int flag;
44  Scaling( HepMC::ThreeVector vec, int flg )
45  : weights(HepMC::ThreeVector(1.,1.,1)), flag(1) { weights=vec; flag=flg; }
46  };
47 
48  int fOnlyPDG;
50  std::vector<int> fBarcodes;
51  std::vector<int> fSecVtxStore;
53 
54  void applyToVertex( HepMC::GenEvent*, int );
55  void applyToBranch( HepMC::GenEvent*, int );
56  void attachParticles( HepMC::GenEvent*, HepMC::GenVertex*, int );
57 
58  };
59 
60 }
61 
62 #endif
long int flag
Definition: mlp_lapack.h:47
void attachParticles(HepMC::GenEvent *, HepMC::GenVertex *, int)
CLHEP::HepRandomEngine * decayRandomEngine
void SetDecayRandomEngine(CLHEP::HepRandomEngine *decayRandomEngine)
const std::vector< std::string > & specialSettings()
std::vector< int > fBarcodes
Scaling(HepMC::ThreeVector vec, int flg)
void applyToBranch(HepMC::GenEvent *, int)
std::vector< int > fSecVtxStore
void applyToVertex(HepMC::GenEvent *, int)
bool isTauLeptonicDecay(HepMC::GenVertex *)
HepMC::GenEvent * apply(HepMC::GenEvent *)
std::vector< std::string > fSpecialSettings