Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Event::McParticle Class Reference

#include <McParticle.h>

Inheritance diagram for Event::McParticle:

ContainedObject ContainedObject List of all members.

Public Types

enum  StatusBits {
  DECAYED = 1, DECAYFLT = 1<<1, PRIMARY = 1<<2, LEAF = 1<<3,
  ERROR = 1<<4
}
 status bits modeled More...
enum  StatusBits {
  DECAYED = 1, DECAYFLT = 1<<1, PRIMARY = 1<<2, LEAF = 1<<3,
  ERROR = 1<<4
}
 status bits modeled More...
typedef int StdHepId
typedef int StdHepId

Public Member Functions

void addDaughter (const SmartRef< McParticle > d)
 add a daugther particle to this particle
void addDaughter (const SmartRef< McParticle > d)
 add a daugther particle to this particle
void addStatusFlag (unsigned int flag)
 add a new flag to the status flags
void addStatusFlag (unsigned int flag)
 add a new flag to the status flags
virtual const CLID & clID () const
virtual const CLID & clID () const
const SmartRefVector< McParticle > & daughterList () const
 access to the list of daughters
const SmartRefVector< McParticle > & daughterList () const
 access to the list of daughters
bool decayFromGenerator () const
 Decayed from generator.
bool decayFromGenerator () const
 Retrieve whether decayed from generator.
bool decayInFlight () const
 Decayed in flight.
bool decayInFlight () const
 Retrieve wheter decayed in flight.
void finalize (const HepLorentzVector &finalPosition)
 Set the final attributes of the McParticle.
void finalize (const HepLorentzVector &finalPosition)
 Set the final attributes of the McParticle.
const HepLorentzVector & finalPosition () const
const HepLorentzVector & finalPosition () const
void init (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &finalMomentum, const HepLorentzVector &initialPosition, const HepLorentzVector &finalPosition, const std::string process="")
void init (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &finalMomentum, const HepLorentzVector &initialPosition, const HepLorentzVector &finalPosition, const std::string process="")
const HepLorentzVector & initialFourMomentum () const
const HepLorentzVector & initialFourMomentum () const
void initialize (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="")
void initialize (StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="")
 Set the initial attributes of the McParticle.
void initialize (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="")
void initialize (StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="")
 Set the initial attributes of the McParticle.
const HepLorentzVector & initialPosition () const
 Retrieve pointer to the start, end vertex positions.
const HepLorentzVector & initialPosition () const
 Retrieve pointer to the start, end vertex positions.
bool leafParticle () const
 Retrieve whether this is a leaf particle.
bool leafParticle () const
 Retrieve whether this is a leave particle.
 McParticle ()
 Constructors.
 McParticle ()
 Constructors.
const McParticlemother () const
 access to the mother particle
const McParticlemother () const
 access to the mother particle
StdHepId particleProperty () const
 Retrieve particle property.
StdHepId particleProperty () const
 Retrieve particle property.
bool primaryParticle () const
bool primaryParticle () const
 Retrieve whether this is a primary particle.
void removeDaughter (const SmartRef< McParticle > mcPart)
 Used for pruning.
void removeDaughter (const SmartRef< McParticle > mcPart)
 Remove daughters when in prune mode.
void setMother (const SmartRef< McParticle > m)
 set the mother particle
void setMother (const SmartRef< McParticle > m)
 set the mother particle
void setTrackIndex (int trackIndex)
void setTrackIndex (int trackIndex)
void setVertexIndex0 (int index0)
 methods for setting and getting vertex indexes
void setVertexIndex0 (int index0)
 methods for setting and getting vertex indexes
void setVertexIndex1 (int index1)
void setVertexIndex1 (int index1)
unsigned int statusFlags () const
 retrieve all of status flags for const object
unsigned int statusFlags () const
 retrieve all of status flags for const object
int trackIndex () const
int trackIndex () const
int vertexIndex0 () const
int vertexIndex0 () const
int vertexIndex1 () const
int vertexIndex1 () const
virtual ~McParticle ()
 Destructor.
virtual ~McParticle ()
 Destructor.

Static Public Member Functions

const CLID & classID ()
const CLID & classID ()

Private Attributes

SmartRefVector< McParticlem_daughters
 Vector of pointers to daughter particles.
SmartRefVector< McParticlem_daughters
 Vector of pointers to daughter particles.
HepLorentzVector m_finalFourMomentum
 Final 4-momentum.
HepLorentzVector m_finalPosition
 Final position.
HepLorentzVector m_initialFourMomentum
 Initial 4-momentum.
HepLorentzVector m_initialPosition
 Initial position.
SmartRef< McParticlem_mother
 Pointer to mother particle.
SmartRef< McParticlem_mother
 Pointer to mother particle.
StdHepId m_particleID
 particle property (such as electron or proton or ....) ID
std::string m_process
 String with the process name that poduces this particle.
unsigned long m_statusFlags
 Bit-field status flag.
int m_trackIndex
int m_vertexIndex0
 the index for the vertex where the particle starts
int m_vertexIndex1
 the index for the vertex where the particle stops

Member Typedef Documentation

typedef int Event::McParticle::StdHepId
 

typedef int Event::McParticle::StdHepId
 


Member Enumeration Documentation

enum Event::McParticle::StatusBits
 

status bits modeled

Enumeration values:
DECAYED 
DECAYFLT  Decayed by generator.
PRIMARY  Decayed in flight.
LEAF  primary particle
ERROR  this particle is a leaf in the particle tree
00034                    {  
00035         DECAYED =1 ,    
00036         DECAYFLT=1<<1,  
00037         PRIMARY =1<<2,  
00038         LEAF = 1<<3,    
00039         ERROR = 1<<4    
00040         //MISSED=  1<<2,  //! Does not hit detector
00041         //NOINTER =1<<3,  //! Traverses detector w/o interacting 
00042         //STOPPED =1<<4,  //! Energy below cut; other bits may say why 
00043         //INTERACT=1<<5,  //! Interacted, no further decision to be made
00044         //INTSHDEP=1<<6,  //! Interacted, further decision depends on ! selection of shower deposition  
00045         //PRIMARY =1<<7,  //! primary particle 
00046         //SWERROR =1<<8,  //! Error occurred in swimming the track 
00047         //BCKSPL=1<<9,    //! The particle is backsplashed from the CAL back in the TKR region
00048         //POSHIT =1<<10,     //! The particle released a hit a PositionHit detector
00049         //NOTTRACK=1<<11, //! Not tracked by user request 
00050         //Swum =   1<<12,  //! this particle was produced by the swimmer
00051         //LEAF = 1<<13     //! this particle is a leaf in the particle tree 
00052     };

enum Event::McParticle::StatusBits
 

status bits modeled

Enumeration values:
DECAYED 
DECAYFLT  Decayed by generator.
PRIMARY  Decayed in flight.
LEAF  primary particle
ERROR  this particle is a leaf in the particle tree
00034                    {  
00035         DECAYED =1 ,    
00036         DECAYFLT=1<<1,  
00037         PRIMARY =1<<2,  
00038         LEAF = 1<<3,    
00039         ERROR = 1<<4    
00040         //MISSED=  1<<2,  //! Does not hit detector
00041         //NOINTER =1<<3,  //! Traverses detector w/o interacting 
00042         //STOPPED =1<<4,  //! Energy below cut; other bits may say why 
00043         //INTERACT=1<<5,  //! Interacted, no further decision to be made
00044         //INTSHDEP=1<<6,  //! Interacted, further decision depends on ! selection of shower deposition  
00045         //PRIMARY =1<<7,  //! primary particle 
00046         //SWERROR =1<<8,  //! Error occurred in swimming the track 
00047         //BCKSPL=1<<9,    //! The particle is backsplashed from the CAL back in the TKR region
00048         //POSHIT =1<<10,     //! The particle released a hit a PositionHit detector
00049         //NOTTRACK=1<<11, //! Not tracked by user request 
00050         //Swum =   1<<12,  //! this particle was produced by the swimmer
00051         //LEAF = 1<<13     //! this particle is a leaf in the particle tree 
00052     };


Constructor & Destructor Documentation

Event::McParticle::McParticle  )  [inline]
 

Constructors.

00058                  :
00059       m_statusFlags(0)
00060     {}

virtual Event::McParticle::~McParticle  )  [inline, virtual]
 

Destructor.

00062 {}

Event::McParticle::McParticle  )  [inline]
 

Constructors.

00058                  :
00059       m_statusFlags(0)
00060     {}

virtual Event::McParticle::~McParticle  )  [inline, virtual]
 

Destructor.

00062 {}


Member Function Documentation

void Event::McParticle::addDaughter const SmartRef< McParticle d  )  [inline]
 

add a daugther particle to this particle

00147 {m_daughters.push_back(d);};

void Event::McParticle::addDaughter const SmartRef< McParticle d  )  [inline]
 

add a daugther particle to this particle

00147 {m_daughters.push_back(d);};

void Event::McParticle::addStatusFlag unsigned int  flag  )  [inline]
 

add a new flag to the status flags

00103 {m_statusFlags |= flag;};

void Event::McParticle::addStatusFlag unsigned int  flag  )  [inline]
 

add a new flag to the status flags

00103 {m_statusFlags |= flag;};

const CLID& Event::McParticle::classID  )  [inline, static]
 

00056 { return CLID_McParticle; }

const CLID& Event::McParticle::classID  )  [inline, static]
 

00056 { return CLID_McParticle; }

virtual const CLID& Event::McParticle::clID  )  const [inline, virtual]
 

00055 { return McParticle::classID(); }

virtual const CLID& Event::McParticle::clID  )  const [inline, virtual]
 

00055 { return McParticle::classID(); }

const SmartRefVector<McParticle>& Event::McParticle::daughterList  )  const [inline]
 

access to the list of daughters

00164 {return m_daughters;};

const SmartRefVector<McParticle>& Event::McParticle::daughterList  )  const [inline]
 

access to the list of daughters

00164 {return m_daughters;};

bool Event::McParticle::decayFromGenerator  )  const
 

Decayed from generator.

bool Event::McParticle::decayFromGenerator  )  const
 

Retrieve whether decayed from generator.

00026 {
00027   return (m_statusFlags & DECAYED)==DECAYED;
00028 }

bool Event::McParticle::decayInFlight  )  const
 

Decayed in flight.

bool Event::McParticle::decayInFlight  )  const
 

Retrieve wheter decayed in flight.

00032 {
00033   return (m_statusFlags & DECAYFLT)==DECAYFLT;
00034 }

void Event::McParticle::finalize const HepLorentzVector &  finalPosition  ) 
 

Set the final attributes of the McParticle.

void Event::McParticle::finalize const HepLorentzVector &  finalPosition  ) 
 

Set the final attributes of the McParticle.

00086 {
00087     m_finalPosition = finalPosition;
00088 }

const HepLorentzVector& Event::McParticle::finalPosition  )  const
 

const HepLorentzVector & Event::McParticle::finalPosition  )  const
 

00100 {
00101     return m_finalPosition;
00102 }

void Event::McParticle::init McParticle mother,
StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  finalMomentum,
const HepLorentzVector &  initialPosition,
const HepLorentzVector &  finalPosition,
const std::string  process = ""
 

completely initialize a newed object. No other way to set most attributes. it will be replaced by the following methods (left here just in the transition)

void Event::McParticle::init McParticle mother,
StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  finalMomentum,
const HepLorentzVector &  initialPosition,
const HepLorentzVector &  finalPosition,
const std::string  process = ""
 

completely initialize a newed object. No other way to set most attributes. it will be replaced by the following methods (left here just in the transition)

00044 {
00045   initialize(mother, id, flags, initialMomentum, initialPosition,process);
00046   //finalize(finalMomentum, finalPosition);
00047   finalize(finalPosition);
00048 }

const HepLorentzVector& Event::McParticle::initialFourMomentum  )  const
 

const HepLorentzVector & Event::McParticle::initialFourMomentum  )  const
 

00104 {
00105     return m_initialFourMomentum;
00106 }

void Event::McParticle::initialize McParticle mother,
StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  initialPosition,
const std::string  process = ""
 

void Event::McParticle::initialize StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  initialPosition,
const std::string  process = ""
 

Set the initial attributes of the McParticle.

void Event::McParticle::initialize McParticle mother,
StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  initialPosition,
const std::string  process = ""
 

00068 {
00069     m_mother = mother;
00070     m_particleID = id;
00071     m_statusFlags = flags;
00072     m_initialFourMomentum = initialMomentum;
00073     m_initialPosition = initialPosition;
00074     m_process = process;
00075     if( mother != this) mother->m_daughters.push_back(this);
00076 }

void Event::McParticle::initialize StdHepId  id,
unsigned int  statusBits,
const HepLorentzVector &  initialMomentum,
const HepLorentzVector &  initialPosition,
const std::string  process = ""
 

Set the initial attributes of the McParticle.

00055 {
00056     m_particleID = id;
00057     m_statusFlags = flags;
00058     m_initialFourMomentum = initialMomentum;
00059     m_initialPosition = initialPosition;
00060     m_process = process;
00061 }

const HepLorentzVector& Event::McParticle::initialPosition  )  const
 

Retrieve pointer to the start, end vertex positions.

const HepLorentzVector & Event::McParticle::initialPosition  )  const
 

Retrieve pointer to the start, end vertex positions.

00096 {
00097     return m_initialPosition;
00098 }

bool Event::McParticle::leafParticle  )  const
 

Retrieve whether this is a leaf particle.

bool Event::McParticle::leafParticle  )  const
 

Retrieve whether this is a leave particle.

00020 {
00021   return (m_statusFlags & LEAF)==LEAF;
00022 }

const McParticle& Event::McParticle::mother  )  const
 

access to the mother particle

const McParticle & Event::McParticle::mother  )  const
 

access to the mother particle

00118 {
00119     return *m_mother;
00120 }

StdHepId Event::McParticle::particleProperty  )  const
 

Retrieve particle property.

McParticle::StdHepId Event::McParticle::particleProperty  )  const
 

Retrieve particle property.

00008 {
00009   return m_particleID;
00010 }

bool Event::McParticle::primaryParticle  )  const
 

Retrieve whether this is a primary particle: there's no mother for a primary particle

bool Event::McParticle::primaryParticle  )  const
 

Retrieve whether this is a primary particle.

Retrieve whether this is a primary particle: there's no mother for a primary particle

00014 {
00015   return (m_statusFlags & PRIMARY)==PRIMARY;
00016 }

void Event::McParticle::removeDaughter const SmartRef< McParticle mcPart  ) 
 

Used for pruning.

void Event::McParticle::removeDaughter const SmartRef< McParticle mcPart  ) 
 

Remove daughters when in prune mode.

00124 {
00125     SmartRefVector<Event::McParticle>::iterator daughtIter;
00126     for(daughtIter = m_daughters.begin();daughtIter != m_daughters.end();daughtIter++)
00127     {
00128         if (mcPart == *daughtIter)
00129         {
00130             m_daughters.erase(daughtIter);
00131             break;
00132         }
00133     }
00134     return;
00135 }

void Event::McParticle::setMother const SmartRef< McParticle m  ) 
 

set the mother particle

void Event::McParticle::setMother const SmartRef< McParticle m  ) 
 

set the mother particle

00091 {
00092   m_mother = m;
00093 }

void Event::McParticle::setTrackIndex int  trackIndex  )  [inline]
 

00128 { m_trackIndex = trackIndex; }

void Event::McParticle::setTrackIndex int  trackIndex  )  [inline]
 

00128 { m_trackIndex = trackIndex; }

void Event::McParticle::setVertexIndex0 int  index0  )  [inline]
 

methods for setting and getting vertex indexes

00119 { m_vertexIndex0 = index0; }

void Event::McParticle::setVertexIndex0 int  index0  )  [inline]
 

methods for setting and getting vertex indexes

00119 { m_vertexIndex0 = index0; }

void Event::McParticle::setVertexIndex1 int  index1  )  [inline]
 

00123 { m_vertexIndex1 = index1; }

void Event::McParticle::setVertexIndex1 int  index1  )  [inline]
 

00123 { m_vertexIndex1 = index1; }

unsigned int Event::McParticle::statusFlags  )  const
 

retrieve all of status flags for const object

unsigned int Event::McParticle::statusFlags  )  const
 

retrieve all of status flags for const object

00112                                          {
00113     return m_statusFlags;
00114 }

int Event::McParticle::trackIndex  )  const [inline]
 

00131 {return m_trackIndex;}

int Event::McParticle::trackIndex  )  const [inline]
 

00131 {return m_trackIndex;}

int Event::McParticle::vertexIndex0  )  const [inline]
 

00121 {return m_vertexIndex0;}

int Event::McParticle::vertexIndex0  )  const [inline]
 

00121 {return m_vertexIndex0;}

int Event::McParticle::vertexIndex1  )  const [inline]
 

00125 {return m_vertexIndex1;}

int Event::McParticle::vertexIndex1  )  const [inline]
 

00125 {return m_vertexIndex1;}


Member Data Documentation

SmartRefVector<McParticle> Event::McParticle::m_daughters [private]
 

Vector of pointers to daughter particles.

SmartRefVector<McParticle> Event::McParticle::m_daughters [private]
 

Vector of pointers to daughter particles.

HepLorentzVector Event::McParticle::m_finalFourMomentum [private]
 

Final 4-momentum.

HepLorentzVector Event::McParticle::m_finalPosition [private]
 

Final position.

HepLorentzVector Event::McParticle::m_initialFourMomentum [private]
 

Initial 4-momentum.

HepLorentzVector Event::McParticle::m_initialPosition [private]
 

Initial position.

SmartRef<McParticle> Event::McParticle::m_mother [private]
 

Pointer to mother particle.

SmartRef<McParticle> Event::McParticle::m_mother [private]
 

Pointer to mother particle.

StdHepId Event::McParticle::m_particleID [private]
 

particle property (such as electron or proton or ....) ID

std::string Event::McParticle::m_process [private]
 

String with the process name that poduces this particle.

unsigned long Event::McParticle::m_statusFlags [private]
 

Bit-field status flag.

int Event::McParticle::m_trackIndex [private]
 

int Event::McParticle::m_vertexIndex0 [private]
 

the index for the vertex where the particle starts

int Event::McParticle::m_vertexIndex1 [private]
 

the index for the vertex where the particle stops


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:20:44 2011 for BOSS6.5.5 by  doxygen 1.3.9.1