er  dev
ERNeuRadContFact.cxx
1 #include "ERNeuRadContFact.h"
2 
3 #include "ERNeuRadGeoPar.h"
4 #include "ERNeuRadDigiPar.h"
5 
6 #include "FairRuntimeDb.h"
7 
8 #include <iostream>
9 using namespace std;
10 
11 static ERNeuRadContFact gERNeuRadContFact;
12 
14 {
16  fName="ERNeuRadContFact";
17  fTitle="Factory for parameter containers in libTutorial1";
18  setAllContainers();
19  FairRuntimeDb::instance()->addContFactory(this);
20 }
21 
23 {
29  FairContainer* p1= new FairContainer("ERNeuRadGeoPar",
30  "ERNeuRadGeoPar",
31  "TestDefaultContext");
32  p1->addContext("TestNonDefaultContext");
33 
34  containers->Add(p1);
35 
36  FairContainer* p2= new FairContainer("ERNeuRadDigiPar",
37  "ERNeuRadDigiPar",
38  "TestDefaultContext");
39  p2->addContext("TestNonDefaultContext");
40 
41  containers->Add(p2);
42 }
43 
44 FairParSet* ERNeuRadContFact::createContainer(FairContainer* c)
45 {
46  const char* name=c->GetName();
47  FairParSet* p=NULL;
48  if (strcmp(name,"ERNeuRadGeoPar")==0) {
49  p=new ERNeuRadGeoPar(c->getConcatName().Data(),
50  c->GetTitle(),c->getContext());
51  }
52  if (strcmp(name,"ERNeuRadDigiPar")==0) {
53  p=new ERNeuRadDigiPar(c->getConcatName().Data(),
54  c->GetTitle(),c->getContext());
55  }
56  return p;
57 }
58 
59 ClassImp(ERNeuRadContFact)