SND@LHC Software
Loading...
Searching...
No Matches
ShipFieldCreator.cxx
Go to the documentation of this file.
1
#include "
ShipFieldCreator.h
"
2
3
#include "
ShipFieldPar.h
"
4
#include "
ShipConstField.h
"
5
6
#include "FairRunAna.h"
7
#include "FairRuntimeDb.h"
8
#include "FairField.h"
9
10
#include <iostream>
11
using
std::cout;
12
using
std::cerr;
13
using
std::endl;
14
15
static
ShipFieldCreator
gShipFieldCreator;
16
17
ShipFieldCreator::ShipFieldCreator
()
18
:FairFieldFactory(),
19
fFieldPar(NULL)
20
{
21
fCreator=
this
;
22
}
23
24
ShipFieldCreator::~ShipFieldCreator
()
25
{
26
}
27
28
void
ShipFieldCreator::SetParm
()
29
{
30
FairRunAna *Run = FairRunAna::Instance();
31
FairRuntimeDb *RunDB = Run->GetRuntimeDb();
32
fFieldPar
= (
ShipFieldPar
*) RunDB->getContainer(
"ShipFieldPar"
);
33
34
}
35
36
FairField*
ShipFieldCreator::createFairField
()
37
{
38
FairField *fMagneticField=0;
39
40
if
( !
fFieldPar
) {
41
cerr <<
"-E- No field parameters available!"
42
<< endl;
43
}
else
{
44
// Instantiate correct field type
45
Int_t fType =
fFieldPar
->
GetType
();
46
if
( fType == 0 ) fMagneticField =
new
ShipConstField
(
fFieldPar
);
47
else
cerr <<
"-W- FairRunAna::GetField: Unknown field type "
<< fType
48
<< endl;
49
cout <<
"New field at "
<< fMagneticField <<
", type "
<< fType << endl;
50
// Initialise field
51
if
( fMagneticField ) {
52
fMagneticField->Init();
53
fMagneticField->Print(
""
);
54
}
55
}
56
return
fMagneticField;
57
}
58
59
60
ClassImp
(
ShipFieldCreator
)
ShipConstField.h
ShipFieldCreator.h
ShipFieldPar.h
ShipConstField
Definition
ShipConstField.h:27
ShipFieldCreator
Definition
ShipFieldCreator.h:17
ShipFieldCreator::SetParm
virtual void SetParm()
Definition
ShipFieldCreator.cxx:28
ShipFieldCreator::fFieldPar
ShipFieldPar * fFieldPar
Definition
ShipFieldCreator.h:27
ShipFieldCreator::ShipFieldCreator
ShipFieldCreator()
Definition
ShipFieldCreator.cxx:17
ShipFieldCreator::~ShipFieldCreator
virtual ~ShipFieldCreator()
Definition
ShipFieldCreator.cxx:24
ShipFieldCreator::createFairField
virtual FairField * createFairField()
Definition
ShipFieldCreator.cxx:36
ShipFieldPar
Definition
ShipFieldPar.h:12
ShipFieldPar::GetType
Int_t GetType() const
Definition
ShipFieldPar.h:40
ClassImp
ClassImp(ecalContFact) ecalContFact
Definition
ecalContFact.cxx:8
field
ShipFieldCreator.cxx
Generated by
1.9.8