#include #include #include ClassImp(TStnTauBlock) //______________________________________________________________________________ void TStnTauBlock::ReadV1(TBuffer &R__b) { // Read version 1 of class TStnTauBlock. R__b >> fNTaus; R__b >> fNGTau; fTauList->Streamer(R__b); } //______________________________________________________________________________ void TStnTauBlock::Streamer(TBuffer &R__b) { // Stream an object of class TStnTauBlock. if (R__b.IsReading()) { Version_t R__v = R__b.ReadVersion(); if (R__v) { } if (R__v == 1) { ReadV1(R__b); } else { // read current version - V2 R__b >> fNTaus; if (fNTaus > 0) { R__b >> fNGTau; fTauList->Streamer(R__b); fTrackLinkList->Streamer(R__b); fTowerLinkList->Streamer(R__b); fPi0LinkList->Streamer(R__b); } } } else { R__b.WriteVersion(TStnTauBlock::IsA()); R__b << fNTaus; if (fNTaus > 0) { R__b << fNGTau; fTauList->Streamer(R__b); fTrackLinkList->Streamer(R__b); fTowerLinkList->Streamer(R__b); fPi0LinkList->Streamer(R__b); } } } //_____________________________________________________________________________ TStnTauBlock::TStnTauBlock() { fNTaus = 0; fNGTau = 0; fTauList = new TClonesArray("TStnTau",10); fTauList->BypassStreamer(kFALSE); fTrackLinkList = new TStnLinkBlock(); fTowerLinkList = new TStnLinkBlock(); fPi0LinkList = new TStnLinkBlock(); } //_____________________________________________________________________________ TStnTauBlock::~TStnTauBlock() { fTauList->Delete(); delete fTauList; delete fTrackLinkList; delete fTowerLinkList; delete fPi0LinkList; } //_____________________________________________________________________________ void TStnTauBlock::Clear(const char* opt) { fLinksInitialized = 0; fNTaus = 0; fNGTau = 0; fTauList->Clear(); fTrackLinkList->Clear(); fTowerLinkList->Clear(); fPi0LinkList->Clear(); } //_____________________________________________________________________________ void TStnTauBlock::Print(const char* opt) const { printf(" *********** print_taus ********* N(taus): %2i\n",fNTaus); int banner_printed = 0; TStnTauBlock* block = (TStnTauBlock*) this; for (int itau=0; itauTau(itau); if (! banner_printed) { tau->Print("banner"); banner_printed = 1; } tau->Print("data"); } }