//*-- Author : RafaƂ Lalik //*-- Created : 01.06.2016 //_HADES_CLASS_DESCRIPTION ///////////////////////////////////////////////////////////// // HFRpcRawSim // // This class contains Forward Rpc detector Raw data // ///////////////////////////////////////////////////////////// #include "hfrpcraw.h" ClassImp(HFRpcRaw) HFRpcRaw::HFRpcRaw() { // fTrack = -1; nHitsNumN = 0; nHitsNumF = 0; fSector = fColumn = -1; for (Int_t i = 0; i < FRPC_MAX_HITS; ++i) { fTimeN[i] = fTimeF[i] = -1000.F; fChargeN[i] = fChargeF[i] = -1000.F; } } void HFRpcRaw::getAddress(Char_t &m, Char_t &l, Char_t &s) const { m = fSector; l = fColumn; s = fStrip; } void HFRpcRaw::setAddress(Char_t m, Char_t l, Char_t s) { fSector = m; fColumn = l; fStrip = s; } Bool_t HFRpcRaw::getTimeAndWidthN(Int_t n, Float_t &t, Float_t &q) const { if (n < nHitsNumN) { t = fTimeN[n]; q = fChargeN[n]; return kTRUE; } else { t = -1000.F; q = -1000.F; return kFALSE; } } Bool_t HFRpcRaw::getTimeAndWidthF(Int_t n, Float_t &t, Float_t &q) const { if (n < nHitsNumF) { t = fTimeF[n]; q = fChargeF[n]; return kTRUE; } else { t = -1000.F; q = -1000.F; return kFALSE; } } Bool_t HFRpcRaw::setTimeAndWidthN(Int_t n, Float_t t, Float_t q) { if (n >= 0 && n < nHitsNumN) { fTimeN[n] = t; fChargeN[n] = q; return kTRUE; } return kFALSE; } Bool_t HFRpcRaw::setTimeAndWidthF(Int_t n, Float_t t, Float_t q) { if (n >= 0 && n < nHitsNumF) { fTimeF[n] = t; fChargeF[n] = q; return kTRUE; } return kFALSE; } Bool_t HFRpcRaw::addTimeAndWidthN(Float_t t, Float_t q) { if (nHitsNumN < FRPC_MAX_HITS) { fTimeN[(Int_t)nHitsNumN] = t; fChargeN[(Int_t)nHitsNumN] = q; ++nHitsNumN; return kTRUE; } return kFALSE; } Bool_t HFRpcRaw::addTimeAndWidthF(Float_t t, Float_t q) { if (nHitsNumF < FRPC_MAX_HITS) { fTimeF[(Int_t)nHitsNumF] = t; fChargeF[(Int_t)nHitsNumF] = q; ++nHitsNumF; return kTRUE; } return kFALSE; } void HFRpcRaw::print() const { printf(" RPC RAW: mod=%d col=%d strip=%d:\n", fSector, fColumn, fStrip); printf(" near :"); for (Int_t i = 0; i < nHitsNumN; ++i) { printf(" hit %d : t=%f q=%f ", i, fTimeN[i], fChargeN[i]); } printf("\n far:"); for (Int_t i = 0; i < nHitsNumF; ++i) { printf(" hit %d : t=%f q=%f ", i, fTimeF[i], fChargeF[i]); } printf("\n"); }