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_ExternalDecays_PhotosInterface_h
2 #define gen_ExternalDecays_PhotosInterface_h
3 
4 // #include "HepPDT/ParticleDataTable.hh"
5 
9 
10 #include "HepMC/SimpleVector.h"
11 
12 namespace HepMC
13 {
14 class GenEvent;
15 class GenVertex;
16 }
17 
18 namespace gen {
19 
21  {
22  public:
23 
24  // ctor & dtor
25  PhotosInterface();
28 
29  void init();
30  const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
31  HepMC::GenEvent* apply( HepMC::GenEvent* );
32  // --> void configureOnlyFor( int );
34 
35  private:
36 
37  struct Scaling {
38  HepMC::ThreeVector weights;
39  int flag;
40  Scaling( HepMC::ThreeVector vec, int flg )
41  : weights(HepMC::ThreeVector(1.,1.,1)), flag(1) { weights=vec; flag=flg; }
42  };
43 
44  int fOnlyPDG;
45  std::vector<std::string> fSpecialSettings;
47  std::vector<Scaling> fScaleFactors;
48  std::vector<int> fBarcodes;
50 
51  void attachParticles( HepMC::GenEvent*, HepMC::GenVertex*, int );
52 
53  };
54 
55 }
56 
57 #endif
long int flag
Definition: mlp_lapack.h:47
void attachParticles(HepMC::GenEvent *, HepMC::GenVertex *, int)
std::vector< Scaling > fScaleFactors
const std::vector< std::string > & specialSettings()
std::vector< int > fBarcodes
Scaling(HepMC::ThreeVector vec, int flg)
std::vector< std::string > fSpecialSettings
HepMC::GenEvent * apply(HepMC::GenEvent *)