#include <McEvent.h>
Public Member Functions | |
| McEvent () | |
| virtual | ~McEvent () |
| void | Clear (Option_t *option="") |
| clear lists, free pointers, etc., after read from / write to file | |
| void | Fake (Int_t ievent, Int_t irun, Float_t randNum) |
| Bool_t | CompareToFake (Int_t ievent, Int_t irun, Float_t randNum) |
| void | Print (Option_t *option="") const |
| void | initialize (UInt_t nEvent, UInt_t nRun, Int_t sourceId, UInt_t sequence, Double_t timeStamp, const TString &str) |
| void | initSourceName (const TString &str) |
| UInt_t | getEventId () const |
| UInt_t | getRunId () const |
| Int_t | getSourceId () const |
| UInt_t | getSequence () const |
| const char * | getSourceName () const |
| const TString & | getSourceNameAsTString () const |
| void | addMcParticle (McParticle *pPart) |
| add a McParticle to list | |
| UInt_t | getMcParticleCount () const |
| retrieve number of McParticles stored in the collection | |
| McParticle * | getMcParticle (UInt_t index) const |
| get particle from list at index | |
| TObjArray * | getMcParticleCol () const |
| return the full TObjArray containing McParticles | |
| void | clearMcParticleCol () |
| clear of the array (necessary for converters) | |
| void | addMcPositionHit (McPositionHit *hit) |
| store a new McPositionHit in the collection | |
| McPositionHit * | getMcPositionHit (UInt_t index) const |
| return a McPositionHit corresponding to index | |
| UInt_t | getMcPositionHitCount () const |
| return the number of McPositionHits stored in the collection | |
| const TObjArray * | getMcPositionHitCol () const |
| return the full TObjArray containing McPositionHits | |
| void | clearMcPositionHitCol () |
| clear of the array (necessary for converters) | |
| void | addMcTkrStrip (McTkrStrip *hit) |
| store a new McTkrStrip in the collection | |
| McTkrStrip * | getMcTkrStrip (UInt_t index) const |
| return a McTkrStrip corresponding to index | |
| UInt_t | getMcTkrStripCount () const |
| return the number of McTkrStrips stored in the collection | |
| const TObjArray * | getMcTkrStripCol () const |
| return the full TObjArray containing McTkrStrips | |
| void | clearMcTkrStripCol () |
| clear of the array (necessary for converters) | |
| void | addMcIntegratingHit (McIntegratingHit *hit) |
| add a new McIntegratingHit to the collection | |
| McIntegratingHit * | getMcIntegratingHit (UInt_t index) const |
| return a McIntegrating hit corresponding to the index | |
| UInt_t | getIntegratingHitCount () const |
| return the number of McIntegratingHits stored in the collection | |
| const TObjArray * | getMcIntegratingHitCol () const |
| return the full TObjArray containing McIntegratingHits | |
| void | clearMcIntegratingHitCol () |
| clear of the array (necessary for converters) | |
| void | addMcTrajectory (McTrajectory *trajectory) |
| store a new McTrajectory in the collection | |
| McTrajectory * | getMcTrajectory (UInt_t index) const |
| return a MMcTrajectory corresponding to index | |
| UInt_t | getMcTrajectoryCount () const |
| return the number of McTrajectories stored in the collection | |
| const TObjArray * | getMcTrajectoryCol () const |
| return the full TObjArray containing McPositionHits | |
| void | clearMcTrajectoryCol () |
| clear of the array (necessary for converters) | |
| Double_t | getTimeStamp () const |
| time stamp stuff here | |
Private Attributes | |
| UInt_t | m_eventId |
| unique event id for this run | |
| UInt_t | m_runId |
| Run number. | |
| Int_t | m_sourceId |
| UInt_t | m_sequence |
| Sequence number. | |
| Double_t | m_timeStamp |
| Time in seconds. | |
| TObjArray * | m_particleCol |
| Collection of McParticles Must be TObjArray due to TRefArray which grows dynamically. | |
| TObjArray * | m_integratingHitCol |
| Collection of McIntegratingHits must be a TObjArray due to map in McIntegratingHit. | |
| TObjArray * | m_positionHitCol |
| Collection of McPositionHits. | |
| TObjArray * | m_trajectoryCol |
| Collection of McTrajectories. | |
| TString | m_sourceName |
| name for the source, hopefully unique | |
| TObjArray * | m_tkrStripCol |
| Collection of McTkrStrips. | |
Static Private Attributes | |
| TObjArray * | m_staticParticleCol = 0 |
| static array to allow one-time array creation | |
| TObjArray * | m_staticIntegratingHitCol = 0 |
| static array to allow one-time array creation | |
| TObjArray * | m_staticPositionHitCol = 0 |
| static array to allow one-time array creation | |
| TObjArray * | m_staticTrajectoryCol = 0 |
| static array to allow one-time array creation | |
| TObjArray * | m_staticTkrStripCol = 0 |
| static array to allow one-time array creation | |
The McEvent class contains all the information about a single MC simulated event. This class contains:
Definition at line 95 of file McEvent.h.
|
|
|
|
|
|
add a new McIntegratingHit to the collection
Definition at line 181 of file McEvent.cxx. References m_integratingHitCol. Referenced by Fake().
00181 {
00182 m_integratingHitCol->Add(hit);
00183 return;
00184 }
|
|
|
add a McParticle to list
Definition at line 152 of file McEvent.cxx. References m_particleCol. Referenced by Fake().
00152 {
00153 m_particleCol->Add(part);
00154 return;
00155 }
|
|
|
store a new McPositionHit in the collection
Definition at line 161 of file McEvent.cxx. References m_positionHitCol. Referenced by Fake().
00161 {
00162 m_positionHitCol->Add(hit);
00163 return;
00164 }
|
|
|
store a new McTkrStrip in the collection
Definition at line 171 of file McEvent.cxx. References m_tkrStripCol.
00171 {
00172 m_tkrStripCol->Add(strip);
00173 return;
00174 }
|
|
|
store a new McTrajectory in the collection
Definition at line 190 of file McEvent.cxx. References m_trajectoryCol. Referenced by Fake().
00190 {
00191 m_trajectoryCol->Add(hit);
00192 return;
00193 }
|
|
|
clear lists, free pointers, etc., after read from / write to file
Definition at line 93 of file McEvent.cxx. References McObjectManager::Delete(), McObjectManager::getPointer(), m_eventId, m_integratingHitCol, m_particleCol, m_positionHitCol, m_runId, m_sourceName, m_tkrStripCol, and m_trajectoryCol. Referenced by Fake().
00093 {
00094
00095
00096 m_eventId = 0;
00097 m_runId = 0;
00098 m_sourceName = sourceUnknownStr;
00099
00100 if (option) {
00101 TString optStr(option);
00102 if (optStr.CompareTo("ALL")==0) {
00103 if (m_particleCol) m_particleCol->Clear();
00104 if (m_positionHitCol) m_positionHitCol->Clear();
00105 if (m_integratingHitCol) m_integratingHitCol->Clear();
00106 if (m_trajectoryCol) m_trajectoryCol->Clear();
00107 return;
00108 }
00109 }
00110
00111 // Tell the MC object manager to reset its iterators
00112 McObjectManager::getPointer()->Delete();
00113
00114 if (m_particleCol) {
00115 m_particleCol->Clear();
00116 }
00117
00118 if (m_positionHitCol) {
00119 m_positionHitCol->Clear();
00120 }
00121
00122 if (m_tkrStripCol)
00123 {
00124 m_tkrStripCol->SetOwner();
00125 m_tkrStripCol->Clear();
00126 }
00127
00128 if (m_integratingHitCol) {
00129 m_integratingHitCol->Clear();
00130 }
00131
00132 if (m_trajectoryCol)
00133 {
00134 m_trajectoryCol->Clear();
00135 }
00136 }
|
|
|
clear of the array (necessary for converters)
Definition at line 175 of file McEvent.h. References m_integratingHitCol.
00175 { m_integratingHitCol->Clear(); };
|
|
|
clear of the array (necessary for converters)
Definition at line 136 of file McEvent.h. References m_particleCol.
00136 { m_particleCol->Clear(); };
|
|
|
clear of the array (necessary for converters)
Definition at line 149 of file McEvent.h. References m_positionHitCol.
00149 { m_positionHitCol->Clear(); };
|
|
|
clear of the array (necessary for converters)
Definition at line 162 of file McEvent.h. References m_tkrStripCol.
00162 { m_tkrStripCol->Clear(); };
|
|
|
clear of the array (necessary for converters)
Definition at line 188 of file McEvent.h. References m_trajectoryCol.
00188 { m_trajectoryCol->Clear(); };
|
|
||||||||||||||||
|
Definition at line 245 of file McEvent.cxx. References McIntegratingHit::addEnergyItem(), McTrajectory::Fake(), McIntegratingHit::Fake(), McPositionHit::Fake(), McParticle::Fake(), getEventId(), McParticle::getFinalPosition(), getMcIntegratingHitCol(), getMcParticle(), getMcParticleCol(), getMcPositionHitCol(), getMcTrajectoryCol(), getRunId(), getSequence(), getSourceId(), getSourceName(), getTimeStamp(), NUM_ENTRIES, SEQUENCE, and SOURCE_ID. Referenced by read().
00245 {
00246
00247 bool result = true ;
00248
00249 result = rootdatautil::CompareInRange(getEventId(),(UInt_t)iEvent,"EventId") && result ;
00250 result = rootdatautil::CompareInRange(getRunId(),(UInt_t)iRun,"RunId") && result ;
00251 result = rootdatautil::CompareInRange(getSourceId(),SOURCE_ID,"SourceId") && result ;
00252 result = rootdatautil::CompareInRange(getSequence(),SEQUENCE,"Sequence") && result ;
00253 result = rootdatautil::CompareInRange(getTimeStamp(),iEvent*1.0,"TimeStamp") && result ;
00254 result = rootdatautil::CompareInRange(getSourceName(),sourceUnknownStr.Data(),"SourceName") && result ;
00255
00256 TObjArray refParticleCol ;
00257 TObjArray refPositionHitCol ;
00258 TObjArray refIntHitCol ;
00259 TObjArray refTrajectoryCol ;
00260
00261 UInt_t iEntry ;
00262 for ( iEntry=0 ; iEntry<NUM_ENTRIES ; ++iEntry ) {
00263
00264 McParticle * particle = getMcParticle(iEntry) ;
00265
00266 McParticle * mcPart = new McParticle();
00267 mcPart->Fake(iEvent,iEntry,randNum) ;
00268 refParticleCol.Add(mcPart) ;
00269
00270 McPositionHit * posHit = new McPositionHit() ;
00271 posHit->Fake(iEvent,iEntry,randNum) ;
00272 refPositionHitCol.Add(posHit) ;
00273
00274 McIntegratingHit *intHit = new McIntegratingHit();
00275 intHit->Fake(iEvent,iEntry,randNum) ;
00276 intHit->addEnergyItem(1.5,particle,particle->getFinalPosition()) ;
00277 refIntHitCol.Add(intHit) ;
00278
00279 McTrajectory *trajectory = new McTrajectory() ;
00280 trajectory->Fake(iEvent,iEntry,randNum) ;
00281 refTrajectoryCol.Add(trajectory) ;
00282
00283 }
00284
00285 result = rootdatautil::TObjArrayCompareInRange<McParticle>(getMcParticleCol(),&refParticleCol,"McParticle") && result ;
00286 result = rootdatautil::TObjArrayCompareInRange<McPositionHit>(getMcPositionHitCol(),&refPositionHitCol,"McPositionHit") && result ;
00287 result = rootdatautil::TObjArrayCompareInRange<McIntegratingHit>(getMcIntegratingHitCol(),&refIntHitCol,"McIntegratingHit") && result ;
00288 result = rootdatautil::TObjArrayCompareInRange<McTrajectory>(getMcTrajectoryCol(),&refTrajectoryCol,"McTrajectory") && result ;
00289
00290 std::string name = "McEvent" ;
00291
00292 if (!result) {
00293 if ( name == "" ) {
00294 std::cout<<"Comparison ERROR for "<<ClassName()<<std::endl ;
00295 }
00296 else {
00297 std::cout<<"Comparison ERROR for "<<name<<std::endl ;
00298 }
00299 }
00300 return result ;
00301
00302 }
|
|
||||||||||||||||
|
Definition at line 212 of file McEvent.cxx. References McIntegratingHit::addEnergyItem(), addMcIntegratingHit(), addMcParticle(), addMcPositionHit(), addMcTrajectory(), Clear(), McTrajectory::Fake(), McIntegratingHit::Fake(), McPositionHit::Fake(), McParticle::Fake(), McParticle::getFinalPosition(), initialize(), NUM_ENTRIES, SEQUENCE, and SOURCE_ID. Referenced by write().
00212 {
00213
00214
00215 Clear() ;
00216
00217 //DC : it is strange that in McEvent ievent and irun
00218 //are unsigned, and not in the usual Fake. I should
00219 //have a look at all kinds of events, and either
00220 //change McEvent or Fake
00221 initialize(ievent,irun,SOURCE_ID,SEQUENCE,ievent*1.0, sourceUnknownStr) ;
00222
00223 UInt_t ientry ;
00224 for ( ientry=0 ; ientry<NUM_ENTRIES ; ++ientry ) {
00225
00226 McParticle * mcPart = new McParticle();
00227 mcPart->Fake(ievent,ientry,randNum) ;
00228 addMcParticle(mcPart) ;
00229
00230 McPositionHit * posHit = new McPositionHit() ;
00231 posHit->Fake(ievent,ientry,randNum) ;
00232 addMcPositionHit(posHit) ;
00233
00234 McIntegratingHit *intHit = new McIntegratingHit();
00235 intHit->Fake(ievent,ientry,randNum) ;
00236 intHit->addEnergyItem(1.5,mcPart,mcPart->getFinalPosition()) ;
00237 addMcIntegratingHit(intHit) ;
00238
00239 McTrajectory *trajectory = new McTrajectory() ;
00240 trajectory->Fake(ievent,ientry,randNum) ;
00241 addMcTrajectory(trajectory) ;
00242 }
00243 }
|
|
|
Definition at line 117 of file McEvent.h. References m_eventId. Referenced by CompareToFake().
00117 { return m_eventId; };
|
|
|
return the number of McIntegratingHits stored in the collection
Definition at line 169 of file McEvent.h. References m_integratingHitCol.
00169 {
00170 return ((m_integratingHitCol) ? m_integratingHitCol->GetEntries() : 0);
00171 };
|
|
|
return a McIntegrating hit corresponding to the index
Definition at line 186 of file McEvent.cxx. References m_integratingHitCol.
00186 {
00187 return ((McIntegratingHit*)m_integratingHitCol->At(index));
00188 }
|
|
|
return the full TObjArray containing McIntegratingHits
Definition at line 173 of file McEvent.h. References m_integratingHitCol. Referenced by CompareToFake().
00173 { return m_integratingHitCol; };
|
|
|
get particle from list at index
Definition at line 157 of file McEvent.cxx. References m_particleCol. Referenced by CompareToFake().
00157 {
00158 return ((McParticle*)m_particleCol->At(index));
00159 }
|
|
|
return the full TObjArray containing McParticles
Definition at line 134 of file McEvent.h. References m_particleCol. Referenced by CompareToFake().
00134 { return m_particleCol; };
|
|
|
retrieve number of McParticles stored in the collection
Definition at line 128 of file McEvent.h. References m_particleCol.
00128 {
00129 return ((m_particleCol) ? m_particleCol->GetEntries() : 0);
00130 };
|
|
|
return a McPositionHit corresponding to index
Definition at line 166 of file McEvent.cxx. References m_positionHitCol.
00166 {
00167
00168 return ((McPositionHit*)m_positionHitCol->At(index));
00169 }
|
|
|
return the full TObjArray containing McPositionHits
Definition at line 147 of file McEvent.h. References m_positionHitCol. Referenced by CompareToFake().
00147 { return m_positionHitCol; };
|
|
|
return the number of McPositionHits stored in the collection
Definition at line 143 of file McEvent.h. References m_positionHitCol.
00143 {
00144 return ((m_positionHitCol) ? m_positionHitCol->GetEntries() : 0);
00145 };
|
|
|
return a McTkrStrip corresponding to index
Definition at line 176 of file McEvent.cxx. References m_tkrStripCol.
00176 {
00177
00178 return ((McTkrStrip*)m_tkrStripCol->At(index));
00179 }
|
|
|
return the full TObjArray containing McTkrStrips
Definition at line 160 of file McEvent.h. References m_tkrStripCol.
00160 { return m_tkrStripCol; };
|
|
|
return the number of McTkrStrips stored in the collection
Definition at line 156 of file McEvent.h. References m_tkrStripCol.
00156 {
00157 return ((m_tkrStripCol) ? m_tkrStripCol->GetEntries() : 0);
00158 };
|
|
|
return a MMcTrajectory corresponding to index
Definition at line 195 of file McEvent.cxx. References m_trajectoryCol.
00195 {
00196
00197 return ((McTrajectory*)m_trajectoryCol->At(index));
00198 }
|
|
|
return the full TObjArray containing McPositionHits
Definition at line 186 of file McEvent.h. References m_trajectoryCol. Referenced by CompareToFake().
00186 { return m_trajectoryCol; };
|
|
|
return the number of McTrajectories stored in the collection
Definition at line 182 of file McEvent.h. References m_trajectoryCol.
00182 {
00183 return ((m_trajectoryCol) ? m_trajectoryCol->GetEntries() : 0);
00184 };
|
|
|
Definition at line 118 of file McEvent.h. References m_runId. Referenced by CompareToFake().
00118 { return m_runId; };
|
|
|
Definition at line 120 of file McEvent.h. References m_sequence. Referenced by CompareToFake().
00120 { return m_sequence; };
|
|
|
Definition at line 119 of file McEvent.h. References m_sourceId. Referenced by CompareToFake().
00119 { return m_sourceId; };
|
|
|
Definition at line 121 of file McEvent.h. References m_sourceName. Referenced by CompareToFake().
00121 { return m_sourceName.Data(); }
|
|
|
Definition at line 122 of file McEvent.h. References m_sourceName.
00122 { return m_sourceName; }
|
|
|
time stamp stuff here
Definition at line 191 of file McEvent.h. References m_timeStamp. Referenced by CompareToFake().
00191 { return m_timeStamp; };
|
|
||||||||||||||||||||||||||||
|
Definition at line 80 of file McEvent.cxx. References m_eventId, m_runId, m_sequence, m_sourceId, m_sourceName, and m_timeStamp. Referenced by Fake().
00082 {
00083 m_eventId = nEvent;
00084 m_runId = nRun;
00085 m_sourceId = sourceId;
00086 m_sequence = sequence;
00087 m_timeStamp = timestamp;
00088 m_sourceName = str;
00089 return;
00090 }
|
|
|
Definition at line 115 of file McEvent.h. References m_sourceName.
00115 { m_sourceName = str; }
|
|
|
Definition at line 138 of file McEvent.cxx. References m_eventId, m_integratingHitCol, m_particleCol, m_positionHitCol, m_runId, m_sourceName, and m_trajectoryCol. Referenced by read().
00138 {
00139 using namespace std;
00140 TObject::Print(option);
00141 std::cout.precision(2);
00142 std::cout << "Run: " << m_runId << " Event: " << m_eventId << std::endl;
00143 std::cout << "SourceName: " << m_sourceName << std::endl;
00144 std::cout << m_particleCol->GetEntries() << " McParticles" << std::endl;
00145 std::cout << m_positionHitCol->GetEntries() << " McPositionHits" << std::endl;
00146 std::cout << m_integratingHitCol->GetEntries()
00147 << " McIntegratingHits" << std::endl;
00148 std::cout << m_trajectoryCol->GetEntries() << " McTrajectories" << std::endl;
00149 }
|
|
|
unique event id for this run
Definition at line 195 of file McEvent.h. Referenced by Clear(), getEventId(), initialize(), and Print(). |
|
|
Collection of McIntegratingHits must be a TObjArray due to map in McIntegratingHit.
Definition at line 219 of file McEvent.h. Referenced by addMcIntegratingHit(), Clear(), clearMcIntegratingHitCol(), getIntegratingHitCount(), getMcIntegratingHit(), getMcIntegratingHitCol(), Print(), and ~McEvent(). |
|
|
Collection of McParticles Must be TObjArray due to TRefArray which grows dynamically.
Definition at line 213 of file McEvent.h. Referenced by addMcParticle(), Clear(), clearMcParticleCol(), getMcParticle(), getMcParticleCol(), getMcParticleCount(), Print(), and ~McEvent(). |
|
|
Collection of McPositionHits.
Definition at line 224 of file McEvent.h. Referenced by addMcPositionHit(), Clear(), clearMcPositionHitCol(), getMcPositionHit(), getMcPositionHitCol(), getMcPositionHitCount(), Print(), and ~McEvent(). |
|
|
Run number.
Definition at line 198 of file McEvent.h. Referenced by Clear(), getRunId(), initialize(), and Print(). |
|
|
Sequence number.
Definition at line 204 of file McEvent.h. Referenced by getSequence(), and initialize(). |
|
|
Definition at line 201 of file McEvent.h. Referenced by getSourceId(), and initialize(). |
|
|
name for the source, hopefully unique
Definition at line 236 of file McEvent.h. Referenced by Clear(), getSourceName(), getSourceNameAsTString(), initialize(), initSourceName(), Print(), and ~McEvent(). |
|
|
static array to allow one-time array creation
Definition at line 21 of file McEvent.cxx. Referenced by ~McEvent(). |
|
|
static array to allow one-time array creation
Definition at line 19 of file McEvent.cxx. Referenced by ~McEvent(). |
|
|
static array to allow one-time array creation
Definition at line 20 of file McEvent.cxx. Referenced by ~McEvent(). |
|
|
static array to allow one-time array creation
Definition at line 23 of file McEvent.cxx. Referenced by ~McEvent(). |
|
|
static array to allow one-time array creation
Definition at line 22 of file McEvent.cxx. Referenced by ~McEvent(). |
|
|
Time in seconds.
Definition at line 207 of file McEvent.h. Referenced by getTimeStamp(), and initialize(). |
|
|
Collection of McTkrStrips.
Definition at line 239 of file McEvent.h. Referenced by addMcTkrStrip(), Clear(), clearMcTkrStripCol(), getMcTkrStrip(), getMcTkrStripCol(), getMcTkrStripCount(), and ~McEvent(). |
|
|
Collection of McTrajectories.
Definition at line 231 of file McEvent.h. Referenced by addMcTrajectory(), Clear(), clearMcTrajectoryCol(), getMcTrajectory(), getMcTrajectoryCol(), getMcTrajectoryCount(), Print(), and ~McEvent(). |
1.3.3