BmnRoot
Loading...
Searching...
No Matches
BmnGemStripHitMaker.h
Go to the documentation of this file.
1#ifndef BMNGEMSTRIPHITMAKER_H
2#define BMNGEMSTRIPHITMAKER_H 1
3
5#include "BmnGemStripDigit.h"
6#include "BmnGemStripHit.h"
9#include "BmnTask.h"
10#include "FairField.h"
11#include "FairHit.h"
12#include "FairMCPoint.h"
13#include "TClonesArray.h"
14#include "TRegexp.h"
15#include "TString.h"
16
17#include <fstream>
18#include <iostream>
19#include <sstream>
20
21using namespace std;
22
23class BmnGemStripHitMaker : public BmnTask
24{
25 public:
27 BmnGemStripHitMaker(Int_t per, Int_t run, Bool_t isExp, Bool_t isSrc = kFALSE);
29
30 virtual InitStatus Init();
31 virtual void Exec(Option_t* opt);
32 virtual void Finish();
33
35
36 void SetHitMatching(Bool_t opt = kTRUE) { fHitMatching = opt; }
37
39
40 void SetXMLConfig(TString xml_file)
41 {
42 fCurrentConfig = BmnGemStripConfiguration::None;
43 XMLConfigFile = xml_file;
44 }
45
46 void SetSrcSetup(Bool_t f) { fIsSrc = f; }
47
48 void SetFieldScale(Double_t fs) { fFieldScale = fs; }
49
50 void SetSignalWindow(Double_t min, Double_t max)
51 {
52 fSignalLow = min;
53 fSignalUp = max;
54 }
55
56 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
57
58 private:
59 void createGemDetector();
60
61 TString fInputPointsBranchName;
62 TString fInputDigitsBranchName;
63 TString fInputDigitMatchesBranchName;
64
65 TString fOutputHitsBranchName;
66
68 TClonesArray* fBmnGemStripPointsArray;
69 TClonesArray* fBmnGemStripDigitsArray;
70 TClonesArray* fBmnGemStripDigitMatchesArray;
71
73 TClonesArray* fBmnGemStripHitsArray;
75 TClonesArray* fBmnGemUpperClustersArray;
77 TClonesArray* fBmnGemLowerClustersArray;
78
79 Int_t fRunPeriod;
80 Int_t fRunNumber;
81
82 Bool_t fHitMatching;
83 Bool_t fIsExp; // Specify type of input data (MC or real data)
84 Bool_t fIsSrc; // Specify type of setup (SRC or BM@N)
85
87
88 TString XMLConfigFile;
89
90 BmnGemStripStationSet* StationSet;
91
92 BmnGemStripTransform* TransfSet;
93
94 FairField* fField;
95 Double_t fFieldScale;
96
97 TString fBmnEvQualityBranchName;
98 TClonesArray* fBmnEvQuality;
99
100 Double_t*** fAlignCor;
101 Double_t** fLorCor;
102
103 Double_t fSignalLow;
104 Double_t fSignalUp;
105
106 ClassDef(BmnGemStripHitMaker, 1);
107};
108
109#endif
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:30
float f
Definition P4_F32vec4.h:21
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:31
void SetSignalWindow(Double_t min, Double_t max)
void SetCurrentConfig(BmnGemStripConfiguration::GEM_CONFIG config)
void SetXMLConfig(TString xml_file)
virtual ~BmnGemStripHitMaker()
virtual InitStatus Init()
virtual void Exec(Option_t *opt)
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
virtual void Finish()
BmnGemStripHitMaker(Int_t per, Int_t run, Bool_t isExp, Bool_t isSrc=kFALSE)
void SetHitMatching(Bool_t opt=kTRUE)
void SetFieldScale(Double_t fs)
BmnTask.
Definition BmnTask.h:13
-clang-format
STL namespace.