1 #include "TauolaHepMC3Event.h"
12 m_momentum_unit =
"GEV";
15 if(m_event->momentum_unit() != Units::GEV) m_momentum_unit =
"MEV";
16 if(m_event->length_unit() != Units::MM ) m_length_unit =
"CM";
19 if( m_event->momentum_unit() != Units::GEV ||
20 m_event->length_unit() != Units::MM )
22 m_event->set_units(Units::GEV,Units::MM);
26 TauolaHepMC3Event::~TauolaHepMC3Event(){
28 while(m_tau_list.size()!=0){
30 m_tau_list.pop_back();
42 if(m_tau_list.size()==0){
45 for(
unsigned int i=0; i<m_event->particles().size(); ++i) {
46 if(abs((m_event->particles()[i])->pid())==pdg_id)
68 std::vector<TauolaParticle*> tau_list = findParticles(pdg_id);
69 std::vector<TauolaParticle*> stable_tau_list;
71 for(
int i=0; i<(int) tau_list.size(); i++){
73 if(!tau_list.at(i)->hasDaughters())
74 stable_tau_list.push_back(tau_list.at(i));
77 std::vector<TauolaParticle*> t = tau_list.at(i)->getDaughters();
79 if(t.size()==1)
continue;
80 if(t.size()==2 && (abs(t[0]->getPdgID())==15 || abs(t[1]->getPdgID())==15) )
continue;
81 Log::Warning()<<
"Particle with pdg code "<<tau_list.at(i)->getPdgID()
82 <<
" already has daughters" <<endl;
86 return stable_tau_list;
92 string momentum(
"GEV"),length(
"MM");
94 switch(Tauola::momentumUnit)
103 momentum = m_momentum_unit;
106 switch(Tauola::lengthUnit)
115 length = m_length_unit;
118 m_event->set_units(Units::momentum_unit(momentum),Units::length_unit(length));
std::vector< TauolaParticle * > findParticles(int pdgID)
std::vector< TauolaParticle * > findStableParticles(int pdgID)
TauolaHepMC3Event(GenEvent *event)