StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TauolaHEPEVTParticle.h
1 #ifndef _TauolaHEPEVTParticle_h_included_
2 #define _TauolaHEPEVTParticle_h_included_
3 
18 #include <iostream>
19 #include <vector>
20 
21 #include "f_Decay.h"
22 #include "TauolaParticle.h"
23 #include "TauolaHEPEVTEvent.h"
24 
25 namespace Tauolapp
26 {
27 
28 class TauolaHEPEVTEvent;
29 
31 
32  public:
35 
37  TauolaHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de);
38 
41  void undecay();
42 
44  void setMothers(std::vector<TauolaParticle*> mothers);
45 
47  void setDaughters(std::vector<TauolaParticle*> daughters);
48 
50  std::vector<TauolaParticle*> getMothers();
51 
53  std::vector<TauolaParticle*> getDaughters();
54 
57 
65  TauolaHEPEVTParticle * createNewParticle(int pdg_id, int status, double mass,
66  double px, double py,
67  double pz, double e);
68 
71 
74 
76  void print();
77 
79  void setPdgID(int pdg_id);
80 
82  void setStatus(int statu);
83 
85  void setMass(double mass);
86 
88  int getPdgID();
89 
91  int getStatus();
92 
94  double getMass();
95 
97  double getPx();
98 
100  double getPy();
101 
103  double getPz();
104 
106  double getE();
107 
109  void setPx( double px );
110 
112  void setPy( double py );
113 
115  void setPz( double pz );
116 
118  void setE( double e );
119 
121  int getBarcode();
122 
124  void setBarcode(int barcode);
125 
127  void setEvent(TauolaHEPEVTEvent *event);
128 
130  int getFirstMotherIndex();
131 
133  int getSecondMotherIndex();
134 
136  int getDaughterRangeStart();
137 
139  int getDaughterRangeEnd();
140 
141 private:
142 
144  TauolaHEPEVTEvent *m_event;
145 
147  int m_barcode;
148 
150  int m_first_mother, m_second_mother;
151 
153  int m_daughter_start, m_daughter_end;
154 
156  int m_pdgid;
157 
159  int m_status;
160 
162  double m_px, m_py, m_pz, m_e;
163 
165  double m_generated_mass;
166 
169  vector<TauolaHEPEVTParticle*> cache;
170 };
171 
172 } // namespace Tauolapp
173 #endif
174 
std::vector< TauolaParticle * > getMothers()
bool isMotherOf(TauolaHEPEVTParticle *p)
TauolaHEPEVTParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)
Abstract base class for particle in the event. This class also handles boosting.
void setMothers(std::vector< TauolaParticle * > mothers)
TauolaHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
void setEvent(TauolaHEPEVTEvent *event)
Single particle of HEPEVT event record.
void setDaughters(std::vector< TauolaParticle * > daughters)
std::vector< TauolaParticle * > getDaughters()
bool isDaughterOf(TauolaHEPEVTParticle *p)