BmnRoot
Loading...
Searching...
No Matches
BmnFieldCreator.cxx
Go to the documentation of this file.
1
#include "
BmnFieldCreator.h
"
2
#include "
BmnFieldConst.h
"
3
#include "
BmnFieldMap.h
"
4
#include "
BmnFieldMapSym3.h
"
5
#include "
BmnNewFieldMap.h
"
6
7
#include "FairRunAna.h"
8
#include "FairRuntimeDb.h"
9
10
#include <iostream>
11
using
std::cout;
12
using
std::cerr;
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
}
31
32
void
BmnFieldCreator::SetParm
()
33
{
34
FairRunAna *Run = FairRunAna::Instance();
35
FairRuntimeDb *RunDB = Run->GetRuntimeDb();
36
fFieldPar
= (
BmnFieldPar
*) RunDB->getContainer(
"BmnFieldPar"
);
37
}
38
39
FairField*
BmnFieldCreator::createFairField
()
40
{
41
FairField *fMagneticField=0;
42
43
if
( !
fFieldPar
)
44
cerr <<
"-E- No field parameters available!"
<< endl;
45
else
46
{
47
// Instantiate correct field type
48
Int_t fType =
fFieldPar
->
GetType
();
49
if
( fType == 0 ) fMagneticField =
new
BmnFieldConst
(
fFieldPar
);
50
else
if
( fType == 1 ) fMagneticField =
new
BmnNewFieldMap
(
fFieldPar
);
51
else
if
( fType == 3 ) fMagneticField =
new
BmnFieldMapSym3
(
fFieldPar
);
52
else
cerr <<
"-W- FairRunAna::GetField: Unknown field type "
<< fType << endl;
53
54
//cout << "New field at " << fMagneticField << ", type " << fType << endl;
55
// Initialise field
56
if
( fMagneticField )
57
{
58
fMagneticField->Init();
59
//fMagneticField->Print();
60
}
61
}
62
return
fMagneticField;
63
}
BmnFieldConst
Definition
BmnFieldConst.h:17
BmnFieldCreator
Definition
BmnFieldCreator.h:15
BmnFieldCreator::~BmnFieldCreator
virtual ~BmnFieldCreator()
Definition
BmnFieldCreator.cxx:28
BmnFieldCreator::BmnFieldCreator
BmnFieldCreator()
Definition
BmnFieldCreator.cxx:17
BmnFieldCreator::fFieldPar
BmnFieldPar * fFieldPar
Definition
BmnFieldCreator.h:24
BmnFieldCreator::createFairField
virtual FairField * createFairField()
Definition
BmnFieldCreator.cxx:39
BmnFieldCreator::SetParm
virtual void SetParm()
Definition
BmnFieldCreator.cxx:32
BmnFieldMapSym3
Definition
BmnFieldMapSym3.h:31
BmnFieldPar
Definition
BmnFieldPar.h:28
BmnFieldPar::GetType
Int_t GetType() const
Definition
BmnFieldPar.h:56
BmnNewFieldMap
Definition
BmnNewFieldMap.h:16
BmnFieldConst.h
BmnFieldCreator.h
BmnFieldMapSym3.h
BmnFieldMap.h
BmnNewFieldMap.h
field
BmnFieldCreator.cxx
Generated on Fri May 15 2026 10:40:53 for BmnRoot by
1.9.8