//----------------------------------------------------------------------------- // Jan 11 2001 P.Murat: MC generator event - input for TGeant //----------------------------------------------------------------------------- #include "TMcGenEvent.hh" ClassImp(TMcGenEvent) //_____________________________________________________________________________ TMcGenEvent::TMcGenEvent(const char* name, const char* tit): TNamed(name,tit) { fNPrimaryInteractions = 0; fListOfPrimaryInteractions = new TObjArray(10); } //_____________________________________________________________________________ TMcGenEvent::~TMcGenEvent() { if (fListOfPrimaryInteractions) { fListOfPrimaryInteractions->Delete(); delete fListOfPrimaryInteractions; } } //_____________________________________________________________________________ TPrimaryInteraction* TMcGenEvent::NextInteraction(const char* Option) { TPrimaryInteraction* interaction; int ni = fListOfPrimaryInteractions->GetEntriesFast(); if (fNPrimaryInteractions < ni) { interaction = PrimaryInteraction(fNPrimaryInteractions); } else { interaction = new TPrimaryInteraction(); fListOfPrimaryInteractions->Add(interaction); } fNPrimaryInteractions++; if (strchr(Option,'i') != 0) { interaction->InitFromHepevt(); } return interaction; } //_____________________________________________________________________________ void TMcGenEvent::Print(Option_t* opt) const { TNamed::Print(opt); printf(" N(interactions) = %5i\n",fNPrimaryInteractions); for (int i=0; i< fNPrimaryInteractions; i++) { PrimaryInteraction(i)->Print(); } } //_____________________________________________________________________________ void TMcGenEvent::Clear(Option_t* opt) { // this is a TObjArray of TClonesArrays TPrimaryInteraction* pi; for (int i=0; iClear(); } fNPrimaryInteractions = 0; } //_____________________________________________________________________________ void TMcGenEvent::Delete(Option_t* opt) { TPrimaryInteraction* pi; for (int i=0; iDelete(); } fListOfPrimaryInteractions->Delete(); fNPrimaryInteractions = 0; }