BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnSP41FieldMapCreator.h
Go to the documentation of this file.
1
#ifndef BMNSP41FIELDMAPCREATOR_H
2
#define BMNSP41FIELDMAPCREATOR_H 1
3
4
#include "
BmnFieldMap.h
"
5
6
#include <
TClonesArray.h
>
7
#include <
TF1.h
>
8
#include <
TFile.h
>
9
#include <
TGraph.h
>
10
#include <
TGraph2D.h
>
11
#include <
TH1.h
>
12
#include <
TMath.h
>
13
#include <
TString.h
>
14
#include <utility>
15
#include <vector>
16
17
using namespace
TMath
;
18
19
class
fitParMonitor
:
public
TObject
20
{
21
public
:
22
fitParMonitor
() {}
23
fitParMonitor
(
TString
out);
24
virtual
~fitParMonitor
();
25
26
TH1F
***
C
;
27
TH1F
***
M
;
28
TH1F
***
S
;
29
30
private
:
31
TFile
*
f
;
32
33
ClassDef
(
fitParMonitor
, 1)
34
};
35
36
class
extrapolationConditions
:
public
TObject
37
{
38
public
:
39
extrapolationConditions
()
40
{
41
direction
=
"Z"
;
42
min
= -DBL_MAX;
43
max
= DBL_MAX;
44
}
45
46
virtual
~extrapolationConditions
() {}
47
48
TString
direction
;
49
Double_t
min
;
50
Double_t
max
;
51
std::pair<Double_t, Double_t>
tailRangeLeft
;
52
std::pair<Double_t, Double_t>
tailRangeRight
;
53
54
ClassDef
(
extrapolationConditions
, 1)
55
};
56
57
class
smoothedValues
:
public
TObject
58
{
59
public
:
60
smoothedValues
()
61
{
62
X
= 0.;
63
Y
= 0.;
64
Z
= 0.;
65
fieldValue
= 0.;
66
}
67
68
virtual
~smoothedValues
() {}
69
70
Double_t
X
;
71
Double_t
Y
;
72
Double_t
Z
;
73
Double_t
fieldValue
;
74
75
ClassDef
(
smoothedValues
, 1)
76
};
77
78
class
BmnSP41FieldMapCreator
:
public
TNamed
79
{
80
public
:
81
BmnSP41FieldMapCreator
() {}
82
BmnSP41FieldMapCreator
(
TString
,
TString
);
83
virtual
~BmnSP41FieldMapCreator
();
84
85
void
CreateExtrapolatedMap
();
86
void
SmoothMap
(
TClonesArray
*);
87
88
void
SetOutParamFileName
(
TString
name) {
fParamFileName
= name; }
89
90
void
SetDebug
(
Bool_t
flag) {
fDebug
= flag; }
91
92
void
SetNodeNumber
(
Int_t
nNodes) {
dimGrid
= nNodes; }
93
94
// Extrapolation new ranges ...
95
96
void
SetNewRanges
(
Double_t
min
,
Double_t
max
)
97
{
98
fConditions
->min =
min
;
99
fConditions
->max =
max
;
100
}
101
102
void
SetExtrapolationAxis
(
TString
axis) {
fConditions
->direction = axis; }
103
104
// Main method to be called ...
105
void
Extrapolation
();
106
107
private
:
108
Bool_t
fDebug
;
109
110
TString
nameOutput
;
111
112
Int_t
dimGrid
;
// dimGrid x dimGrid corresponds to number of nodes to build a grid along X(Y)-axis
113
Int_t
dimNhist
;
// dimNhist corresponds to number of profiles drawn
114
115
Double_t
factor
;
// Transition from T to kG
116
117
BmnFieldMap
*
fMap
;
118
extrapolationConditions
*
fConditions
;
119
fitParMonitor
*
fMonitor
;
120
121
Double_t
WinXmin
;
122
Double_t
WinXmax
;
123
Double_t
WinYmin
;
124
Double_t
WinYmax
;
125
Double_t
WinZmin
;
126
Double_t
WinZmax
;
127
Double_t
winXstep
;
128
Double_t
winYstep
;
129
Double_t
winZstep
;
130
131
TGraph2D
***
constant
;
132
TGraph2D
***
mean
;
133
TGraph2D
***
sigma
;
134
135
TString
fParamFileName
;
136
137
void
DrawProfileExtrapZ
(
Int_t
,
TGraph
***,
TF1
***,
TString
,
TString
,
Double_t
,
Double_t
,
Double_t
,
Double_t
);
138
void
DrawProfileExtrapX
(
Int_t
,
TGraph
***,
TF1
***,
TString
,
TString
,
Double_t
,
Double_t
,
Double_t
,
Double_t
);
139
Double_t
FieldExtrapolate
(
Double_t
,
Double_t
,
Double_t
,
TGraph2D
*,
TGraph2D
*,
TGraph2D
*);
140
void
Print
(
BmnFieldMap
*);
141
142
void
DoExtrapolationAlongZ
(
Int_t
,
Int_t
);
143
void
DoExtrapolationAlongX
(
Int_t
,
Int_t
);
144
145
std::vector<Double_t>
checkedFieldValue
(
Double_t
bx,
Double_t
by,
Double_t
bz)
146
{
147
// To be not more than 5kG at scale = 1
148
const
Double_t
min
= 0.001;
149
const
Double_t
max
= 7.;
150
151
std::vector<Double_t> out;
152
153
out.push_back((
TMath::Abs
(bx) >
min
&&
TMath::Abs
(bx) <
max
) ? bx : 0.);
154
out.push_back((
TMath::Abs
(by) >
min
&&
TMath::Abs
(by) <
max
) ? by : 0.);
155
out.push_back((
TMath::Abs
(bz) >
min
&&
TMath::Abs
(bz) <
max
) ? bz : 0.);
156
157
return
out;
158
}
159
160
ClassDef
(
BmnSP41FieldMapCreator
, 1)
161
};
162
163
#endif
min
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition
P4_F32vec4.h:30
max
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition
P4_F32vec4.h:31
Bool_t
bool Bool_t
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TF1.h
TFile.h
TGraph2D.h
TGraph.h
TH1.h
TMath.h
TString.h
BmnFieldMap
Definition
BmnFieldMap.h:22
BmnSP41FieldMapCreator
Definition
BmnSP41FieldMapCreator.h:79
BmnSP41FieldMapCreator::fDebug
Bool_t fDebug
Definition
BmnSP41FieldMapCreator.h:108
BmnSP41FieldMapCreator::fMonitor
fitParMonitor * fMonitor
Definition
BmnSP41FieldMapCreator.h:119
BmnSP41FieldMapCreator::Print
void Print(BmnFieldMap *)
BmnSP41FieldMapCreator::fParamFileName
TString fParamFileName
Definition
BmnSP41FieldMapCreator.h:135
BmnSP41FieldMapCreator::winYstep
Double_t winYstep
Definition
BmnSP41FieldMapCreator.h:128
BmnSP41FieldMapCreator::dimGrid
Int_t dimGrid
Definition
BmnSP41FieldMapCreator.h:112
BmnSP41FieldMapCreator::FieldExtrapolate
Double_t FieldExtrapolate(Double_t, Double_t, Double_t, TGraph2D *, TGraph2D *, TGraph2D *)
BmnSP41FieldMapCreator::DrawProfileExtrapZ
void DrawProfileExtrapZ(Int_t, TGraph ***, TF1 ***, TString, TString, Double_t, Double_t, Double_t, Double_t)
BmnSP41FieldMapCreator::mean
TGraph2D *** mean
Definition
BmnSP41FieldMapCreator.h:132
BmnSP41FieldMapCreator::dimNhist
Int_t dimNhist
Definition
BmnSP41FieldMapCreator.h:113
BmnSP41FieldMapCreator::SetOutParamFileName
void SetOutParamFileName(TString name)
Definition
BmnSP41FieldMapCreator.h:88
BmnSP41FieldMapCreator::WinYmin
Double_t WinYmin
Definition
BmnSP41FieldMapCreator.h:123
BmnSP41FieldMapCreator::checkedFieldValue
std::vector< Double_t > checkedFieldValue(Double_t bx, Double_t by, Double_t bz)
Definition
BmnSP41FieldMapCreator.h:145
BmnSP41FieldMapCreator::DoExtrapolationAlongZ
void DoExtrapolationAlongZ(Int_t, Int_t)
BmnSP41FieldMapCreator::SetNodeNumber
void SetNodeNumber(Int_t nNodes)
Definition
BmnSP41FieldMapCreator.h:92
BmnSP41FieldMapCreator::WinZmin
Double_t WinZmin
Definition
BmnSP41FieldMapCreator.h:125
BmnSP41FieldMapCreator::DrawProfileExtrapX
void DrawProfileExtrapX(Int_t, TGraph ***, TF1 ***, TString, TString, Double_t, Double_t, Double_t, Double_t)
BmnSP41FieldMapCreator::fMap
BmnFieldMap * fMap
Definition
BmnSP41FieldMapCreator.h:117
BmnSP41FieldMapCreator::BmnSP41FieldMapCreator
BmnSP41FieldMapCreator()
Definition
BmnSP41FieldMapCreator.h:81
BmnSP41FieldMapCreator::SetExtrapolationAxis
void SetExtrapolationAxis(TString axis)
Definition
BmnSP41FieldMapCreator.h:102
BmnSP41FieldMapCreator::BmnSP41FieldMapCreator
BmnSP41FieldMapCreator(TString, TString)
BmnSP41FieldMapCreator::winZstep
Double_t winZstep
Definition
BmnSP41FieldMapCreator.h:129
BmnSP41FieldMapCreator::DoExtrapolationAlongX
void DoExtrapolationAlongX(Int_t, Int_t)
BmnSP41FieldMapCreator::WinYmax
Double_t WinYmax
Definition
BmnSP41FieldMapCreator.h:124
BmnSP41FieldMapCreator::SmoothMap
void SmoothMap(TClonesArray *)
BmnSP41FieldMapCreator::factor
Double_t factor
Definition
BmnSP41FieldMapCreator.h:115
BmnSP41FieldMapCreator::WinZmax
Double_t WinZmax
Definition
BmnSP41FieldMapCreator.h:126
BmnSP41FieldMapCreator::SetDebug
void SetDebug(Bool_t flag)
Definition
BmnSP41FieldMapCreator.h:90
BmnSP41FieldMapCreator::SetNewRanges
void SetNewRanges(Double_t min, Double_t max)
Definition
BmnSP41FieldMapCreator.h:96
BmnSP41FieldMapCreator::fConditions
extrapolationConditions * fConditions
Definition
BmnSP41FieldMapCreator.h:118
BmnSP41FieldMapCreator::CreateExtrapolatedMap
void CreateExtrapolatedMap()
BmnSP41FieldMapCreator::sigma
TGraph2D *** sigma
Definition
BmnSP41FieldMapCreator.h:133
BmnSP41FieldMapCreator::WinXmax
Double_t WinXmax
Definition
BmnSP41FieldMapCreator.h:122
BmnSP41FieldMapCreator::nameOutput
TString nameOutput
Definition
BmnSP41FieldMapCreator.h:110
BmnSP41FieldMapCreator::Extrapolation
void Extrapolation()
BmnSP41FieldMapCreator::~BmnSP41FieldMapCreator
virtual ~BmnSP41FieldMapCreator()
BmnSP41FieldMapCreator::constant
TGraph2D *** constant
Definition
BmnSP41FieldMapCreator.h:131
BmnSP41FieldMapCreator::winXstep
Double_t winXstep
Definition
BmnSP41FieldMapCreator.h:127
BmnSP41FieldMapCreator::WinXmin
Double_t WinXmin
Definition
BmnSP41FieldMapCreator.h:121
TF1
TFile
TGraph2D
TGraph
TH1F
TNamed
TObject
TObject::TClonesArray
friend friend class TClonesArray
TString
extrapolationConditions
Definition
BmnSP41FieldMapCreator.h:37
extrapolationConditions::max
Double_t max
Definition
BmnSP41FieldMapCreator.h:50
extrapolationConditions::direction
TString direction
Definition
BmnSP41FieldMapCreator.h:48
extrapolationConditions::tailRangeRight
std::pair< Double_t, Double_t > tailRangeRight
Definition
BmnSP41FieldMapCreator.h:52
extrapolationConditions::~extrapolationConditions
virtual ~extrapolationConditions()
Definition
BmnSP41FieldMapCreator.h:46
extrapolationConditions::tailRangeLeft
std::pair< Double_t, Double_t > tailRangeLeft
Definition
BmnSP41FieldMapCreator.h:51
extrapolationConditions::min
Double_t min
Definition
BmnSP41FieldMapCreator.h:49
extrapolationConditions::extrapolationConditions
extrapolationConditions()
Definition
BmnSP41FieldMapCreator.h:39
fitParMonitor
Definition
BmnSP41FieldMapCreator.h:20
fitParMonitor::C
TH1F *** C
Definition
BmnSP41FieldMapCreator.h:26
fitParMonitor::~fitParMonitor
virtual ~fitParMonitor()
fitParMonitor::S
TH1F *** S
Definition
BmnSP41FieldMapCreator.h:28
fitParMonitor::M
TH1F *** M
Definition
BmnSP41FieldMapCreator.h:27
fitParMonitor::fitParMonitor
fitParMonitor(TString out)
fitParMonitor::f
TFile * f
Definition
BmnSP41FieldMapCreator.h:31
fitParMonitor::fitParMonitor
fitParMonitor()
Definition
BmnSP41FieldMapCreator.h:22
smoothedValues
Definition
BmnSP41FieldMapCreator.h:58
smoothedValues::X
Double_t X
Definition
BmnSP41FieldMapCreator.h:70
smoothedValues::Y
Double_t Y
Definition
BmnSP41FieldMapCreator.h:71
smoothedValues::smoothedValues
smoothedValues()
Definition
BmnSP41FieldMapCreator.h:60
smoothedValues::fieldValue
Double_t fieldValue
Definition
BmnSP41FieldMapCreator.h:73
smoothedValues::~smoothedValues
virtual ~smoothedValues()
Definition
BmnSP41FieldMapCreator.h:68
smoothedValues::Z
Double_t Z
Definition
BmnSP41FieldMapCreator.h:72
BmnFieldMap.h
TMath
TMath::Abs
Double_t Abs(Double_t d)
install
include
BmnSP41FieldMapCreator.h
Generated on
for BmnRoot by
1.17.0