#include <IsStatusxx.h>
Inheritance diagram for HepMC_helper::IsStatusxx:
Public Member Functions | |
IsStatusxx (int stat) | |
IMCselector * | create () const |
bool | operator() (const Particle *const p) const |
bool | operator() (const Particle &p) const |
bool | operator() (const Particle &p) |
Private Attributes | |
int | m_stat |
Definition at line 18 of file IsStatusxx.h.
HepMC_helper::IsStatusxx::IsStatusxx | ( | int | stat | ) | [inline] |
IMCselector * HepMC_helper::IsStatusxx::create | ( | ) | const [virtual] |
Implements HepMC_helper::IMCselector.
Definition at line 73 of file HepMC_helper.cxx.
00073 {return new IsStatusxx(*this);}
bool HepMC_helper::IsStatusxx::operator() | ( | const Particle *const | p | ) | const [virtual] |
Implements HepMC_helper::IMCselector.
Definition at line 46 of file HepMC_helper.cxx.
00046 { 00047 const int fsCode = 3; 00048 00049 int pStatus1 = p->status(); 00050 int pStatus2 = pStatus1%100; 00051 00052 if(m_stat != fsCode){return ( pStatus2 == m_stat)? true:false;} 00053 00054 //This IsStatus has been initialised with the "usual" final state code. 00055 00056 //Apply herwig history if the generator is Herwig. 00057 00058 int generCode = p->parent_event()->signal_process_id()/1000000; 00059 00060 //Herwig 00061 if (generCode == 2){ 00062 return ((pStatus1 >= 101 && pStatus1 <= 103) || 00063 (pStatus1 >= 120 && pStatus1 <= 125)) ? true:false; 00064 } 00065 00066 //All other generators..... 00067 return ( pStatus2 == fsCode)? true:false; 00068 00069 }
bool HepMC_helper::IsStatusxx::operator() | ( | const Particle & | p | ) | const |
bool HepMC_helper::IMCselector::operator() | ( | const Particle & | p | ) | [inline, inherited] |
int HepMC_helper::IsStatusxx::m_stat [private] |
Definition at line 25 of file IsStatusxx.h.