StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtPhotosEngine.hh
1 #ifdef EVTGEN_PHOTOS
2 //--------------------------------------------------------------------------
3 //
4 // Environment:
5 // This software is part of the EvtGen package. If you use all or part
6 // of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 2011 University of Warwick, UK
10 //
11 // Module: EvtPhotosEngine
12 //
13 // Description: Interface to the PHOTOS external generator
14 //
15 // Modification history:
16 //
17 // John Back May 2011 Module created
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef EVTPHOTOSENGINE_HH
22 #define EVTPHOTOSENGINE_HH
23 
24 #include "EvtGenModels/EvtAbsExternalGen.hh"
25 #include "EvtGenBase/EvtParticle.hh"
26 #include "EvtGenBase/EvtId.hh"
27 #include "EvtGenBase/EvtVector4R.hh"
28 
29 #include "HepMC/GenEvent.h"
30 #include "HepMC/GenParticle.h"
31 #include "HepMC/GenVertex.h"
32 
33 #include <string>
34 
35 class EvtPhotosEngine : public EvtAbsExternalGen {
36 
37 public:
38 
39  EvtPhotosEngine(std::string photonType = "gamma", bool useEvtGenRandom = true);
40  virtual ~EvtPhotosEngine();
41 
42  virtual bool doDecay(EvtParticle* theMother);
43 
44  virtual void initialise();
45 
46 protected:
47 
48 private:
49 
50  std::string _photonType;
51  EvtId _gammaId;
52  int _gammaPDG;
53  double _mPhoton;
54  bool _initialised;
55 
56  HepMC::GenParticle* createGenParticle(EvtParticle* theParticle, bool incoming);
57  int getNumberOfPhotons(const HepMC::GenVertex* theVertex) const;
58 
59 };
60 
61 #endif
62 
63 #endif
GenVertex contains information about decay vertices.
Definition: GenVertex.h:52
Definition: EvtId.hh:27
The GenParticle class contains information about generated particles.
Definition: GenParticle.h:60