| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

HepMC::ParticleData Class Reference

Particle Data common to all particles of a given PDG id. More...

#include <ParticleData.h>

List of all members.


Public Member Functions

 ParticleData (std::string name, int id, double charge, double mass=0, double cLifetime=-1, double spin=0)
 constructor requiring name, ID, and charge
 ParticleData (const char *name, int id, double charge, double mass=0, double cLifetime=-1, double spin=0)
 constructor requiring name, ID, and charge
virtual ~ParticleData ()
bool operator== (const ParticleData &) const
 equality
bool operator!= (const ParticleData &) const
 inequality
void print (std::ostream &ostr=std::cout) const
 write particle data information to ostr
bool is_lepton () const
 true if charged lepton /neutrino
bool is_charged_lepton () const
 true if a charged lepton
bool is_em () const
 true if an electron or photon
bool is_neutrino () const
 true if a neutrino
bool is_hadron () const
 true if a hadron
bool is_boson () const
 true if a gauge or higgs boson
std::string name () const
 description of the particle according to PDG, i.e. "Delta(1900) S_31"
int pdg_id () const
 PDG ID number.
double charge () const
 charge
double mass () const
 nominal mass
double width () const
 width as calculated from clifetime
double clifetime () const
 lifetime in mm
double spin () const
 J spin.
void set_charge (double)
 set charge
void set_mass (double)
 set nominal mass
void set_width (double)
 set width
void set_clifetime (double)
 set lifetime in mm
void set_spin (double)
 set J spin

Protected Member Functions

int model_independent_pdg_id_ () const
 omits susy/excited/technicolor digit from returned ID

Static Protected Member Functions

static unsigned int counter ()
 num ParticleData objects in memory

Private Attributes

std::string m_name
int m_pdg_id
int m_3charge
double m_mass
double m_clifetime
unsigned char m_2spin

Static Private Attributes

static unsigned int s_counter

Friends

std::ostream & operator<< (std::ostream &, const ParticleData &)

Detailed Description

Particle Data common to all particles of a given PDG id.

Definition at line 69 of file ParticleData.h.


Constructor & Destructor Documentation

HepMC::ParticleData::ParticleData ( std::string  name,
int  id,
double  charge,
double  mass = 0,
double  cLifetime = -1,
double  spin = 0 
)

constructor requiring name, ID, and charge

HepMC::ParticleData::ParticleData ( const char *  name,
int  id,
double  charge,
double  mass = 0,
double  cLifetime = -1,
double  spin = 0 
)

constructor requiring name, ID, and charge

virtual HepMC::ParticleData::~ParticleData (  )  [virtual]


Member Function Documentation

bool HepMC::ParticleData::operator== ( const ParticleData  )  const [inline]

equality

Definition at line 213 of file ParticleData.h.

00213                                                                       {
00214         // compares everything except the particle's name
00215         return ( a.m_pdg_id != m_pdg_id ||
00216                  a.m_mass != m_mass ||
00217                  a.m_clifetime != m_clifetime ||
00218                  a.m_3charge != m_3charge ||
00219                  a.m_2spin != m_2spin            ) ? 0 : 1;
00220     }

bool HepMC::ParticleData::operator!= ( const ParticleData  )  const [inline]

inequality

Definition at line 222 of file ParticleData.h.

00222                                                                       {
00223         // compares everything except the particle's name
00224         return ( a.pdg_id() != this->pdg_id() );
00225     }

void HepMC::ParticleData::print ( std::ostream &  ostr = std::cout  )  const

write particle data information to ostr

bool HepMC::ParticleData::is_lepton (  )  const [inline]

true if charged lepton /neutrino

true if a charged lepton or neutrino --> | 11,13,15,12,14,16,17,18 |

Definition at line 142 of file ParticleData.h.

00142                                               {
00144         return ( abs(pdg_id()) >=11 &&  abs(pdg_id()) <= 18 );
00145     }

bool HepMC::ParticleData::is_charged_lepton (  )  const [inline]

true if a charged lepton

true if a charged lepton --> | 11,13,15 |

Definition at line 146 of file ParticleData.h.

00146                                                       {
00148         return ( is_lepton() && abs(pdg_id())%2==1 );
00149     }

bool HepMC::ParticleData::is_em (  )  const [inline]

true if an electron or photon

true if an electron or photon --> | 11, 22 |

Definition at line 154 of file ParticleData.h.

00154                                           {
00156         return ( abs(pdg_id()) == 11 || abs(pdg_id()) == 22 );
00157     }

bool HepMC::ParticleData::is_neutrino (  )  const [inline]

true if a neutrino

true if a neutrino --> | 12,14,16 |

Definition at line 150 of file ParticleData.h.

00150                                                 {
00152         return ( is_lepton() && abs(pdg_id())%2==0 );
00153     }

bool HepMC::ParticleData::is_hadron (  )  const [inline]

true if a hadron

true if a hadron --> q,g,meson,baryon

Definition at line 158 of file ParticleData.h.

00158                                               {
00160         return ( abs(pdg_id()) <= 9 || abs(pdg_id()) == 21 
00161                  || abs(pdg_id()) >100 );
00162     }

bool HepMC::ParticleData::is_boson (  )  const [inline]

true if a gauge or higgs boson

true if a gauge or higgs boson --> | 9, 21-39 |

Definition at line 163 of file ParticleData.h.

00163                                              {
00165         return ( ( abs(pdg_id()) >20 && abs(pdg_id()) <=40 )
00166                  || abs(pdg_id()) == 9 );
00167     }

std::string HepMC::ParticleData::name (  )  const [inline]

description of the particle according to PDG, i.e. "Delta(1900) S_31"

Definition at line 173 of file ParticleData.h.

00173 { return m_name; }

int HepMC::ParticleData::pdg_id (  )  const [inline]

PDG ID number.

Definition at line 174 of file ParticleData.h.

00174 { return m_pdg_id; }

double HepMC::ParticleData::charge (  )  const [inline]

charge

Definition at line 175 of file ParticleData.h.

00175                                                   { 
00176         return ( (double)m_3charge )/3.; 
00177     }

double HepMC::ParticleData::mass (  )  const [inline]

nominal mass

Definition at line 178 of file ParticleData.h.

00178 { return m_mass; }

double HepMC::ParticleData::width (  )  const

width as calculated from clifetime

double HepMC::ParticleData::clifetime (  )  const [inline]

lifetime in mm

Definition at line 179 of file ParticleData.h.

00179 { return m_clifetime; }

double HepMC::ParticleData::spin (  )  const [inline]

J spin.

Definition at line 180 of file ParticleData.h.

00180 { return m_2spin/2.; }

void HepMC::ParticleData::set_charge ( double   )  [inline]

set charge

Definition at line 181 of file ParticleData.h.

00181                                                                {
00182         if ( charge > 0 ) { 
00183             m_3charge = (int)(3.*charge+.1); 
00184         } else if ( charge < 0. ) { 
00185             m_3charge = (int)(3.*charge-.1); 
00186         } else { 
00187             m_3charge = 0; 
00188         }
00189     }

void HepMC::ParticleData::set_mass ( double   )  [inline]

set nominal mass

Definition at line 190 of file ParticleData.h.

00190                                                                {
00191         m_mass = its_mass;
00192     }

void HepMC::ParticleData::set_width ( double   )  [inline]

set width

Definition at line 193 of file ParticleData.h.

00193                                                              {
00194         if ( width > 0 ) { 
00195             m_clifetime = HepMC_hbarc/width;
00196         } else if ( width == 0. ) { 
00197             m_clifetime = -1.;
00198         } else { 
00199             m_clifetime = 0.; 
00200         }
00201     }

void HepMC::ParticleData::set_clifetime ( double   )  [inline]

set lifetime in mm

Definition at line 202 of file ParticleData.h.

00202                                                                          {
00203         m_clifetime = its_clifetime; 
00204     }

void HepMC::ParticleData::set_spin ( double   )  [inline]

set J spin

Definition at line 205 of file ParticleData.h.

00205                                                            {
00206         m_2spin = (unsigned char)(2.*spin+.1);
00207     }

static unsigned int HepMC::ParticleData::counter (  )  [static, protected]

num ParticleData objects in memory

int HepMC::ParticleData::model_independent_pdg_id_ (  )  const [protected]

omits susy/excited/technicolor digit from returned ID


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const ParticleData  
) [friend]


Member Data Documentation

std::string HepMC::ParticleData::m_name [private]

Definition at line 127 of file ParticleData.h.

int HepMC::ParticleData::m_pdg_id [private]

Definition at line 129 of file ParticleData.h.

int HepMC::ParticleData::m_3charge [private]

Definition at line 130 of file ParticleData.h.

double HepMC::ParticleData::m_mass [private]

Definition at line 131 of file ParticleData.h.

double HepMC::ParticleData::m_clifetime [private]

Definition at line 132 of file ParticleData.h.

unsigned char HepMC::ParticleData::m_2spin [private]

Definition at line 133 of file ParticleData.h.

unsigned int HepMC::ParticleData::s_counter [static, private]

Definition at line 135 of file ParticleData.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:45 2011 for HepMC by doxygen 1.4.7