BmnRoot
Loading...
Searching...
No Matches
BmnHodoDigitizer.h
Go to the documentation of this file.
1#ifndef BMNHODODIGITIZER_H
2#define BMNHODODIGITIZER_H
3
4#include "BmnHodoDigit.h"
5#include "BmnHodoPoint.h"
6#include "BmnHodoResolution.h"
7#include "FairLogger.h"
8#include "FairTask.h"
9#include "TClonesArray.h"
10
11#include <TF1.h>
12#include <TRandom3.h>
13#include <unordered_map>
14#include <vector>
15
17
18class BmnHodoDigitizer : public FairTask
19{
20 public:
21 // Constructor and Destructor
22 BmnHodoDigitizer(const int period);
23 BmnHodoDigitizer(const char* config = nullptr);
24 virtual ~BmnHodoDigitizer();
25
26 // Overridden FairTask methods
27 virtual InitStatus Init();
28 virtual void Exec(Option_t* opt);
29 virtual void Finish();
30
31 // Setter methods
32 InitStatus LoadConfig(const char* config);
33 void LoadCalibration(const char* calib);
34 void SetScale(double scale) { fScale = scale; }
35 void SetThreshold(double threshold) { fThreshold = threshold; }
36 void SetTimeCut(double setValue) { fTimeCut = setValue; }
37 void SetSaturation(double satur) { fSaturation = satur; }
38
39 private:
40 double fScale; // Scale factor [Z^2/GeV]
41 double fThreshold; // Noise threshold level [Z^2]
42 double fTimeCut; // Cut times above this
43 double fSaturation; // Saturation [adc]
44
45 TClonesArray* fPointArray; // Input array of BmnHodoPoints
46 TClonesArray* fDigiArray; // Output array of BmnHodoDigits
47
48 std::unordered_map<uint32_t, std::vector<BmnHodoPoint*>> fuoHitMap; // strip to point vector map
49 std::unordered_map<uint32_t, std::pair<double, Kernel>>
50 fuoResolutionMap; // Address to pair calib & resolution function
51 void FillHitMap();
52
53 float fworkTime; // Accumulated work time for the digitizer
54 ClassDef(BmnHodoDigitizer, 6);
55};
56
57#endif /* BMNHODODIGITIZER_H */
virtual InitStatus Init()
void SetThreshold(double threshold)
void SetScale(double scale)
void SetSaturation(double satur)
void SetTimeCut(double setValue)
InitStatus LoadConfig(const char *config)
virtual void Exec(Option_t *opt)
void LoadCalibration(const char *calib)
virtual void Finish()