CbmRoot
Loading...
Searching...
No Matches
CbmFsdContFact.cxx
Go to the documentation of this file.
1/* Copyright (C) 2023 Physikalisches Institut, Eberhard Karls Universitaet Tuebingen, Tuebingen
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig, Lukas Chlad [committer] */
4
14#include "CbmFsdContFact.h"
15
16#include "CbmFsdDigiPar.h"
17
18#include <FairContFact.h> // for FairContainer
19#include <FairRuntimeDb.h> // for FairRuntimeDb
20#include <Logger.h> // for LOG
21
22#include <TList.h> // for TList
23#include <TString.h> // for TString
24
25#include <string.h> // for strcmp
26
28
29 static CbmFsdContFact gCbmFsdContFact;
30
32{
33 // Constructor (called when the library is loaded)
34 fName = "CbmFsdContFact";
35 fTitle = "Factory for parameter containers in libFsdBase";
37 FairRuntimeDb::instance()->addContFactory(this);
38}
39
41{
45 FairContainer* p1 =
46 new FairContainer("CbmFsdDigiPar", "Digitization parameters for the FSD detector",
47 "Needed parameters to adjust FsdDigitizer according to the geometry and read-out propetries");
48 p1->addContext("Needed parameters to adjust FsdDigitizer according to the geometry and read-out propetries");
49
50 containers->Add(p1);
51}
52
53FairParSet* CbmFsdContFact::createContainer(FairContainer* c)
54{
58 const char* name = c->GetName();
59 LOG(info) << " -I container name " << name;
60 FairParSet* p = nullptr;
61
62 if (strcmp(name, "CbmFsdDigiPar") == 0) {
63 p = new CbmFsdDigiPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
64 }
65
66 return p;
67}
ClassImp(CbmFsdContFact) static CbmFsdContFact gCbmFsdContFact
FairParSet * createContainer(FairContainer *)