ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
mm_readoutHandler Class Reference

#include <mm_readoutHandler.h>

Inheritance diagram for mm_readoutHandler:
Collaboration diagram for mm_readoutHandler:

Public Member Functions

 mm_readoutHandler (const std::string &, AGDDController &c)
 
virtual void ElementHandle (AGDDController &c, xercesc::DOMNode *t) override
 
const std::string & GetName () const
 
virtual void Handle (AGDDController &c, xercesc::DOMNode *t)
 
void StopLoop (bool)
 
bool IsLoopToBeStopped () const
 

Protected Member Functions

bool isAttribute (const xercesc::DOMNode *t, const std::string &) const
 
std::string getAttribute (const xercesc::DOMNode *t, const std::string &, bool &) const
 
std::string getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
 
std::string getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const
 
std::string getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::string &) const
 
double getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
 
double getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const
 
double getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const double) const
 
int getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
 
int getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const
 
int getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const int) const
 
std::vector< double > getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
 
std::vector< double > getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const
 
std::vector< double > getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::vector< double > &) const
 
std::vector< int > getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
 
std::vector< int > getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const
 
std::vector< int > getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::vector< int > &) const
 

Protected Attributes

std::string m_name
 
bool m_stopLoop
 

Private Member Functions

void RegisterToStore (AGDDController &c)
 

Detailed Description

Definition at line 11 of file mm_readoutHandler.h.

Constructor & Destructor Documentation

◆ mm_readoutHandler()

mm_readoutHandler::mm_readoutHandler ( const std::string &  s,
AGDDController c 
)

Definition at line 13 of file mm_readoutHandler.cxx.

15  : XMLHandler(s, c)
16 {
17 }

Member Function Documentation

◆ ElementHandle()

void mm_readoutHandler::ElementHandle ( AGDDController c,
xercesc::DOMNode *  t 
)
overridevirtual

Implements XMLHandler.

Definition at line 19 of file mm_readoutHandler.cxx.

21 {
22  micromegasHandler* mmHand = dynamic_cast<micromegasHandler*>
23  (c.GetHandlerStore().GetHandler("micromegas"));
24  if (!mmHand) std::abort();
25 
27  // std::cout<<" this is mm_readoutHandler::Handle"<<MM->GetName()<<std::endl;
28 
29  bool ret=true;
30  MM->roParameters.stripPitch = getAttributeAsDouble (c, t, "stripPitch", ret);
31  if (! ret) std::cout << "WARNING: stripPitch is missing" << std::endl;
32 
33  MM->roParameters.gasThickness = getAttributeAsDouble (c, t, "gasThickness", ret);
34  if (! ret) std::cout << "WARNING: gasThickness is missing" << std::endl;
35 
36  MM->roParameters.pcbThickness = getAttributeAsDouble (c, t, "pcbThickness", ret);
37  if (! ret) std::cout << "WARNING: pcbThickness is missing" << std::endl;
38 
39  MM->roParameters.driftThickness = getAttributeAsDouble (c, t, "driftThickness", ret);
40  if (! ret) std::cout << "WARNING: driftThickness is missing" << std::endl;
41 
42  MM->roParameters.stereoAngle = getAttributeAsVector (c, t, "stereoAngle", ret);
43  if (! ret) std::cout << "WARNING: stereoAngle is missing" << std::endl;
44 
45  MM->roParameters.readoutSide = getAttributeAsIntVector (c, t, "readoutSide", ret);
46  if (! ret) std::cout << "WARNING: readoutSide is missing" << std::endl;
47 
48  MM->roParameters.zpos = getAttributeAsDouble (c, t, "zPos", ret);
49  if (! ret) std::cout << "WARNING: zPos is missing" << std::endl;
50 
51  MM->roParameters.distanceFromZAxis = getAttributeAsDouble (c, t, "distanceFromZAxis", ret);
52  if (! ret) std::cout << "WARNING: distanceFromZAxis is missing" << std::endl;
53 
54  MM->roParameters.roLength = getAttributeAsDouble (c, t, "roLength", ret);
55  if (! ret) std::cout << "WARNING: roLength is missing" << std::endl;
56 
57  MM->roParameters.activeBottomLength = getAttributeAsDouble (c, t, "activeBottomLength", ret);
58  if (! ret) std::cout << "WARNING: activeBottomLength is missing" << std::endl;
59 
60  MM->roParameters.activeTopLength = getAttributeAsDouble (c, t, "activeTopLength", ret);
61  if (! ret) std::cout << "WARNING: activeTopLength is missing" << std::endl;
62 
63  MM->roParameters.activeH = getAttributeAsDouble (c, t, "activeH", ret);
64  if (! ret) std::cout << "WARNING: activeH is missing" << std::endl;
65 
66  MM->roParameters.minYPhiL = getAttributeAsDouble (c, t, "minYPhiL", ret);
67  if (! ret) std::cout << "WARNING: minYPhiL is missing" << std::endl;
68 
69  MM->roParameters.minYPhiR = getAttributeAsDouble (c, t, "minYPhiR", ret);
70  if (! ret) std::cout << "WARNING: minYPhiR is missing" << std::endl;
71 
72  MM->roParameters.maxYPhi = getAttributeAsDouble (c, t, "maxYPhi", ret);
73  if (! ret) std::cout << "WARNING: maxYPhi is missing" << std::endl;
74 
75  MM->roParameters.dlStereoBottom = getAttributeAsDouble (c, t, "dlStereoBottom", ret);
76  if (! ret) std::cout << "WARNING: dlStereoBottom is missing" << std::endl;
77 
78  MM->roParameters.dlStereoTop = getAttributeAsDouble (c, t, "dlStereoTop", ret);
79  if (! ret) std::cout << "WARNING: dlStereoTop is missing" << std::endl;
80 
81  MM->roParameters.nMissedTopEta = getAttributeAsInt (c, t, "nMissedTopEta", ret);
82  if (! ret) std::cout << "WARNING: nMissedTopEta is missing" << std::endl;
83 
84  MM->roParameters.nMissedBottomEta = getAttributeAsInt (c, t, "nMissedBottomEta", ret);
85  if (! ret) std::cout << "WARNING: nMissedBottomEta is missing" << std::endl;
86 
87  MM->roParameters.nMissedTopStereo = getAttributeAsInt (c, t, "nMissedTopStereo", ret);
88  if (! ret) std::cout << "WARNING: nMissedTopStereo is missing" << std::endl;
89 
90  MM->roParameters.nMissedBottomStereo = getAttributeAsInt (c, t, "nMissedBottomStereo", ret);
91  if (! ret) std::cout << "WARNING: nMissedBottomStereo is missing" << std::endl;
92 
93  MM->roParameters.nRoutedTop = getAttributeAsInt (c, t, "nRoutedTop", ret);
94  if (! ret) std::cout << "WARNING: nRoutedTop is missing" << std::endl;
95 
96  MM->roParameters.nRoutedBottom = getAttributeAsInt (c, t, "nRoutedBottom", ret);
97  if (! ret) std::cout << "WARNING: nRoutedBottom is missing" << std::endl;
98 
99  MM->roParameters.tStrips = getAttributeAsInt (c, t, "totalStrips", ret);
100  if (! ret) std::cout << "WARNING: totalStrips is missing" << std::endl;
101 
102 
103 }

◆ getAttribute()

std::string XMLHandler::getAttribute ( const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 43 of file XMLHandler.cxx.

45 {
46  std::string retValue="";
47  isPresent=false;
48  if (t->hasAttributes()) {
49  DOMNamedNodeMap *pAttributes = t->getAttributes();
50  auto deleter = [&](XMLCh buf[]) { XMLString::release(&buf); };
51  std::unique_ptr<XMLCh[], decltype(deleter)> ptr(XMLString::transcode(name.c_str()), deleter);
52  DOMAttr *pAttributeNode = (DOMAttr*) pAttributes->getNamedItem(ptr.get());
53  if (pAttributeNode) {
54 
55  char* val=XMLString::transcode(pAttributeNode->getValue());
56  if (val) {
57 
58  isPresent=true;
59  retValue=val;
61  return retValue;
62  }
63  }
64  else return retValue;
65 
66  }
67  return retValue;
68 }

◆ getAttributeAsDouble() [1/3]

double XMLHandler::getAttributeAsDouble ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 78 of file XMLHandler.cxx.

81 {
82  double res=0.;
83  bool isPresent;
84  std::string temp=getAttribute(t, name,isPresent);
85  if (!isPresent) std::abort();
86  res=c.Evaluator().Eval(temp.c_str());
87  return res;
88 }

◆ getAttributeAsDouble() [2/3]

double XMLHandler::getAttributeAsDouble ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 139 of file XMLHandler.cxx.

142 {
143  double res=0.;
144  std::string temp=getAttribute(t, name,isPresent);
145  if (isPresent)
146  {
147  res=c.Evaluator().Eval(temp.c_str());
148  }
149  return res;
150 }

◆ getAttributeAsDouble() [3/3]

double XMLHandler::getAttributeAsDouble ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
const double  def 
) const
protectedinherited

Definition at line 206 of file XMLHandler.cxx.

209 {
210  bool isPresent;
211  double res=0.;
212  std::string temp=getAttribute(t, name,isPresent);
213  if (isPresent)
214  {
215  res=c.Evaluator().Eval(temp.c_str());
216  return res;
217  }
218  return def;
219 }

◆ getAttributeAsInt() [1/3]

int XMLHandler::getAttributeAsInt ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 89 of file XMLHandler.cxx.

92 {
93  int res=0;
94  bool isPresent;
95  std::string temp=getAttribute(t, name,isPresent);
96  if (!isPresent) std::abort();
97  res=c.Evaluator().Eval(temp.c_str());
98  return res;
99 }

◆ getAttributeAsInt() [2/3]

int XMLHandler::getAttributeAsInt ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 151 of file XMLHandler.cxx.

154 {
155  int res=0;
156  std::string temp=getAttribute(t, name,isPresent);
157  if (isPresent)
158  {
159  res=c.Evaluator().Eval(temp.c_str());
160  }
161  return res;
162 }

◆ getAttributeAsInt() [3/3]

int XMLHandler::getAttributeAsInt ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
const int  def 
) const
protectedinherited

Definition at line 220 of file XMLHandler.cxx.

223 {
224  bool isPresent;
225  int res=0;
226  std::string temp=getAttribute(t, name,isPresent);
227  if (isPresent)
228  {
229  res=c.Evaluator().Eval(temp.c_str());
230  return res;
231  }
232  return def;
233 }

◆ getAttributeAsIntVector() [1/3]

std::vector< int > XMLHandler::getAttributeAsIntVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 116 of file XMLHandler.cxx.

119 {
120  bool isPresent;
121  std::vector<int> vect;
122  std::string temp=getAttribute(t, name,isPresent);
123  if (!isPresent) std::abort();
124  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
125  for (unsigned int i=0;i<v.size();i++)
126  {
127  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
128  }
129  return vect;
130 }

◆ getAttributeAsIntVector() [2/3]

std::vector< int > XMLHandler::getAttributeAsIntVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 180 of file XMLHandler.cxx.

183 {
184  std::vector<int> vect;
185  std::string temp=getAttribute(t, name,isPresent);
186  if (isPresent)
187  {
188  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
189  for (unsigned int i=0;i<v.size();i++)
190  {
191  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
192  }
193  }
194  return vect;
195 }

◆ getAttributeAsIntVector() [3/3]

std::vector< int > XMLHandler::getAttributeAsIntVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
const std::vector< int > &  def 
) const
protectedinherited

Definition at line 253 of file XMLHandler.cxx.

256 {
257  bool isPresent;
258  std::vector<int> vect;
259  std::string temp=getAttribute(t, name,isPresent);
260  if (isPresent)
261  {
262  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
263  for (unsigned int i=0;i<v.size();i++)
264  {
265  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
266  }
267  return vect;
268  }
269  return def;
270 }

◆ getAttributeAsString() [1/3]

std::string XMLHandler::getAttributeAsString ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 69 of file XMLHandler.cxx.

72 {
73  bool isPresent;
74  std::string temp=getAttribute(t, name,isPresent);
75  if (!isPresent) std::abort();
76  return temp;
77 }

◆ getAttributeAsString() [2/3]

std::string XMLHandler::getAttributeAsString ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 132 of file XMLHandler.cxx.

135 {
136  std::string temp=getAttribute(t, name,isPresent);
137  return temp;
138 }

◆ getAttributeAsString() [3/3]

std::string XMLHandler::getAttributeAsString ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
const std::string &  def 
) const
protectedinherited

Definition at line 197 of file XMLHandler.cxx.

200 {
201  bool isPresent;
202  std::string temp=getAttribute(t, name,isPresent);
203  if (isPresent) return temp;
204  else return def;
205 }

◆ getAttributeAsVector() [1/3]

std::vector< double > XMLHandler::getAttributeAsVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 100 of file XMLHandler.cxx.

103 {
104  bool isPresent;
105  std::vector<double> vect;
106  std::string temp=getAttribute(t, name,isPresent);
107  if (!isPresent) std::abort();
108  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
109  for (unsigned int i=0;i<v.size();i++)
110  {
111  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
112  }
113  return vect;
114 }

◆ getAttributeAsVector() [2/3]

std::vector< double > XMLHandler::getAttributeAsVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
bool &  isPresent 
) const
protectedinherited

Definition at line 163 of file XMLHandler.cxx.

166 {
167  std::vector<double> vect;
168  std::string temp=getAttribute(t, name,isPresent);
169  if (isPresent)
170  {
171  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
172  for (unsigned int i=0;i<v.size();i++)
173  {
174  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
175  }
176  }
177  return vect;
178 }

◆ getAttributeAsVector() [3/3]

std::vector< double > XMLHandler::getAttributeAsVector ( AGDDController c,
const xercesc::DOMNode *  t,
const std::string &  name,
const std::vector< double > &  def 
) const
protectedinherited

Definition at line 234 of file XMLHandler.cxx.

237 {
238  bool isPresent;
239  std::vector<double> vect;
240  std::string temp=getAttribute(t, name,isPresent);
241  if (isPresent)
242  {
243  std::vector<std::string> v=c.Evaluator().tokenize(";",temp);
244  for (unsigned int i=0;i<v.size();i++)
245  {
246  vect.push_back(c.Evaluator().Eval(v[i].c_str()));
247  }
248  return vect;
249  }
250  return def;
251 }

◆ GetName()

const std::string& XMLHandler::GetName ( ) const
inlineinherited

Definition at line 19 of file XMLHandler.h.

19 {return m_name;}

◆ Handle()

virtual void XMLHandler::Handle ( AGDDController c,
xercesc::DOMNode *  t 
)
inlinevirtualinherited

Definition at line 22 of file XMLHandler.h.

24  {
25  ElementHandle(c, t);
26  }

◆ isAttribute()

bool XMLHandler::isAttribute ( const xercesc::DOMNode *  t,
const std::string &  name 
) const
protectedinherited

Definition at line 36 of file XMLHandler.cxx.

38 {
39  bool res;
40  std::string temp=getAttribute(t, name,res);
41  return res;
42 }

◆ IsLoopToBeStopped()

bool XMLHandler::IsLoopToBeStopped ( ) const
inherited

Definition at line 32 of file XMLHandler.cxx.

33 {
34  return m_stopLoop;
35 }

◆ RegisterToStore()

void XMLHandler::RegisterToStore ( AGDDController c)
privateinherited

Definition at line 23 of file XMLHandler.cxx.

24 {
25  c.GetHandlerStore().RegisterHandler(this);
26 }

◆ StopLoop()

void XMLHandler::StopLoop ( bool  v)
inherited

Definition at line 28 of file XMLHandler.cxx.

29 {
30  m_stopLoop=v;
31 }

Member Data Documentation

◆ m_name

std::string XMLHandler::m_name
protectedinherited

Definition at line 30 of file XMLHandler.h.

◆ m_stopLoop

bool XMLHandler::m_stopLoop
protectedinherited

Definition at line 31 of file XMLHandler.h.


The documentation for this class was generated from the following files:
temp
Definition: JetEventDict.h:21
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
CoreParser::DOMNamedNodeMap
std::map< std::string, std::string > DOMNamedNodeMap
Definition: DOMNode.h:15
MM
@ MM
Definition: RegSelEnums.h:38
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
XMLHandler::getAttributeAsDouble
double getAttributeAsDouble(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:78
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
MMDetectorDescription
Definition: MMDetectorDescription.h:45
lumiFormat.i
int i
Definition: lumiFormat.py:85
XMLHandler::ElementHandle
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t)=0
python.DecayParser.buf
buf
print ("=> [%s]"cmd)
Definition: DecayParser.py:27
XMLHandler::getAttributeAsVector
std::vector< double > getAttributeAsVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:100
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
XMLHandler::getAttribute
std::string getAttribute(const xercesc::DOMNode *t, const std::string &, bool &) const
Definition: XMLHandler.cxx:43
XMLHandler::m_name
std::string m_name
Definition: XMLHandler.h:30
XMLHandler::getAttributeAsIntVector
std::vector< int > getAttributeAsIntVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:116
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
XMLHandler::XMLHandler
XMLHandler(const std::string &n, AGDDController &c)
Definition: XMLHandler.cxx:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
XMLHandler::m_stopLoop
bool m_stopLoop
Definition: XMLHandler.h:31
python.PyAthena.v
v
Definition: PyAthena.py:154
XMLHandler::getAttributeAsInt
int getAttributeAsInt(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:89
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
micromegasHandler
Definition: micromegasHandler.h:14
micromegasHandler::GetMMCurrent
MMDetectorDescription * GetMMCurrent()
Definition: micromegasHandler.cxx:57
python.compressB64.c
def c
Definition: compressB64.py:93