BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TMcEvent.cxx
Go to the documentation of this file.
1#include "RootEventData/TMcEvent.h"
2#include "TCollection.h" // Declares TIter
3
5
6// Allocate the TObjArray just once
7TObjArray* TMcEvent::s_staticMdcMcHitCol = 0;
8TObjArray* TMcEvent::s_staticEmcMcHitCol = 0;
9TObjArray* TMcEvent::s_staticTofMcHitCol = 0;
10TObjArray* TMcEvent::s_staticMucMcHitCol = 0;
11TObjArray* TMcEvent::s_staticMcParticleCol = 0;
12// TObject *TMcEvent::s_staticDecayMode = 0;
13
14//***************************************************************
16
17 if ( !s_staticMdcMcHitCol ) { s_staticMdcMcHitCol = new TObjArray(); }
18 m_mdcMcHitCol = s_staticMdcMcHitCol;
19
20 if ( !s_staticEmcMcHitCol ) { s_staticEmcMcHitCol = new TObjArray(); }
21 m_emcMcHitCol = s_staticEmcMcHitCol;
22
23 if ( !s_staticTofMcHitCol ) { s_staticTofMcHitCol = new TObjArray(); }
24 m_tofMcHitCol = s_staticTofMcHitCol;
25
26 if ( !s_staticMucMcHitCol ) { s_staticMucMcHitCol = new TObjArray(); }
27 m_mucMcHitCol = s_staticMucMcHitCol;
28
29 if ( !s_staticMcParticleCol ) { s_staticMcParticleCol = new TObjArray(); }
30 m_mcParticleCol = s_staticMcParticleCol;
31 /*
32 if (! s_staticDecayMode ){
33 s_staticDecayMode = new TObject();
34 }
35 m_decayMode = s_staticDecayMode;
36*/
37 Clear();
38}
39
40//*****************************************************************
42 if ( m_mdcMcHitCol == s_staticMdcMcHitCol ) s_staticMdcMcHitCol = 0;
43 m_mdcMcHitCol->Delete();
44 delete m_mdcMcHitCol;
45 m_mdcMcHitCol = 0;
46
47 if ( m_emcMcHitCol == s_staticEmcMcHitCol ) s_staticEmcMcHitCol = 0;
48 m_emcMcHitCol->Delete();
49 delete m_emcMcHitCol;
50 m_emcMcHitCol = 0;
51
52 if ( m_tofMcHitCol == s_staticTofMcHitCol ) s_staticTofMcHitCol = 0;
53 m_tofMcHitCol->Delete();
54 delete m_tofMcHitCol;
55 m_tofMcHitCol = 0;
56
57 if ( m_mucMcHitCol == s_staticMucMcHitCol ) s_staticMucMcHitCol = 0;
58 m_mucMcHitCol->Delete();
59 delete m_mucMcHitCol;
60 m_mucMcHitCol = 0;
61
62 if ( m_mcParticleCol == s_staticMcParticleCol ) s_staticMcParticleCol = 0;
63 m_mcParticleCol->Delete();
64 delete m_mcParticleCol;
65 m_mcParticleCol = 0;
66 /*
67 if(m_decayMode == s_staticDecayMode ) s_staticDecayMode = 0;
68 m_decayMode->Delete();
69 delete m_decayMode;
70 m_decayMode = 0;
71 */
72}
73
74//*****************************************************************
76
77//*****************************************************************
78void TMcEvent::Clear( Option_t* option ) {}
79
80//*****************************************************************************
81void TMcEvent::Print( Option_t* option ) const { TObject::Print( option ); }
82
83/// Mdc
84void TMcEvent::addMdcMc( TMdcMc* mcHit ) { m_mdcMcHitCol->Add( mcHit ); }
85
86const TMdcMc* TMcEvent::getMdcMc( Int_t i ) const {
87 if ( Int_t( i ) >= m_mdcMcHitCol->GetEntries() ) return 0;
88 return (TMdcMc*)m_mdcMcHitCol->At( i );
89}
90/// Emc
91void TMcEvent::addEmcMc( TEmcMc* mcHit ) { m_emcMcHitCol->Add( mcHit ); }
92
93const TEmcMc* TMcEvent::getEmcMc( Int_t i ) const {
94 if ( Int_t( i ) >= m_emcMcHitCol->GetEntries() ) return 0;
95 return (TEmcMc*)m_emcMcHitCol->At( i );
96}
97
98/// Tof
99void TMcEvent::addTofMc( TTofMc* mcHit ) { m_tofMcHitCol->Add( mcHit ); }
100
101const TTofMc* TMcEvent::getTofMc( Int_t i ) const {
102 if ( Int_t( i ) >= m_tofMcHitCol->GetEntries() ) return 0;
103 return (TTofMc*)m_tofMcHitCol->At( i );
104}
105
106/// Muc
107void TMcEvent::addMucMc( TMucMc* mcHit ) { m_mucMcHitCol->Add( mcHit ); }
108
109const TMucMc* TMcEvent::getMucMc( Int_t i ) const {
110 if ( Int_t( i ) >= m_mucMcHitCol->GetEntries() ) return 0;
111 return (TMucMc*)m_mucMcHitCol->At( i );
112}
113
114/// McParticle
115void TMcEvent::addMcParticle( TMcParticle* mcHit ) { m_mcParticleCol->Add( mcHit ); }
116
117const TMcParticle* TMcEvent::getMcParticle( Int_t i ) const {
118 if ( Int_t( i ) >= m_mcParticleCol->GetEntries() ) return 0;
119 return (TMcParticle*)m_mcParticleCol->At( i );
120}
121/*
122///DecayMode
123void TMcEvent::addDecayMode(TDecayMode * decayMode){
124 m_decayMode = decayMode;
125}
126
127
128const TDecayMode* TMcEvent::getDecayMode() const {
129 return (TDecayMode*)m_decayMode ;
130}
131*/
ClassImp(TMcEvent)
void addMdcMc(TMdcMc *mcHit)
Mdc.
Definition TMcEvent.cxx:84
void addMcParticle(TMcParticle *mcHit)
McParticle.
Definition TMcEvent.cxx:115
void Clear(Option_t *option="")
Definition TMcEvent.cxx:78
void Print(Option_t *option="") const
Definition TMcEvent.cxx:81
const TMdcMc * getMdcMc(Int_t i) const
Definition TMcEvent.cxx:86
void addTofMc(TTofMc *mcHit)
Tof.
Definition TMcEvent.cxx:99
void addEmcMc(TEmcMc *mcHit)
Emc.
Definition TMcEvent.cxx:91
virtual ~TMcEvent()
Definition TMcEvent.cxx:41
const TMcParticle * getMcParticle(Int_t i) const
Definition TMcEvent.cxx:117
void addMucMc(TMucMc *mcHit)
Muc.
Definition TMcEvent.cxx:107
const TEmcMc * getEmcMc(Int_t i) const
Definition TMcEvent.cxx:93
const TMucMc * getMucMc(Int_t i) const
Definition TMcEvent.cxx:109
const TTofMc * getTofMc(Int_t i) const
Definition TMcEvent.cxx:101
void initialize()
Definition TMcEvent.cxx:75