CbmRoot
Loading...
Searching...
No Matches
CbmTofTBClusterizer.h
Go to the documentation of this file.
1/* Copyright (C) 2016-2019 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Timur Ablyazimov, Pierre-Alain Loizeau [committer], Volker Friese */
4
5#ifndef CBMTOFTBCLUSTERIZER_H
6#define CBMTOFTBCLUSTERIZER_H
7
8#include "CbmTofCell.h"
11#include "CbmTofDigiBdfPar.h"
12#include "CbmTofDigiExp.h"
13#include "CbmTofDigiPar.h"
14#include "CbmTofGeoHandler.h"
15#include "FairTask.h"
16#include "TClonesArray.h"
17
18
19class CbmTofTBClusterizer : public FairTask {
20 public:
21 struct ChannelDigis {
23
24 struct DigiDesc {
25 CbmTofDigiExp* pDigi;
26 Int_t digiInd;
27 };
28
34
35 std::map<Double_t, DigiDesc> topDigis;
36 std::map<Double_t, DigiDesc> bottomDigis;
37 std::map<Double_t, DigiPair> digiPairs;
38 };
39
41 InitStatus Init();
42 void SetParContainers();
43 void Exec(Option_t* option);
44 void Finish();
45
46 private:
47 Bool_t InitCalibParameter();
48 void GetEventInfo(Int_t& inputNr, Int_t& eventNr, Double_t& eventTime);
49
50 private:
56 std::vector<std::vector<Double_t>> fvCPSigPropSpeed; //[nSMT][nRpc]
57 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPDelTof; //[nSMT][nRpc][nbClDelTofBinX][nbTrg]
58 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPTOff; //[nSMT][nRpc][nCh][nbSide]
59 std::vector<std::vector<std::vector<std::vector<Double_t>>>> fvCPTotGain; //[nSMT][nRpc][nCh][nbSide]
60 std::vector<std::vector<std::vector<std::vector<std::vector<Double_t>>>>>
61 fvCPWalk; //[nSMT][nRpc][nCh][nbSide][nbWalkBins]
62 TClonesArray* fTofDigis;
63 TClonesArray* fTofPoints;
64 TClonesArray* fTofHits;
65 TClonesArray* fTofDigiMatchs;
66 //std::vector<std::vector<std::vector<std::list<CbmTofDigiExp*> > > > fStorDigiExp; //[nbType][nbSm*nbRpc][nbCh]{nDigis}
67
68
69 std::vector<std::vector<std::vector<ChannelDigis>>> fStorDigiExp;
70
71 std::vector<std::vector<
72 std::vector<std::pair<std::pair<std::map<Double_t, std::pair<CbmTofDigiExp*, Int_t>>,
73 std::map<Double_t, std::pair<CbmTofDigiExp*, Int_t>>>,
74 std::map<Double_t, std::pair<Double_t, std::pair<std::pair<CbmTofDigiExp*, Int_t>,
75 std::pair<CbmTofDigiExp*, Int_t>>>>>>>>
76 fStorDigiExpOld; //[nbType][nbSm*nbRpc][nbCh]<[->|nTopDigis][->|nBottomDigis]>
77
79
83
85};
86
87#endif /* CBMTOFTBCLUSTERIZER_H */
Parameters class for the CBM ToF digitizer using beam data distributions.
CbmTofGeoHandler * fGeoHandler
std::vector< std::vector< std::vector< ChannelDigis > > > fStorDigiExp
CbmTofDetectorId * fTofId
TClonesArray * fTofDigiMatchs
CbmTofTBClusterizer(const CbmTofTBClusterizer &)
void Exec(Option_t *option)
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotGain
std::vector< std::vector< std::vector< std::vector< std::vector< Double_t > > > > > fvCPWalk
std::vector< std::vector< std::vector< std::pair< std::pair< std::map< Double_t, std::pair< CbmTofDigiExp *, Int_t > >, std::map< Double_t, std::pair< CbmTofDigiExp *, Int_t > > >, std::map< Double_t, std::pair< Double_t, std::pair< std::pair< CbmTofDigiExp *, Int_t >, std::pair< CbmTofDigiExp *, Int_t > > > > > > > > fStorDigiExpOld
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPDelTof
CbmTofTBClusterizer & operator=(const CbmTofTBClusterizer &)
CbmTofDigiBdfPar * fDigiBdfPar
ClassDef(CbmTofTBClusterizer, 1)
void GetEventInfo(Int_t &inputNr, Int_t &eventNr, Double_t &eventTime)
std::vector< std::vector< Double_t > > fvCPSigPropSpeed
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTOff
std::map< Double_t, DigiDesc > topDigis
std::map< Double_t, DigiDesc > bottomDigis
std::map< Double_t, DigiPair > digiPairs