BmnRoot
Loading...
Searching...
No Matches
CbmStsContFact.cxx
Go to the documentation of this file.
1
//*-- AUTHOR : Denis Bertini
2
//*-- Created : 20/06/2005
3
5
//
6
// CbmStsContFact
7
//
8
// Factory for the parameter containers in libSts
9
//
11
12
13
#include "
CbmStsContFact.h
"
14
15
#include "
CbmStsParRootFileIo.h
"
16
#include "
CbmStsParAsciiFileIo.h
"
17
#include "
CbmGeoStsPar.h
"
18
#include "
CbmStsDigiPar.h
"
19
20
#include "FairRuntimeDb.h"
21
#include "
CbmParTest.h
"
22
#include "FairParRootFileIo.h"
23
#include "FairParAsciiFileIo.h"
24
25
#include "TClass.h"
26
27
#include <iostream>
28
#include <iomanip>
29
30
using
std::cout;
31
using
std::endl;
32
33
static
CbmStsContFact
gCbmStsContFact;
34
35
CbmStsContFact::CbmStsContFact
() {
36
// Constructor (called when the library is loaded)
37
fName=
"CbmStsContFact"
;
38
fTitle=
"Factory for parameter containers in libSts"
;
39
setAllContainers();
40
FairRuntimeDb::instance()->addContFactory(
this
);
41
}
42
43
void
CbmStsContFact::setAllContainers() {
46
FairContainer* p1=
new
FairContainer(
"CbmStsDigiPar"
,
47
"Sts Digitisation Parameters"
,
48
"TestDefaultContext"
);
49
p1->addContext(
"TestNonDefaultContext"
);
50
51
FairContainer* p2=
new
FairContainer(
"CbmGeoStsPar"
,
52
"Sts Geometry Parameters"
,
53
"TestDefaultContext"
);
54
p2->addContext(
"TestNonDefaultContext"
);
55
56
containers->Add(p1);
57
containers->Add(p2);
58
}
59
60
FairParSet*
CbmStsContFact::createContainer
(FairContainer* c) {
64
const
char
* name=c->GetName();
65
//cout << " -I container name " << name << endl;
66
FairParSet* p=0;
67
if
(strcmp(name,
"CbmStsDigiPar"
)==0) {
68
p=
new
CbmStsDigiPar
(c->getConcatName().Data(),c->GetTitle(),c->getContext());
69
}
70
if
(strcmp(name,
"CbmGeoStsPar"
)==0) {
71
p=
new
CbmGeoStsPar
(c->getConcatName().Data(),c->GetTitle(),c->getContext());
72
}
73
return
p;
74
}
75
76
void
CbmStsContFact::activateParIo
(FairParIo* io) {
77
// activates the input/output class for the parameters
78
// needed by the Sts
79
if
(strcmp(io->IsA()->GetName(),
"FairParRootFileIo"
)==0) {
80
CbmStsParRootFileIo
* p=
new
CbmStsParRootFileIo
(((FairParRootFileIo*)io)->getParRootFile());
81
io->setDetParIo(p);
82
}
83
if
(strcmp(io->IsA()->GetName(),
"FairParAsciiFileIo"
)==0) {
84
CbmStsParAsciiFileIo
* p=
new
CbmStsParAsciiFileIo
(((FairParAsciiFileIo*)io)->getFile());
85
io->setDetParIo(p);
86
}
87
}
88
CbmParTest.h
CbmGeoStsPar
Definition
CbmGeoStsPar.h:8
CbmStsContFact
Definition
CbmStsContFact.h:8
CbmStsContFact::activateParIo
void activateParIo(FairParIo *io)
Definition
CbmStsContFact.cxx:76
CbmStsContFact::createContainer
FairParSet * createContainer(FairContainer *)
Definition
CbmStsContFact.cxx:60
CbmStsContFact::CbmStsContFact
CbmStsContFact()
Definition
CbmStsContFact.cxx:35
CbmStsDigiPar
Definition
CbmStsDigiPar.h:38
CbmStsParAsciiFileIo
Definition
CbmStsParAsciiFileIo.h:15
CbmStsParRootFileIo
Definition
CbmStsParRootFileIo.h:13
CbmGeoStsPar.h
CbmStsContFact.h
CbmStsDigiPar.h
CbmStsParAsciiFileIo.h
CbmStsParRootFileIo.h
detectors
sts
CbmStsContFact.cxx
Generated on Fri May 15 2026 10:40:52 for BmnRoot by
1.9.8