/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/McTruth/McTruth-00-02-19/src/McParticle.cxx

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "McTruth/McParticle.h"
00003 
00004 namespace Event {
00005 
00007 McParticle::StdHepId McParticle::particleProperty() const
00008 {
00009   return m_particleID;
00010 }
00011 
00013 bool McParticle::primaryParticle() const
00014 {
00015   return (m_statusFlags & PRIMARY)==PRIMARY;
00016 }
00017 
00019 bool McParticle::leafParticle() const
00020 {
00021   return (m_statusFlags & LEAF)==LEAF;
00022 }
00023 
00025 bool McParticle::decayFromGenerator() const
00026 {
00027   return (m_statusFlags & DECAYED)==DECAYED;
00028 }
00029 
00031 bool McParticle::decayInFlight() const
00032 {
00033   return (m_statusFlags & DECAYFLT)==DECAYFLT;
00034 }
00035 
00036 void McParticle::init( McParticle* mother,         
00037         StdHepId id, 
00038         unsigned int flags,
00039         const HepLorentzVector& initialMomentum,
00040         const HepLorentzVector& finalMomentum,
00041         const HepLorentzVector& initialPosition,
00042         const HepLorentzVector& finalPosition, 
00043         const std::string process)
00044 {
00045   initialize(mother, id, flags, initialMomentum, initialPosition,process);
00046   //finalize(finalMomentum, finalPosition);
00047   finalize(finalPosition);
00048 }
00049 
00050 void McParticle::initialize(      
00051         StdHepId id, 
00052         unsigned int flags,
00053         const HepLorentzVector& initialMomentum,
00054         const HepLorentzVector& initialPosition, const std::string process)
00055 {
00056     m_particleID = id;
00057     m_statusFlags = flags;
00058     m_initialFourMomentum = initialMomentum;
00059     m_initialPosition = initialPosition;
00060     m_process = process;
00061 }
00062 
00063 void McParticle::initialize( McParticle* mother,         
00064         StdHepId id, 
00065         unsigned int flags,
00066         const HepLorentzVector& initialMomentum,
00067         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 }
00077 
00078 /*void McParticle::finalize(const HepLorentzVector& finalMomentum,
00079         const HepLorentzVector& finalPosition)
00080 {
00081     m_finalFourMomentum = finalMomentum;
00082     m_finalPosition = finalPosition;
00083 }*/
00084 
00085 void McParticle::finalize(const HepLorentzVector& finalPosition)
00086 {
00087     m_finalPosition = finalPosition;
00088 }
00089 
00090 void McParticle::setMother(const SmartRef<McParticle> m)
00091 {
00092   m_mother = m;
00093 }
00094 
00095 const HepLorentzVector& McParticle::initialPosition()const
00096 {
00097     return m_initialPosition;
00098 }
00099 const HepLorentzVector& McParticle::finalPosition()const
00100 {
00101     return m_finalPosition;
00102 }
00103 const HepLorentzVector&  McParticle::initialFourMomentum()const
00104 {
00105     return m_initialFourMomentum;
00106 }
00107 /*const HepLorentzVector&  McParticle::finalFourMomentum()const
00108 {
00109     return m_finalFourMomentum;
00110 }*/
00111 
00112 unsigned int McParticle::statusFlags()const{
00113     return m_statusFlags;
00114 }
00115 
00117 const McParticle& McParticle::mother()const
00118 {
00119     return *m_mother;
00120 }
00121 
00123 void McParticle::removeDaughter(const SmartRef<McParticle> mcPart)
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 }
00136 
00137 } // namespace Event

Generated on Tue Nov 29 22:58:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7