BmnRoot
Loading...
Searching...
No Matches
BmnGemFastDigitize.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- BmnGenFastDigitize header file -----
3// ----- Created 4/07/19 by A. Zinchenko -----
4// -------------------------------------------------------------------------
5
13#ifndef BMNGEMFASTDIGITIZE_H
14#define BMNGEMFASTDIGITIZE_H 1
15
16#include "FairTask.h"
17
18#include "TClonesArray.h"
19
20#include <map>
21#include <vector>
22#include <set>
23
24class CbmStsSensor;
25class TTree;
26class TH2I;
27class TDirectory;
28class TFile;
29
30class BmnGemFastDigitize : public FairTask
31{
32 public:
33
36
39
41 virtual InitStatus Init();
42
44 virtual void Exec(Option_t* opt);
45
47 virtual void Finish();
48
49 void ProduceHitResponseFast(CbmStsSensor* sensor, std::set<Int_t> &pSet, Double_t *stripSignalF,
50 Double_t *stripSignalB, std::map<Int_t, std::set<Int_t> > &chanPointMapF,
51 std::map<Int_t, std::set<Int_t> > &chanPointMapB);
52 Double_t GetNumberOfClusters(Double_t beta, Double_t gamma, Double_t charge, Double_t p0, Double_t p1);
53
54 private:
55
57 TClonesArray* fPoints;
58 TClonesArray* fMCTracks;
59
61 //TClonesArray* fHitArray;
62
63 std::map<Int_t,std::multimap<Float_t,Int_t> > fXYmap[2];
64 std::map<Int_t,Int_t> fStrRef[2];
65 std::map<Int_t,TH2I*> fHistMap;
66 std::map<Int_t,TTree*> fTreeMap;
67 Int_t fIbeg[2], fStrin[2], fStrout[2];
68 Float_t fQtot[2], fDpitin[2], fCog[2];
69 std::vector<Float_t> fvDigis[2];
70 std::vector<Float_t> *fvDig0, *fvDig1;
71 TH2I *fhInd;
72
73 Double_t Interp(Double_t *yy, Int_t indx, Int_t ntot, Double_t dx);
74 Int_t FindDataSet(Double_t theX, Double_t theY);
75
77 BmnGemFastDigitize& operator=(const BmnGemFastDigitize&);
78
79 ClassDef(BmnGemFastDigitize,0);
80};
81
82#endif
virtual InitStatus Init()
void ProduceHitResponseFast(CbmStsSensor *sensor, std::set< Int_t > &pSet, Double_t *stripSignalF, Double_t *stripSignalB, std::map< Int_t, std::set< Int_t > > &chanPointMapF, std::map< Int_t, std::set< Int_t > > &chanPointMapB)
virtual void Exec(Option_t *opt)
Double_t GetNumberOfClusters(Double_t beta, Double_t gamma, Double_t charge, Double_t p0, Double_t p1)