#include "CbmTrdDigi.h" #include #include using std::endl; using std::stringstream; using std::string; CbmTrdDigi::CbmTrdDigi() : CbmDigi(), fn_FNR_Triggers(0), fAddress(-1), fCharge(-1.), fChargeTR(-1.), fChargeT(0.), fChargeTTR(0.), fTime(-1.), fTriggerType(-1), fInfoType(-1), fStopType(-1), fBufferOverflowCount(-1), fSamples() { } CbmTrdDigi::CbmTrdDigi( Int_t address, Double_t charge, Double_t time, Bool_t padType) : CbmDigi(), fn_FNR_Triggers(0), fAddress(address), fCharge(charge), fChargeTR(-1.), fChargeT(0.), fChargeTTR(0.), fTime(time), fTriggerType(-1), fInfoType(-1), fStopType(-1), fBufferOverflowCount(-1), fSamples() { if(padType) SetTriangular(); } CbmTrdDigi::CbmTrdDigi( Int_t address, Double_t charge, Double_t time, Int_t triggerType, Int_t infoType, Int_t stopType ) : CbmDigi(), fn_FNR_Triggers(0), fAddress(address), fCharge(charge), fChargeTR(-1.), fChargeT(0.), fChargeTTR(0.), fTime(time), fTriggerType(triggerType), fInfoType(infoType), fStopType(stopType), fBufferOverflowCount(-1), fSamples() { } // CbmTrdDigi used for Testbeam fles data format CbmSpadicRawMessage CbmTrdDigi::CbmTrdDigi(Int_t address, Double_t fullTime, Int_t triggerType, Int_t infoType, Int_t stopType, Int_t nrSamples, Float_t* samples) : CbmDigi(), fn_FNR_Triggers(0), fAddress(address), fCharge(0.0), fChargeTR(0.), fChargeT(0.), fChargeTTR(0.), fTime(Double_t(fullTime)), fTriggerType(triggerType), fInfoType(infoType), fStopType(stopType), fBufferOverflowCount(-1), fSamples() { for (Int_t i = 0; i < nrSamples; ++i) { fSamples.push_back(samples[i]); } } CbmTrdDigi::~CbmTrdDigi() { } string CbmTrdDigi::ToString() const { stringstream ss; ss << "CbmTrdDigi: address=" << fAddress ; if(IsTriangular()) ss<<" charge="<