| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# ParticleProperty.h

Go to the documentation of this file.

    00001 // $Id: ParticleProperty.h,v 1.6 2004/08/05 09:58:08 mato Exp $
    00002 #ifndef GAUDIKERNEL_PARTICLEPROPERTY_H
    00003 #define GAUDIKERNEL_PARTICLEPROPERTY_H 1
    00004 // ============================================================================
    00005 // Include files
    00006 // ============================================================================
    00007 #include <string>
    00008 #include <ostream>
    00009 #include <iomanip>
    00010 // ============================================================================
    00011
    00019 class ParticleProperty {
    00020 public:
    00022   ParticleProperty() {}
    00023
    00024   ParticleProperty
    00025   ( const std::string& particle   ,
    00026     int                geantId    ,
    00027     int                jetsetId   ,
    00028     double             charge     ,
    00029     double             mass       ,
    00030     double             tlife      ,
    00031     const std::string& evtgenName ,
    00032     int                pythiaId   ,
    00033     double             maxWidth   )
    00034     : m_name         ( particle   )
    00035     , m_idgeant      ( geantId    )
    00036     , m_idjetset     ( jetsetId   )
    00037     , m_charge       ( charge     )
    00038     , m_mass         ( mass       )
    00039     , m_tlife        ( tlife      )
    00040     , m_evtgenName   ( evtgenName )
    00041     , m_pythiaId     ( pythiaId   )
    00042     , m_maxWidth     ( maxWidth   )
    00043     , m_anti         ( 0          )
    00044   {}
    00045
    00047   ~ParticleProperty() {}
    00048
    00050   const std::string& particle() const { return m_name; }
    00051
    00053   void setParticle( const std::string& particle ) { m_name = particle; }
    00054
    00056   int geantID() const { return m_idgeant; }
    00057
    00059   void setGeantID( int id ) { m_idgeant = id; }
    00060
    00062   int pdgID() const { return m_idjetset; }
    00063
    00065   void setPdgID( int id) { m_idjetset = id; }
    00066
    00068   int jetsetID() const { return m_idjetset; }
    00069
    00071   void setJetsetID( int id ) { m_idjetset = id; }
    00072
    00074   double charge() const { return m_charge; }
    00075
    00077   void setCharge( double q ) { m_charge = q; }
    00078
    00080   double mass() const { return m_mass; }
    00081
    00083   void setMass( double m ) { m_mass = m; }
    00084
    00086   double lifetime() const { return m_tlife; }
    00087
    00089   void setLifetime( double t ) { m_tlife = t; }
    00090
    00092   const std::string& evtGenName() const { return m_evtgenName ; }
    00093
    00095   void setEvtGenName( const std::string & name ) { m_evtgenName = name ; }
    00096
    00098   int pythiaID() const { return m_pythiaId ; }
    00099
    00101   void setPythiaID( int pId ) { m_pythiaId = pId ; }
    00102
    00104   double maxWidth() const { return m_maxWidth ; }
    00105
    00107   void setMaxWidth( double mW ) { m_maxWidth = mW ; }
    00108
    00110   const ParticleProperty* antiParticle() const { return m_anti ; }
    00112   void setAntiParticle( const ParticleProperty* p ) { m_anti = p ; }
    00113
    00114   friend std::ostream& operator<<
    00115     ( std::ostream& stream, const ParticleProperty& pp)
    00116   {
    00117     stream << "Name : " << pp.m_name
    00118            << ", Geant ID : " << pp.m_idgeant
    00119            << ", JetSet ID : " << pp.m_idjetset
    00120            << ", Charge (/e): " << pp.m_charge
    00121            << ", Mass (MeV): " << pp.m_mass
    00122            << ", Lifetime (ns): " << pp.m_tlife
    00123            << ", EvtGen Name: " << pp.m_evtgenName
    00124            << ", Pythia ID: " << pp.m_pythiaId
    00125            << ", Max width deviation (MeV): " << pp.m_maxWidth ;
    00126     return stream;
    00127   }
    00128
    00129 private:
    00131   std::string m_name;
    00132
    00134   int m_idgeant;
    00135
    00137   int m_idjetset;
    00138
    00140   double m_charge;
    00141
    00143   double m_mass;
    00144
    00146   double m_tlife;
    00147
    00149   std::string m_evtgenName ;
    00150
    00152   int m_pythiaId ;
    00153
    00155   double m_maxWidth ;
    00156
    00158   const ParticleProperty* m_anti ;
    00159 };
    00160
    00161 #endif
    00162