// --------------------------------------------------------------------------------- // ----- PndSttUnpack ----- // ----- Author: S.Costanza ----- // --------------------------------------------------------------------------------- //ROOT headers #include "TClonesArray.h" #include "TH1F.h" #include "TMath.h" //Fair heaeders #include "FairRootManager.h" #include "FairRunOnline.h" #include "FairLogger.h" #include "FairSttSource.h" //Stt headers #include "PndSttRawHit.h" #include "PndSttUnpack.h" #include using std::cout; using std::endl; //PndSttUnpack: Constructor PndSttUnpack::PndSttUnpack(char *strCalDir, Short_t type, Short_t subType, Short_t procId, Short_t subCrate, Short_t control) : FairUnpack(type, subType, procId, subCrate, control), fRawData(new TClonesArray("PndSttRawHit")) { } PndSttUnpack::PndSttUnpack() : fRawData(new TClonesArray("PndSttRawHit")) { } //Virtual PndSttUnpack: Public method PndSttUnpack::~PndSttUnpack() { delete fRawData; } //Init: Public method Bool_t PndSttUnpack::Init() { Register(); return kTRUE; } //Register: Protected method void PndSttUnpack::Register() { FairRootManager *fMan = FairRootManager::Instance(); if(! fMan) { return; } fMan->Register("SttRawHit", "Raw data from Stt", fRawData, kTRUE); } //DoUnpack: Public method Bool_t PndSttUnpack::DoUnpack(Int_t *data, Int_t size) { return kTRUE; } Bool_t PndSttUnpack::DoUnpack(Int_t nhits, TMatrixT HitInfo) { Int_t evNum; // global event number Int_t layer; // layer number Int_t tube; // tube number Float_t raw_led; // raw leading edge discriminator [ns] Float_t raw_zct; // raw zero crossing time [ns] Float_t raw_cfd; // raw constant fraction discriminator [ns] Float_t raw_ampl; // raw pulse amplitude (first maximum) [bins - a.u.] Float_t raw_de; // raw energy loss (pulse area) [bins - a.u.] Float_t fpga_led; // fpga leading edge discriminator [ns] Float_t fpga_zct; // fpga zero crossing time [ns] Float_t fpga_cfd; // fpga constant fraction discriminator [ns] Float_t fpga_ampl; // fpga pulse amplitude (first maximum) [bins - a.u.] Float_t fpga_de; // fpga energy loss (pulse area) [bins - a.u.] for (Int_t i=0; iClear(); } ClassImp(PndSttUnpack)