/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RootEventData/RootEventData-00-03-80/src/TMcEvent.cxx

Go to the documentation of this file.
00001 #include "RootEventData/TMcEvent.h"
00002 #include "TCollection.h"  // Declares TIter
00003 
00004 ClassImp(TMcEvent)
00005 
00006 // Allocate the TObjArray just once
00007 TObjArray *TMcEvent::s_staticMdcMcHitCol = 0;
00008 TObjArray *TMcEvent::s_staticEmcMcHitCol = 0;
00009 TObjArray *TMcEvent::s_staticTofMcHitCol = 0;
00010 TObjArray *TMcEvent::s_staticMucMcHitCol = 0;
00011 TObjArray *TMcEvent::s_staticMcParticleCol = 0;
00012 //TObject *TMcEvent::s_staticDecayMode = 0;
00013 
00014 
00015 //***************************************************************
00016 TMcEvent::TMcEvent() 
00017 {
00018 
00019     if (!s_staticMdcMcHitCol) {
00020             s_staticMdcMcHitCol = new TObjArray();
00021     }
00022     m_mdcMcHitCol = s_staticMdcMcHitCol;
00023 
00024     if (!s_staticEmcMcHitCol ){
00025             s_staticEmcMcHitCol = new TObjArray();
00026     }
00027     m_emcMcHitCol = s_staticEmcMcHitCol;
00028     
00029     if (! s_staticTofMcHitCol ){
00030            s_staticTofMcHitCol = new TObjArray();
00031      }
00032      m_tofMcHitCol = s_staticTofMcHitCol;
00033      
00034     if (! s_staticMucMcHitCol ){
00035            s_staticMucMcHitCol = new TObjArray();
00036      }
00037      m_mucMcHitCol = s_staticMucMcHitCol;
00038 
00039      if (! s_staticMcParticleCol ){
00040            s_staticMcParticleCol = new TObjArray();
00041      }
00042      m_mcParticleCol = s_staticMcParticleCol;
00043   /*  
00044     if (! s_staticDecayMode ){
00045            s_staticDecayMode = new TObject();
00046      }
00047      m_decayMode = s_staticDecayMode;
00048 */
00049     Clear();
00050     
00051 }
00052 
00053 //*****************************************************************
00054 TMcEvent::~TMcEvent() {
00055     if(m_mdcMcHitCol == s_staticMdcMcHitCol) s_staticMdcMcHitCol = 0;
00056     m_mdcMcHitCol->Delete();
00057     delete m_mdcMcHitCol;
00058     m_mdcMcHitCol = 0;
00059 
00060     if(m_emcMcHitCol == s_staticEmcMcHitCol) s_staticEmcMcHitCol = 0;
00061     m_emcMcHitCol->Delete();
00062     delete m_emcMcHitCol;
00063     m_emcMcHitCol = 0;
00064 
00065     if(m_tofMcHitCol == s_staticTofMcHitCol ) s_staticTofMcHitCol = 0;
00066     m_tofMcHitCol->Delete();
00067     delete m_tofMcHitCol;
00068     m_tofMcHitCol = 0;
00069     
00070     if(m_mucMcHitCol == s_staticMucMcHitCol ) s_staticMucMcHitCol = 0;
00071     m_mucMcHitCol->Delete();
00072     delete m_mucMcHitCol;
00073     m_mucMcHitCol = 0;
00074 
00075     if(m_mcParticleCol == s_staticMcParticleCol ) s_staticMcParticleCol = 0;
00076     m_mcParticleCol->Delete();
00077     delete m_mcParticleCol;
00078     m_mcParticleCol = 0;
00079 /*
00080     if(m_decayMode == s_staticDecayMode ) s_staticDecayMode = 0;
00081     m_decayMode->Delete();
00082     delete m_decayMode;
00083     m_decayMode = 0;    
00084 */
00085 }
00086 
00087 //*****************************************************************
00088 void TMcEvent::initialize(){ 
00089 
00090 }
00091   
00092 //*****************************************************************
00093 void TMcEvent::Clear(Option_t *option) {
00094 
00095 }
00096 
00097 //*****************************************************************************
00098 void TMcEvent::Print(Option_t *option) const {
00099     TObject::Print(option);
00100 }
00101 
00103 void TMcEvent::addMdcMc(TMdcMc *mcHit) {
00104     m_mdcMcHitCol->Add(mcHit);
00105 }
00106 
00107 const TMdcMc* TMcEvent::getMdcMc(Int_t i) const {
00108     if (Int_t(i) >= m_mdcMcHitCol->GetEntries()) 
00109             return 0;
00110     return (TMdcMc*)m_mdcMcHitCol->At(i);
00111 }
00113 void TMcEvent::addEmcMc(TEmcMc * mcHit) {
00114     m_emcMcHitCol->Add(mcHit);
00115 }
00116 
00117 const TEmcMc* TMcEvent::getEmcMc( Int_t i) const {
00118     if(Int_t(i) >= m_emcMcHitCol->GetEntries())
00119            return 0;
00120     return (TEmcMc*)m_emcMcHitCol->At(i);
00121 }
00122 
00124 void  TMcEvent::addTofMc(TTofMc * mcHit){
00125     m_tofMcHitCol->Add(mcHit);
00126 }
00127 
00128 
00129 const TTofMc*  TMcEvent::getTofMc(Int_t i) const {
00130         if(Int_t(i) >=m_tofMcHitCol->GetEntries())
00131                 return 0;
00132         return (TTofMc*) m_tofMcHitCol->At(i);
00133 }
00134 
00136 void  TMcEvent::addMucMc(TMucMc * mcHit){
00137     m_mucMcHitCol->Add(mcHit);
00138 }
00139 
00140 
00141 const TMucMc*  TMcEvent::getMucMc(Int_t i) const {
00142         if(Int_t(i) >=m_mucMcHitCol->GetEntries())
00143                 return 0;
00144         return (TMucMc*) m_mucMcHitCol->At(i);
00145 }
00146 
00148 void  TMcEvent::addMcParticle(TMcParticle * mcHit){
00149     m_mcParticleCol->Add(mcHit);
00150 }
00151 
00152 
00153 const TMcParticle*  TMcEvent::getMcParticle(Int_t i) const {
00154         if(Int_t(i) >=m_mcParticleCol->GetEntries())
00155                 return 0;
00156         return (TMcParticle*) m_mcParticleCol->At(i);
00157 }
00158 /*
00160 void  TMcEvent::addDecayMode(TDecayMode * decayMode){
00161     m_decayMode = decayMode;
00162 }
00163 
00164 
00165 const TDecayMode*  TMcEvent::getDecayMode() const {
00166         return (TDecayMode*)m_decayMode ;
00167 }
00168 */

Generated on Tue Nov 29 23:11:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7