BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnFieldCreator.cxx
Go to the documentation of this file.
1
#include "
BmnFieldCreator.h
"
2
3
#include "
BmnFieldConst.h
"
4
#include "
BmnFieldMap.h
"
5
#include "
BmnFieldMapSym3.h
"
6
#include "
BmnNewFieldMap.h
"
7
#include "FairRunAna.h"
8
#include "FairRuntimeDb.h"
9
10
#include <iostream>
11
using
std::cerr;
12
using
std::cout;
13
using
std::endl;
14
15
static
BmnFieldCreator
gBmnFieldCreator
;
16
17
BmnFieldCreator::BmnFieldCreator
()
18
:
FairFieldFactory
()
19
,
fFieldPar
(NULL)
20
{
21
#ifdef FairRoot_18_8_0
22
fgRinstance =
this
;
23
#else
24
fCreator =
this
;
25
#endif
26
}
27
28
BmnFieldCreator::~BmnFieldCreator
() {}
29
30
void
BmnFieldCreator::SetParm
()
31
{
32
FairRunAna* Run = FairRunAna::Instance();
33
FairRuntimeDb* RunDB = Run->GetRuntimeDb();
34
fFieldPar
= (
BmnFieldPar
*)RunDB->getContainer(
"BmnFieldPar"
);
35
}
36
37
FairField
*
BmnFieldCreator::createFairField
()
38
{
39
FairField
* fMagneticField = 0;
40
41
if
(!
fFieldPar
)
42
cerr <<
"-E- No field parameters available!"
<< endl;
43
else
{
44
// Instantiate correct field type
45
Int_t
fType =
fFieldPar
->GetType();
46
if
(fType == 0)
47
fMagneticField =
new
BmnFieldConst
(
fFieldPar
);
48
else
if
(fType == 1)
49
fMagneticField =
new
BmnNewFieldMap
(
fFieldPar
);
50
else
if
(fType == 3)
51
fMagneticField =
new
BmnFieldMapSym3
(
fFieldPar
);
52
else
53
cerr <<
"-W- FairRunAna::GetField: Unknown field type "
<< fType << endl;
54
55
// cout << "New field at " << fMagneticField << ", type " << fType << endl;
56
// Initialise field
57
if
(fMagneticField) {
58
fMagneticField->Init();
59
// fMagneticField->Print();
60
}
61
}
62
return
fMagneticField;
63
}
BmnFieldConst.h
gBmnFieldCreator
static BmnFieldCreator gBmnFieldCreator
Definition
BmnFieldCreator.cxx:15
BmnFieldCreator.h
BmnFieldMapSym3.h
BmnFieldMap.h
BmnNewFieldMap.h
Int_t
int Int_t
BmnFieldConst
Definition
BmnFieldConst.h:17
BmnFieldCreator
Definition
BmnFieldCreator.h:14
BmnFieldCreator::~BmnFieldCreator
virtual ~BmnFieldCreator()
Definition
BmnFieldCreator.cxx:28
BmnFieldCreator::BmnFieldCreator
BmnFieldCreator()
Definition
BmnFieldCreator.cxx:17
BmnFieldCreator::createFairField
virtual FairField * createFairField()
Definition
BmnFieldCreator.cxx:37
BmnFieldCreator::fFieldPar
BmnFieldPar * fFieldPar
Definition
BmnFieldCreator.h:23
BmnFieldCreator::SetParm
virtual void SetParm()
Definition
BmnFieldCreator.cxx:30
BmnFieldMapSym3
BmnFieldMapSym3.h.
Definition
BmnFieldMapSym3.h:30
BmnFieldPar
Definition
BmnFieldPar.h:26
BmnNewFieldMap
Field Map does not have any symmetries w.r.t coordinate axises.
Definition
BmnNewFieldMap.h:16
FairFieldFactory
FairField
field
BmnFieldCreator.cxx
Generated on
for BmnRoot by
1.17.0