//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Storage of all available PID information for a // given track // // // // Environment: // Software developed for GEM-TPC detector in FOPI. // // Author List: // Felix Boehmer TUM (original author) // // //----------------------------------------------------------- #include "FopiPidInfo.h" ClassImp(FopiPidInfo) FopiPidInfo::FopiPidInfo(unsigned int runNr) : fHasTpc(false), fHasCdc(false), fHasBar(false), fHasRpc(false), fRun(runNr), fTpcdEdx(0.), fCdcdEdx(0.), fBarVel(0.), fRpcVel(0.), fTpcdEdxCO(0.), fCdcdEdxCO(0.), fBarVelCO(0.), fRpcVelCO(0.) {;} void FopiPidInfo::setTpcdEdx(double val, double CO) { fTpcdEdx=val; fTpcdEdxCO=CO; fHasTpc=true; } void FopiPidInfo::setCdcdEdx(double val, double CO) { fCdcdEdx=val; fCdcdEdxCO=CO; fHasCdc=true; } void FopiPidInfo::setBarVel(double val, double CO) { fBarVel=val; fBarVelCO=CO; fHasBar=true; } void FopiPidInfo::setRpcVel(double val, double CO) { fRpcVel=val; fRpcVelCO=CO; fHasRpc=true; } double FopiPidInfo::getTpcdEdx() const { if(fHasTpc) return fTpcdEdx; else return -1.; } double FopiPidInfo::getCdcdEdx() const { if(fHasCdc) return fCdcdEdx; else return -1.; } double FopiPidInfo::getBarVel() const { if(fHasBar) return fBarVel; else return -1.; } double FopiPidInfo::getRpcVel() const { if(fHasRpc) return fRpcVel; else return -1.; } unsigned int FopiPidInfo::getRunNr() const { return fRun; } double FopiPidInfo::getVal(const TString& det) const { if(det.EqualTo("tpc")) return fTpcdEdx; if(det.EqualTo("cdc")) return fCdcdEdx; if(det.EqualTo("bar")) return fBarVel; if(det.EqualTo("rpc")) return fRpcVel; } double FopiPidInfo::getCO(const TString& det) const { if(det.EqualTo("tpc")) return fTpcdEdxCO; if(det.EqualTo("cdc")) return fCdcdEdxCO; if(det.EqualTo("bar")) return fBarVelCO; if(det.EqualTo("rpc")) return fRpcVelCO; } void FopiPidInfo::setVal(const TString& det, double val, double CO) { if(det.EqualTo("tpc")) this->setTpcdEdx(val,CO); if(det.EqualTo("cdc")) this->setCdcdEdx(val,CO); if(det.EqualTo("bar")) this->setBarVel(val,CO); if(det.EqualTo("rpc")) this->setRpcVel(val,CO); } bool FopiPidInfo::hasVal(const TString& det) const { if(det.EqualTo("tpc")) return this->hasTpc(); if(det.EqualTo("cdc")) return this->hasCdc(); if(det.EqualTo("bar")) return this->hasBar(); if(det.EqualTo("rpc")) return this->hasRpc(); return false; } void FopiPidInfo::clear() { fHasTpc = false; fHasCdc = false; fHasBar = false; fHasRpc = false; }