FairRoot/PandaRoot
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
detectors
rich
PndRichCalDbPar.cxx
Go to the documentation of this file.
1
#include <iostream>
2
#include "
PndConstField.h
"
3
#include "
PndRichCalDb.h
"
4
#include "
PndRichCalDbPar.h
"
5
#include "FairParamList.h"
6
#include "
PndMultiField.h
"
7
#include "TObjArray.h"
8
9
using namespace
std
;
10
11
// ------ Constructor --------------------------------------------------
12
PndRichCalDbPar::PndRichCalDbPar
(
const
char
*
name
,
const
char
* title,
13
const
char
* context)
14
: FairParGenericSet(name, title, context),
15
fType(-1),
16
fPmin(0),
17
fPmax(0),
18
fXmin(0),
19
fXmax(0),
20
fYmin(0),
21
fYmax(0),
22
fTmin(0),
23
fTmax(0),
24
fFmin(0),
25
fFmax(0),
26
fBetaMean(0),
27
fBetaSig(0),
28
fBetaEff(0) ,
29
fMapName(
TString
(
""
))
30
31
{
32
}
33
// -------------------------------------------------------------------------
34
35
PndRichCalDbPar::PndRichCalDbPar
()
36
: fType(-1),
37
fPmin(0),
38
fPmax(0),
39
fXmin(0),
40
fXmax(0),
41
fYmin(0),
42
fYmax(0),
43
fTmin(0),
44
fTmax(0),
45
fFmin(0),
46
fFmax(0),
47
fBetaMean(0),
48
fBetaSig(0),
49
fBetaEff(0),
50
fMapName(
TString
(
""
))
51
{
52
}
53
// -------------------------------------------------------------------------
54
55
// ------ Destructor ---------------------------------------------------
56
PndRichCalDbPar::~PndRichCalDbPar
() { }
57
// -------------------------------------------------------------------------
58
59
60
61
// ------ Put parameters -----------------------------------------------
62
void
PndRichCalDbPar::putParams
(FairParamList* list) {
63
64
if
( ! list )
return
;
65
66
list->add(
"Field Type"
,
fType
);
67
68
if
(
fType
== 0 ) {
// constant field
69
list->add(
"Cal db min p"
,
fPmin
);
70
list->add(
"Cal db max p"
,
fPmax
);
71
list->add(
"Cal db min x"
,
fXmin
);
72
list->add(
"Cal db max x"
,
fXmax
);
73
list->add(
"Cal db min y"
,
fYmin
);
74
list->add(
"Cal db max y"
,
fYmax
);
75
list->add(
"Cal db min t"
,
fTmin
);
76
list->add(
"Cal db max t"
,
fTmax
);
77
list->add(
"Cal db min f"
,
fFmin
);
78
list->add(
"Cal db max f"
,
fFmax
);
79
list->add(
"Cal db BetaMean"
,
fBetaMean
);
80
list->add(
"Cal db BetaSig"
,
fBetaSig
);
81
list->add(
"Cal db BetaEff"
,
fBetaEff
);
82
}
83
84
}
85
// -------------------------------------------------------------------------
86
87
88
89
// -------- Get parameters ---------------------------------------------
90
Bool_t
PndRichCalDbPar::getParams
(FairParamList* list) {
91
92
if
( ! list )
return
kFALSE;
93
94
if
( ! list->fill(
"Cal db Type"
, &
fType
) )
return
kFALSE;
95
96
if
(
fType
== 0 ) {
// constant field
97
if
( ! list->fill(
"Cal db min p"
, &
fPmin
) )
return
kFALSE;
98
if
( ! list->fill(
"Cal db max p"
, &
fPmax
) )
return
kFALSE;
99
if
( ! list->fill(
"Cal db min x"
, &
fXmin
) )
return
kFALSE;
100
if
( ! list->fill(
"Cal db max x"
, &
fXmax
) )
return
kFALSE;
101
if
( ! list->fill(
"Cal db min y"
, &
fYmin
) )
return
kFALSE;
102
if
( ! list->fill(
"Cal db max y"
, &
fYmax
) )
return
kFALSE;
103
if
( ! list->fill(
"Cal db min t"
, &
fTmin
) )
return
kFALSE;
104
if
( ! list->fill(
"Cal db max t"
, &
fTmax
) )
return
kFALSE;
105
if
( ! list->fill(
"Cal db min f"
, &
fFmin
) )
return
kFALSE;
106
if
( ! list->fill(
"Cal db max f"
, &
fFmax
) )
return
kFALSE;
107
if
( ! list->fill(
"Cal db BetaMean"
, &
fBetaMean
) )
return
kFALSE;
108
if
( ! list->fill(
"Cal db BetaSig"
, &
fBetaSig
) )
return
kFALSE;
109
if
( ! list->fill(
"Cal db BetaEff"
, &
fBetaEff
) )
return
kFALSE;
110
}
111
112
return
kTRUE;
113
114
}
115
// -------------------------------------------------------------------------
116
117
118
119
// --------- Set parameters from FairField ------------------------------
120
void
PndRichCalDbPar::SetParameters
(FairField* field) {
121
122
if
( ! field ) {
123
cerr <<
"-W- PndRichCalDbPar::SetParameters: Empty field pointer!"
<< endl;
124
return
;
125
}
126
127
fType
= field->GetType();
128
/*
129
if ( fType == 0 ) { // constant field
130
PndConstField* fieldConst = (PndConstField*) field;
131
fBx = fieldConst->GetBx();
132
fBy = fieldConst->GetBy();
133
fBz = fieldConst->GetBz();
134
fXmin = fieldConst->GetXmin();
135
fXmax = fieldConst->GetXmax();
136
fYmin = fieldConst->GetYmin();
137
fYmax = fieldConst->GetYmax();
138
fZmin = fieldConst->GetZmin();
139
fZmax = fieldConst->GetZmax();
140
fMapName = "";
141
fPosX = fPosY = fPosZ = fScale = 0.;
142
}
143
144
else if ( fType >=1 && fType <= 4 ) { // field map
145
PndRichCalDb* fieldMap = (PndRichCalDb*) field;
146
fBx = fBy = fBz = 0.;
147
fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
148
149
fMapName = field->GetName();
150
fPosX = fieldMap->GetPositionX();
151
fPosY = fieldMap->GetPositionY();
152
fPosZ = fieldMap->GetPositionZ();
153
fScale = fieldMap->GetScale();
154
} else if (fType ==5) {
155
156
PndMultiField *fMulti=(PndMultiField *)field;
157
TObjArray *fieldlist = fMulti->GetFieldList();
158
TIterator* FieldIter = fieldlist->MakeIterator();
159
FieldIter->Reset();
160
FairField *fi=0;
161
while( (fi = (FairField*)FieldIter->Next() ) ) {
162
SetParameters(fi);
163
}
164
165
delete FieldIter;
166
}else {
167
cerr << "-W- PndRichCalDbPar::SetParameters: Unknown field type "
168
<< fType << "!" << endl;
169
fBx = fBy = fBz = 0.;
170
fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
171
fMapName = "";
172
fPosX = fPosY = fPosZ = fScale = 0.;
173
}
174
*/
175
return
;
176
177
}
178
// -------------------------------------------------------------------------
179
180
181
182
183
184
185
ClassImp
(
PndRichCalDbPar
)
186
PndRichCalDbPar::fBetaSig
Double_t fBetaSig
Definition:
PndRichCalDbPar.h:71
PndRichCalDbPar::fXmin
Double_t fXmin
Definition:
PndRichCalDbPar.h:65
PndRichCalDbPar::fPmax
Double_t fPmax
Definition:
PndRichCalDbPar.h:64
PndRichCalDbPar.h
PndRichCalDbPar::fXmax
Double_t fXmax
Definition:
PndRichCalDbPar.h:65
PndRichCalDbPar::fTmin
Double_t fTmin
Definition:
PndRichCalDbPar.h:67
std
Definition:
MvdMQ/run/runFileSampler.cxx:18
PndConstField.h
PndRichCalDbPar::PndRichCalDbPar
PndRichCalDbPar()
Definition:
PndRichCalDbPar.cxx:35
PndRichCalDb.h
PndRichCalDbPar::putParams
virtual void putParams(FairParamList *list)
Definition:
PndRichCalDbPar.cxx:62
PndRichCalDbPar::fBetaMean
Double_t fBetaMean
Definition:
PndRichCalDbPar.h:71
PndRichCalDbPar::fBetaEff
Double_t fBetaEff
Definition:
PndRichCalDbPar.h:71
PndRichCalDbPar::fYmax
Double_t fYmax
Definition:
PndRichCalDbPar.h:66
PndRichCalDbPar::fYmin
Double_t fYmin
Definition:
PndRichCalDbPar.h:66
PndMultiField.h
TString
TString
Definition:
SimCompleteLinkDef.h:6
name
TString name
Definition:
createRootGeoFile.C:82
PndRichCalDbPar::SetParameters
void SetParameters(FairField *field)
Definition:
PndRichCalDbPar.cxx:120
PndRichCalDbPar::getParams
virtual Bool_t getParams(FairParamList *list)
Definition:
PndRichCalDbPar.cxx:90
PndRichCalDbPar::fFmin
Double_t fFmin
Definition:
PndRichCalDbPar.h:68
ClassImp
ClassImp(PndAnaContFact)
Bool_t
Bool_t
Definition:
SimCompleteLinkDef.h:6
PndRichCalDbPar::fPmin
Double_t fPmin
Definition:
PndRichCalDbPar.h:64
PndRichCalDbPar::~PndRichCalDbPar
~PndRichCalDbPar()
Definition:
PndRichCalDbPar.cxx:56
PndRichCalDbPar::fType
Int_t fType
Definition:
PndRichCalDbPar.h:61
PndRichCalDbPar::fFmax
Double_t fFmax
Definition:
PndRichCalDbPar.h:68
PndRichCalDbPar
Definition:
PndRichCalDbPar.h:14
PndRichCalDbPar::fTmax
Double_t fTmax
Definition:
PndRichCalDbPar.h:67
Generated on Sun Aug 18 2019 03:01:43 for FairRoot/PandaRoot by
1.8.8