/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* * File: CbmTofTBClusterizer.h * Author: tablyaz * * Created on December 6, 2016, 11:29 AM */ #ifndef CBMTOFTBCLUSTERIZER_H #define CBMTOFTBCLUSTERIZER_H #include "FairTask.h" #include "CbmTofDigiExp.h" #include "CbmTofGeoHandler.h" #include "CbmTofDetectorId_v12b.h" #include "CbmTofDetectorId_v14a.h" #include "CbmTofDigiPar.h" #include "CbmTofCell.h" #include "CbmTofDigiBdfPar.h" #include "TClonesArray.h" class CbmTofTBClusterizer : public FairTask { public: struct ChannelDigis { ChannelDigis() : topDigis(), bottomDigis(), digiPairs() {}; struct DigiDesc { CbmTofDigiExp* pDigi; Int_t digiInd; }; struct DigiPair { Double_t y; DigiDesc topDigi; DigiDesc bottomDigi; }; std::map topDigis; std::map bottomDigis; std::map digiPairs; }; CbmTofTBClusterizer(); InitStatus Init(); void SetParContainers(); void Exec(Option_t* option); void Finish(); private: Bool_t InitCalibParameter(); void GetEventInfo(Int_t& inputNr, Int_t& eventNr, Double_t& eventTime); private: CbmTofGeoHandler* fGeoHandler; CbmTofDetectorId* fTofId; CbmTofDigiPar* fDigiPar; CbmTofCell* fChannelInfo; CbmTofDigiBdfPar* fDigiBdfPar; std::vector > fvCPSigPropSpeed; //[nSMT][nRpc] std::vector< std::vector > > > fvCPDelTof; //[nSMT][nRpc][nbClDelTofBinX][nbTrg] std::vector< std::vector > > > fvCPTOff; //[nSMT][nRpc][nCh][nbSide] std::vector< std::vector > > > fvCPTotGain; //[nSMT][nRpc][nCh][nbSide] std::vector< std::vector > > > > fvCPWalk; //[nSMT][nRpc][nCh][nbSide][nbWalkBins] TClonesArray* fTofDigis; TClonesArray* fTofPoints; TClonesArray* fTofHits; TClonesArray* fTofDigiMatchs; //std::vector > > > fStorDigiExp; //[nbType][nbSm*nbRpc][nbCh]{nDigis} std::vector > > fStorDigiExp; std::vector >, std::map > >, std::map , std::pair > > > > > > > fStorDigiExpOld;//[nbType][nbSm*nbRpc][nbCh]<[->|nTopDigis][->|nBottomDigis]> Double_t fOutTimeFactor; /** Make copy constructor and copy operator private to avoid warning due to pointer members **/ CbmTofTBClusterizer(const CbmTofTBClusterizer&); CbmTofTBClusterizer& operator=(const CbmTofTBClusterizer&); ClassDef(CbmTofTBClusterizer, 1); }; #endif /* CBMTOFTBCLUSTERIZER_H */