#include "Stntuple/obj/TStnSiGeantIsect.hh" #include #include #include "TClass.h" ClassImp(TStnSiGeantIsect) // For now, do NOT use the default streamer void TStnSiGeantIsect::Streamer(TBuffer &R__b) { if (R__b.IsReading()) { UInt_t R__s, R__c; Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v < 3) { TStnSiGeantIsect::Class()->ReadBuffer(R__b, this); } else { if (R__v>=4) TObject::Streamer(R__b); // Need fUniqueID fDigiCode.Streamer(R__b); fEntryMomentum.Streamer(R__b); fExitMomentum.Streamer(R__b); fEntry.Streamer(R__b); fExit.Streamer(R__b); fActiveRegion.Streamer(R__b); R__b.ReadFastArray(&fDE,4); R__b.ReadFastArray(&fInitPhi,4); } } else { R__b.WriteVersion(TStnSiGeantIsect::IsA()); TObject::Streamer(R__b); fDigiCode.Streamer(R__b); fEntryMomentum.Streamer(R__b); fExitMomentum.Streamer(R__b); fEntry.Streamer(R__b); fExit.Streamer(R__b); fActiveRegion.Streamer(R__b); R__b.WriteFastArray(&fDE,4); R__b.WriteFastArray(&fInitPhi,4); } } TStnSiGeantIsect::TStnSiGeantIsect() : fDigiCode(0), fEntryMomentum(0.0,0.0,0.0,0.0), fExitMomentum(0.0,0.0,0.0,0.0), fEntry(0.0,0.0,0.0),fExit(0.0,0.0,0.0), fDE(0.0),fRadLen(0.0), fPhiStrip(0.0),fZStrip(0.0), fInitPhi(0),fFinalPhi(0), fInitZ(0),fFinalZ(0) { fActiveRegion.Init(8); SetUniqueID(UINT_MAX); } TStnSiGeantIsect::~TStnSiGeantIsect() {} void TStnSiGeantIsect::Print(Option_t* opt) const{ fDigiCode.Print(opt); std::cout << "OBSP# " << GetUniqueID() << ", Entry Momentum (" << fEntryMomentum.E() << "," << fEntryMomentum.Px() << "," << fEntryMomentum.Py() << "," << fEntryMomentum.Pz() << ")" << ", Exit Momentum (" << fExitMomentum.E() << "," << fExitMomentum.Px() << "," << fExitMomentum.Py() << "," << fExitMomentum.Pz() << ")" << ", Entry (" << fEntry.X() << "," << fEntry.Y() << "," << fEntry.Z() << ")" << ", Exit (" << fExit.X() << "," << fExit.Y() << "," << fExit.Z() << ")" << ", DE " << fDE << ", RadLen " << fRadLen << ", ActiveRegion " << fActiveRegion.GetBit(0) << fActiveRegion.GetBit(1) << fActiveRegion.GetBit(2) << fActiveRegion.GetBit(3) << fActiveRegion.GetBit(4) << fActiveRegion.GetBit(5) << fActiveRegion.GetBit(6) << fActiveRegion.GetBit(7) << ", PhiStrip " << fPhiStrip << ", ZStrip " << fZStrip << ", InitPhi " << fInitPhi << ", FinalPhi " << fFinalPhi << ", InitZ " << fInitZ << ", FinalZ " << fFinalZ << std::endl; }