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