FairRoot/PandaRoot
PndMvdContFact.cxx
Go to the documentation of this file.
1 //
3 // PndMvdContFact
4 //
5 // Factory for the parameter containers in libPndMvd
6 //
8 
9 #include "PndMvdContFact.h"
10 #include "FairRuntimeDb.h"
11 //#include "PndMvdGeoPar.h"
12 #include "PndSdsPixelDigiPar.h"
13 #include "PndSdsStripDigiPar.h"
14 #include "PndSdsTotDigiPar.h"
15 #include "FairParRootFileIo.h"
16 #include "FairParAsciiFileIo.h"
17 #include "TList.h"
18 #include "TObjString.h"
19 #include <iostream>
20 #include <iomanip>
21 
23 
25 
27  fDigiParNames(new TList())
28 {
29  // Constructor (called when the library is loaded)
30  fName="PndMvdContFact";
31  fTitle="Factory for parameter containers in libPndMvd";
33  FairRuntimeDb::instance()->addContFactory(this);
34 }
36  if(0!=fDigiParNames)
37  {
38  fDigiParNames->Delete();
39  delete fDigiParNames;
40  }
41 }
42 
43 
47 // FairContainer* p= new FairContainer("PndMvdGeoPar","PndMvd Geometry Parameters","TestDefaultContext");
48 // p->addContext("TestNonDefaultContext");
49 // fDigiParNames->Add(new TObjString(p->GetName()));
50 // containers->Add(p);
51 
52  FairContainer* p2 = new FairContainer("MVDPixelDigiPar", "PndMvd Pixel Digitization Parameters", "TestDefaultContext");
53  p2->addContext("TestNonDefaultContext");
54  fDigiParNames->Add(new TObjString(p2->GetName()));
55  containers->Add(p2);
56 
57  FairContainer* p3 = new FairContainer("MVDStripDigiParRect", "PndMvd Strip Digitization Parameters (rectangular sensors)", "TestDefaultContext");
58  p3->addContext("TestNonDefaultContext");
59  fDigiParNames->Add(new TObjString(p3->GetName()));
60  containers->Add(p3);
61 
62  FairContainer* p4 = new FairContainer("MVDStripDigiParTrap", "PndMvd Strip Digitization Parameters (trapezoid sensors)", "TestDefaultContext");
63  p4->addContext("TestNonDefaultContext");
64  fDigiParNames->Add(new TObjString(p4->GetName()));
65  containers->Add(p4);
66 
67  FairContainer* p5 = new FairContainer("MVDStripDigiParTD", "PndMvd Strip Digitization Parameters (rectangular double sided test sensors)", "TestDefaultContext");
68  p5->addContext("TestNonDefaultContext");
69  fDigiParNames->Add(new TObjString(p5->GetName()));
70  containers->Add(p5);
71 
72  FairContainer* p6 = new FairContainer("MVDStripDigiParTS", "PndMvd Strip Digitization Parameters (rectangular single sided test sensors)", "TestDefaultContext");
73  p6->addContext("TestNonDefaultContext");
74  fDigiParNames->Add(new TObjString(p6->GetName()));
75  containers->Add(p6);
76 
77  FairContainer* p7 = new FairContainer("MVDPixelTotDigiPar", "PndMvd Pixel Charge to Tot Digitization Parameters", "TestDefaultContext");
78  p7->addContext("TestNonDefaultContext");
79  fDigiParNames->Add(new TObjString(p7->GetName()));
80  containers->Add(p7);
81 
82  FairContainer* p8 = new FairContainer("MVDStripTotDigiParRect", "PndMvd Strip Charge to Tot Digitization Parameters (rectangular sensors)", "TestDefaultContext");
83  p8->addContext("TestNonDefaultContext");
84  fDigiParNames->Add(new TObjString(p8->GetName()));
85  containers->Add(p8);
86 
87  FairContainer* p9 = new FairContainer("MVDStripTotDigiParTrap", "PndMvd Strip Charge to Tot Digitization Parameters (trapezoid sensors)", "TestDefaultContext");
88  p9->addContext("TestNonDefaultContext");
89  fDigiParNames->Add(new TObjString(p9->GetName()));
90  containers->Add(p9);
91 
92  FairContainer* p10 = new FairContainer("MVDStripTotDigiParTD", "PndMvd Strip Charge to Tot Digitization Parameters (rectangular double sided test sensors)", "TestDefaultContext");
93  p10->addContext("TestNonDefaultContext");
94  fDigiParNames->Add(new TObjString(p10->GetName()));
95  containers->Add(p10);
96 
97  FairContainer* p11 = new FairContainer("MVDStripTotDigiParTS", "PndMvd Strip Charge to Tot Digitization Parameters (rectangular single sided test sensors)", "TestDefaultContext");
98  p11->addContext("TestNonDefaultContext");
99  fDigiParNames->Add(new TObjString(p11->GetName()));
100  containers->Add(p11);
101 }
102 
103 FairParSet* PndMvdContFact::createContainer(FairContainer* c) {
107  const char* name=c->GetName();
108  FairParSet* p=NULL;
109 // if (strcmp(name,"PndMvdGeoPar")==0) {
110 // p=new PndMvdGeoPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
111 // }
112 
113  if (strcmp(name,"MVDPixelDigiPar")==0) {
114  p=new PndSdsPixelDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
115  }
116 
117  if (strcmp(name,"MVDStripDigiParRect")==0) {
118  p=new PndSdsStripDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
119  }
120 
121  if (strcmp(name,"MVDStripDigiParTrap")==0) {
122  p=new PndSdsStripDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
123  }
124 
125  if (strcmp(name,"MVDStripDigiParTD")==0) {
126  p=new PndSdsStripDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
127  }
128 
129  if (strcmp(name,"MVDStripDigiParTS")==0) {
130  p=new PndSdsStripDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
131  }
132 
133  if (strcmp(name,"MVDPixelTotDigiPar")==0) {
134  p=new PndSdsTotDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
135  }
136 
137  if (strcmp(name,"MVDStripTotDigiParRect")==0) {
138  p=new PndSdsTotDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
139  }
140 
141  if (strcmp(name,"MVDStripTotDigiParTrap")==0) {
142  p=new PndSdsTotDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
143  }
144 
145  if (strcmp(name,"MVDStripTotDigiParTD")==0) {
146  p=new PndSdsTotDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
147  }
148 
149  if (strcmp(name,"MVDStripTotDigiParTS")==0) {
150  p=new PndSdsTotDigiPar(c->getConcatName().Data(),c->GetTitle(),c->getContext());
151  }
152 
153  return p;
154 }
FairParSet * createContainer(FairContainer *c)
static PndMvdContFact gPndMvdContFact
Charge Digitization Parameter Class for SDS.
Double_t p
Definition: anasim.C:58
ClassImp(PndMvdContFact)
Digitization Parameter Class for MVD-Strip part.
TString name
TPad * p2
Definition: hist-t7.C:117
TList * fDigiParNames
Digitization Parameter Class for SDS-Pixel part.