StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TauolaHepMCParticle.h
1 #ifndef _TauolaHepMCParticle_h_included_
2 #define _TauolaHepMCParticle_h_included_
3 
21 #include <iostream>
22 #include <vector>
23 
24 #include "HepMC/GenParticle.h"
25 #include "HepMC/SimpleVector.h"
26 #include "HepMC/GenEvent.h"
27 
28 //#include "DecayList.h"
29 #include "TauolaParticle.h"
30 #include "f_Decay.h"
31 
32 namespace Tauolapp
33 {
34 
36 
37  public:
40 
42 
45 
48  TauolaHepMCParticle(int pdg_id, int status, double mass);
49 
52 
54  void undecay();
55 
57  void setMothers(std::vector<TauolaParticle*> mothers);
58 
60  void setDaughters(std::vector<TauolaParticle*> daughters);
61 
63  std::vector<TauolaParticle*> getMothers();
64 
66  std::vector<TauolaParticle*> getDaughters();
67 
69  void setPdgID(int pdg_id);
70 
72  void setStatus(int statu);
73 
75  void setMass(double mass);
76 
78  int getPdgID();
79 
81  int getStatus();
82 
84  int getBarcode();
85 
89 
93  void decayEndgame();
94 
102  TauolaHepMCParticle * createNewParticle(int pdg_id, int status, double mass,
103  double px, double py,
104  double pz, double e);
105 
107  void print();
108 
110  double getPx();
111 
113  double getPy();
114 
116  double getPz();
117 
119  double getE();
120 
122  void setPx( double px );
123 
125  void setPy( double py );
126 
128  void setPz( double pz );
129 
131  void setE( double e );
132 
133 
134 private:
135 
137  void recursiveSetPosition(HepMC::GenParticle *p,HepMC::FourVector pos);
138 
140  HepMC::GenParticle * m_particle;
141 
143  std::vector<TauolaParticle*> m_mothers;
144 
146  std::vector<TauolaParticle*> m_daughters;
147 
150  std::vector<TauolaParticle*> m_created_particles;
151 
152 };
153 
154 } // namespace Tauolapp
155 #endif
156 
Interface to HepMC::GenParticle objects.
void setDaughters(std::vector< TauolaParticle * > daughters)
Abstract base class for particle in the event. This class also handles boosting.
std::vector< TauolaParticle * > getMothers()
FourVector is a simple representation of a physics 4 vector.
Definition: SimpleVector.h:42
TauolaHepMCParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)
std::vector< TauolaParticle * > getDaughters()
void setMothers(std::vector< TauolaParticle * > mothers)
The GenParticle class contains information about generated particles.
Definition: GenParticle.h:60