BmnRoot
Loading...
Searching...
No Matches
BmnSteering.h
Go to the documentation of this file.
1// @(#)bmnroot/steering:$Id$
2// Author: Pavel Batyuk <pavel.batyuk@jinr.ru> 2018-09-12
3
5// //
6// BmnSteeringCA //
7// //
8// Mechanism of steering files to set an appropriate values of parameters //
9// //
11
12#ifndef BMNSTEERING_H
13#define BMNSTEERING_H 1
14
15#include <TNamed.h>
16#include <TMath.h>
17#include <TVector3.h>
18#include <TSystem.h>
19
20#include <iostream>
21#include <fstream>
22#include <sstream>
23#include <vector>
24
25using namespace std;
26using namespace TMath;
27
28class BmnSteering : public TNamed
29{
30 public:
32 BmnSteering(TString);
33 virtual ~BmnSteering();
34
35 void PrintParamTable();
36
37 Int_t GetNStations() {
38 return fNStatsInnerTracker;
39 }
40
41 Double_t* GetHitXCutMin() {
42 return fHitXCutMin;
43 }
44
45 Double_t* GetHitYCutMin() {
46 return fHitYCutMin;
47 }
48
49 Double_t* GetHitXCutMax() {
50 return fHitXCutMax;
51 }
52
53 Double_t* GetHitYCutMax() {
54 return fHitYCutMax;
55 }
56
58 return fCellSlopeXZCutMin;
59 }
60
62 return fCellSlopeYZCutMin;
63 }
64
66 return fCellSlopeXZCutMax;
67 }
68
70 return fCellSlopeYZCutMax;
71 }
72
73 Double_t GetDiffSlopeXZ0() {
74 return fDiffSlopeXZ0;
75 }
76
77 Double_t GetDiffSlopeYZ0() {
78 return fDiffSlopeYZ0;
79 }
80
82 return fDiffSlopeXZSlope;
83 }
84
86 return fDiffSlopeYZSlope;
87 }
88
89 Double_t GetChiSquareCut() {
90 return fChiSquareCut;
91 }
92
93 Int_t GetNIter() {
94 return fNIter;
95 }
96
97 Int_t GetNHitsCut() {
98 return fNHitsCut;
99 }
100
102 return fNHitsCutTotal;
103 }
104
105 const Char_t* GetName() {
106 return fSteerFile.Data();
107 }
108
109private:
110 void ParseSteerFile(TString);
111 void TestParsedInput();
112
113 TString fSteerFile;
114
115 Int_t fNStatsInnerTracker;
116
117 Double_t* fHitXCutMin; //[fNStatsInnerTracker]
118 Double_t* fHitXCutMax; //[fNStatsInnerTracker]
119
120 Double_t* fHitYCutMin; //[fNStatsInnerTracker]
121 Double_t* fHitYCutMax; //[fNStatsInnerTracker]
122
123 Double_t* fCellSlopeXZCutMin; //[fNStatsInnerTracker]
124 Double_t* fCellSlopeXZCutMax; //[fNStatsInnerTracker]
125
126 Double_t* fCellSlopeYZCutMin; //[fNStatsInnerTracker]
127 Double_t* fCellSlopeYZCutMax; //[fNStatsInnerTracker]
128
129 Double_t fDiffSlopeXZ0;
130 Double_t fDiffSlopeYZ0;
131
132 Double_t fDiffSlopeXZSlope;
133 Double_t fDiffSlopeYZSlope;
134
135 Double_t fChiSquareCut;
136 Int_t fNIter;
137
138 Int_t fNHitsCut;
139 Int_t fNHitsCutTotal;
140
141 Double_t fMarkerValue;
142
143 ClassDef(BmnSteering, 1);
144};
145
146#endif
Double_t * GetCellSlopeYZCutMin()
Definition BmnSteering.h:61
Int_t GetNIter()
Definition BmnSteering.h:93
Double_t * GetCellSlopeXZCutMax()
Definition BmnSteering.h:65
Int_t GetNStations()
Definition BmnSteering.h:37
Double_t * GetCellSlopeYZCutMax()
Definition BmnSteering.h:69
Double_t * GetHitXCutMax()
Definition BmnSteering.h:49
Double_t * GetHitYCutMin()
Definition BmnSteering.h:45
Int_t GetNHitsCut()
Definition BmnSteering.h:97
virtual ~BmnSteering()
Double_t GetDiffSlopeYZ0()
Definition BmnSteering.h:77
const Char_t * GetName()
Double_t GetDiffSlopeXZSlope()
Definition BmnSteering.h:81
Double_t GetDiffSlopeYZSlope()
Definition BmnSteering.h:85
Double_t GetDiffSlopeXZ0()
Definition BmnSteering.h:73
Double_t * GetHitYCutMax()
Definition BmnSteering.h:53
Double_t * GetCellSlopeXZCutMin()
Definition BmnSteering.h:57
Double_t * GetHitXCutMin()
Definition BmnSteering.h:41
Int_t GetNHitsCutTotal()
void PrintParamTable()
Double_t GetChiSquareCut()
Definition BmnSteering.h:89
STL namespace.