BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnMultiFieldPar.cxx
Go to the documentation of this file.
1
#include "
BmnMultiFieldPar.h
"
2
3
#include "
BmnConstPar.h
"
4
#include "
BmnFieldConst.h
"
5
#include "
BmnFieldMap.h
"
6
#include "
BmnFieldPar.h
"
7
#include "FairParamList.h"
8
#include "FairRun.h"
9
#include "FairRuntimeDb.h"
10
11
// ------ Constructor --------------------------------------------------
12
BmnMultiFieldPar::BmnMultiFieldPar
(
const
char
* name,
const
char
* title,
const
char
* context)
13
:
BmnMapPar
(name, title, context)
14
{
15
16
fParArray
=
new
TObjArray
();
17
}
18
19
//-----------------------------------------------------------------------
20
BmnMultiFieldPar::BmnMultiFieldPar
() {}
21
22
//-----------------------------------------------------------------------
23
BmnMultiFieldPar::~BmnMultiFieldPar
() {}
24
25
//-----------------------------------------------------------------------
26
void
BmnMultiFieldPar::putParams
(FairParamList* list)
27
{
28
if
(!list)
29
return
;
30
list->addObject(
"List of Field par"
,
fParArray
);
31
list->add(
"Field Type"
,
fType
);
32
}
33
34
//-----------------------------------------------------------------------
35
Bool_t
BmnMultiFieldPar::getParams
(FairParamList* l)
36
{
37
if
(!l->fillObject(
"list of fields Par"
,
fParArray
))
38
return
kFALSE
;
39
if
(!l->fill(
"Field Type"
, &
fType
))
40
return
kFALSE
;
41
42
return
kTRUE
;
43
}
44
45
//-----------------------------------------------------------------------
46
void
BmnMultiFieldPar::SetParameters
(
FairField
* field)
47
{
48
fType
= 5;
49
FairRuntimeDb* rtdb = FairRuntimeDb::instance();
50
FairRun* fRun = FairRun::Instance();
51
BmnMultiField
* fmField = (
BmnMultiField
*)field;
52
TObjArray
* fArray = fmField->
GetFieldList
();
53
TIterator
* Iter = fArray->
MakeIterator
();
54
Iter->
Reset
();
55
FairField
* fField = NULL;
56
Int_t
Type = -1;
57
while
((fField = (
FairField
*)Iter->
Next
())) {
58
Type = fField->GetType();
59
if
(Type == 0) {
60
BmnFieldConst
* fc = (
BmnFieldConst
*)fField;
61
BmnConstPar
* cp = (
BmnConstPar
*)rtdb->getContainer(
"BmnConstPar"
);
62
cp->
SetParameters
(fc);
63
cp->setInputVersion(fRun->GetRunId(), 1);
64
fParArray
->AddLast(cp);
65
}
66
67
else
if
(Type == 1)
68
{
69
BmnFieldMap
* fm = (
BmnFieldMap
*)fField;
70
BmnFieldPar
* fmp = (
BmnFieldPar
*)rtdb->getContainer(
"BmnFieldPar"
);
71
fmp->
SetParameters
(fm);
72
fmp->setInputVersion(fRun->GetRunId(), 1);
73
fParArray
->AddLast(fmp);
74
}
75
}
76
delete
Iter;
77
}
Bool_t
bool Bool_t
Int_t
int Int_t
kFALSE
constexpr Bool_t kFALSE
kTRUE
constexpr Bool_t kTRUE
BmnConstPar
Definition
BmnConstPar.h:10
BmnConstPar::SetParameters
void SetParameters(FairField *field)
Set parameters from FairField.
Definition
BmnConstPar.cxx:72
BmnFieldConst
Definition
BmnFieldConst.h:17
BmnFieldMap
Definition
BmnFieldMap.h:22
BmnFieldPar
Definition
BmnFieldPar.h:26
BmnFieldPar::SetParameters
void SetParameters(FairField *field)
Set parameters from BmnField.
Definition
BmnFieldPar.cxx:180
BmnMapPar::BmnMapPar
BmnMapPar(const char *name, const char *title, const char *context)
Standard constructor.
Definition
BmnMapPar.cxx:11
BmnMapPar::fType
Int_t fType
Field type 0 = constant field 1 = field map 2 = field map sym2 (symmetries in x and y) 3 = field map ...
Definition
BmnMapPar.h:52
BmnMultiFieldPar::putParams
void putParams(FairParamList *list)
Put parameters.
Definition
BmnMultiFieldPar.cxx:26
BmnMultiFieldPar::BmnMultiFieldPar
BmnMultiFieldPar()
default constructor
Definition
BmnMultiFieldPar.cxx:20
BmnMultiFieldPar::getParams
Bool_t getParams(FairParamList *list)
Get parameters.
Definition
BmnMultiFieldPar.cxx:35
BmnMultiFieldPar::SetParameters
void SetParameters(FairField *field)
Set parameters from FairField.
Definition
BmnMultiFieldPar.cxx:46
BmnMultiFieldPar::fParArray
TObjArray * fParArray
Definition
BmnMultiFieldPar.h:33
BmnMultiFieldPar::~BmnMultiFieldPar
~BmnMultiFieldPar()
Destructor.
Definition
BmnMultiFieldPar.cxx:23
BmnMultiField
Definition
BmnMultiField.h:13
BmnMultiField::GetFieldList
TObjArray * GetFieldList()
Definition
BmnMultiField.h:28
FairField
TIterator
TIterator::Reset
virtual void Reset()=0
TIterator::Next
virtual TObject * Next()=0
TObjArray
TObjArray::MakeIterator
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
BmnConstPar.h
BmnFieldConst.h
BmnFieldMap.h
BmnFieldPar.h
BmnMultiFieldPar.h
field
BmnMultiFieldPar.cxx
Generated on
for BmnRoot by
1.17.0