ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSiArrayContFact.cxx
Go to the documentation of this file.
1 #include "AtSiArrayContFact.h"
2 
3 #include "AtSiArrayGeoPar.h"
4 
5 #include <FairContFact.h>
6 #include <FairRuntimeDb.h>
7 
8 #include <TList.h>
9 #include <TString.h>
10 
11 #include <cstring>
12 
13 class FairParSet;
14 
16 
17  static AtSiArrayContFact gAtSiArrayContFact;
18 
20 {
22  fName = "AtSiArrayContFact";
23  fTitle = "Factory for parameter containers in libAtSiArray";
24  setAllContainers();
25  FairRuntimeDb::instance()->addContFactory(this);
26 }
27 
28 void AtSiArrayContFact::setAllContainers()
29 {
34  // NOLINTNEXTLINE (I think FairRoot owns this memory)
35  auto *p = new FairContainer("AtSiArrayGeoPar", "AtSiArray Geometry Parameters", "TestDefaultContext");
36  p->addContext("TestNonDefaultContext");
37 
38  containers->Add(p);
39 }
40 
41 FairParSet *AtSiArrayContFact::createContainer(FairContainer *c)
42 {
48  const char *name = c->GetName();
49  FairParSet *p = nullptr;
50  if (strcmp(name, "AtSiArrayGeoPar") == 0) {
51  p = new AtSiArrayGeoPar(c->getConcatName().Data(), c->GetTitle(), c->getContext());
52  }
53  return p;
54 }
AtSiArrayContFact
Definition: AtSiArrayContFact.h:13
AtSiArrayContFact::AtSiArrayContFact
AtSiArrayContFact()
Definition: AtSiArrayContFact.cxx:19
AtSiArrayGeoPar.h
AtSiArrayGeoPar
Definition: AtSiArrayGeoPar.h:14
AtSiArrayContFact.h
ClassImp
ClassImp(AtSiArrayContFact) static AtSiArrayContFact gAtSiArrayContFact
c
constexpr auto c
Definition: AtRadialChargeModel.cxx:20
AtSiArrayContFact::createContainer
FairParSet * createContainer(FairContainer *)
Definition: AtSiArrayContFact.cxx:41