/////////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////////// #include "Stntuple/obj/TPhoenixElectronBlock.hh" ClassImp(TPhoenixElectronBlock) //______________________________________________________________________________ void TPhoenixElectronBlock::Streamer(TBuffer &R__b) { // Stream an object of class TPhoenixElectronBlock as fast as possible // v3: adds list of tower links if (R__b.IsReading()) { Version_t R__v = R__b.ReadVersion(); if (R__v) { } //----------------------------------------------------------------------------- // read section, current version = 1 //----------------------------------------------------------------------------- R__b >> fNElectrons; if (fNElectrons > 0) { R__b >> fNHpte; fElectronList->Streamer(R__b); fCprLinkTrk->Streamer(R__b); fCprLinkCes->Streamer(R__b); fTrkLink->Streamer(R__b); fPhoenixSiTrkLink[0]->Streamer(R__b); fPhoenixSiTrkLink[1]->Streamer(R__b); fTowerLinkList->Streamer(R__b); // fOriginalElectron.Streamer(R__b); fOriginalElectron->Streamer(R__b); } } else { //----------------------------------------------------------------------------- // write section, current version = 3 //----------------------------------------------------------------------------- R__b.WriteVersion(TPhoenixElectronBlock::IsA()); R__b << fNElectrons; if (fNElectrons > 0) { R__b << fNHpte; fElectronList->Streamer(R__b); fCprLinkTrk->Streamer(R__b); fCprLinkCes->Streamer(R__b); fTrkLink->Streamer(R__b); fPhoenixSiTrkLink[0]->Streamer(R__b); fPhoenixSiTrkLink[1]->Streamer(R__b); fTowerLinkList->Streamer(R__b); // fOriginalElectron.Streamer(R__b); fOriginalElectron->Streamer(R__b); } } } //_____________________________________________________________________________ TPhoenixElectronBlock::TPhoenixElectronBlock() { fNElectrons = 0; fElectronList = new TClonesArray("TStnElectron",10); fElectronList->BypassStreamer(kFALSE); fCprLinkCes = new TStnLinkBlock(); fCprLinkTrk = new TStnLinkBlock(); fTrkLink = new TStnLinkBlock(); fPhoenixSiTrkLink[0] = new TStnLinkBlock(); fPhoenixSiTrkLink[1] = new TStnLinkBlock(); fTowerLinkList = new TStnLinkBlock(); fOriginalElectron = new TStnLinkBlock(); } //_____________________________________________________________________________ TPhoenixElectronBlock::~TPhoenixElectronBlock() { fElectronList->Delete(); delete fElectronList; delete fCprLinkCes; delete fCprLinkTrk; delete fTrkLink; delete fPhoenixSiTrkLink[0]; delete fPhoenixSiTrkLink[1]; delete fTowerLinkList; delete fOriginalElectron; } //_____________________________________________________________________________ void TPhoenixElectronBlock::Clear(const char* opt) { fLinksInitialized = 0; fNElectrons = 0; fElectronList->Clear(); fCprLinkCes->Clear(opt); fCprLinkTrk->Clear(opt); fTrkLink->Clear(opt); fPhoenixSiTrkLink[0]->Clear(opt); fPhoenixSiTrkLink[1]->Clear(opt); fTowerLinkList->Clear(); //fOriginalElectron.Clear(); fOriginalElectron->Clear(opt); } //_____________________________________________________________________________ void TPhoenixElectronBlock::Print(const char* opt) const { // print method int banner_printed = 0; for (int i=0; iPrint("banner"); banner_printed = 1; } e->Print("data"); } }