ATLAS Offline Software
intersectionHandler.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #include <iostream>
13 
14 using namespace xercesc;
15 
18  : XMLHandler(s, c)
19 {
20 }
21 
23  xercesc::DOMNode *t)
24 {
25  AGDDVolumeStore& vs = c.GetVolumeStore();
26  AGDDSectionStore& ss = c.GetSectionStore();
27  AGDDPositionerStore& ps = c.GetPositionerStore();
28 
29  bool res;
30  std::string name=getAttributeAsString(c, t, "name");
31  AGDDIntersection *is = new AGDDIntersection(name, vs, ss);
32 
33  StopLoop(true);
34 
35  DOMNode* child;
36 
37  int before=ps.NrOfPositioners();
38 
39  IAGDDParser& parser = *c.GetParser();
40  for (child=t->getFirstChild();child!=0;child=child->getNextSibling())
41  {
42  if (child->getNodeType()==DOMNode::ELEMENT_NODE) {
43  parser.elementLoop(c, child);
44  }
45  }
46 
47  int after=ps.NrOfPositioners();
48  for (int i=before;i<after;i++)
49  {
50  AGDDPositioner *posit=ps.GetPositioner(i);
51  if (vs.Exist(posit->Volume()))
52  is->AddDaughter(posit);
53  }
54 
55  std::string col=getAttributeAsString(c, t, "color",res);
56  if (res)
57  is->SetColor(col);
58 }
AGDDController.h
python.CaloScaleNoiseConfig.parser
parser
Definition: CaloScaleNoiseConfig.py:75
AGDDPositioner.h
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
intersectionHandler::intersectionHandler
intersectionHandler(const std::string &, AGDDController &c)
Definition: intersectionHandler.cxx:16
XercesParser.h
AGDDVolumeStore
Definition: AGDDVolumeStore.h:15
AGDDIntersection.h
AGDDVolumeStore.h
IAGDDParser
Definition: IAGDDParser.h:15
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
intersectionHandler::ElementHandle
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t) override
Definition: intersectionHandler.cxx:22
AGDDPositioner
Definition: AGDDPositioner.h:18
AGDDController
Definition: AGDDController.h:30
AGDDSectionStore
Definition: AGDDSectionStore.h:15
lumiFormat.i
int i
Definition: lumiFormat.py:85
AGDDIntersection
Definition: AGDDIntersection.h:13
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
AGDDVolumeStore::Exist
bool Exist(std::string)
Definition: AGDDVolumeStore.cxx:20
XMLHandler::getAttributeAsString
std::string getAttributeAsString(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition: XMLHandler.cxx:69
AGDDVolume::AddDaughter
void AddDaughter(AGDDPositioner *v)
Definition: AGDDVolume.cxx:21
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
intersectionHandler.h
AGDDPositionerStore
Definition: AGDDPositionerStore.h:14
XMLHandler
Definition: XMLHandler.h:15
query_example.col
col
Definition: query_example.py:7
AGDDPositionerStore::GetPositioner
AGDDPositioner * GetPositioner(unsigned int i)
Definition: AGDDPositionerStore.cxx:18
AGDDPositioner::Volume
const std::string & Volume()
Definition: AGDDPositioner.cxx:21
AGDDVolume::SetColor
void SetColor(const std::string &c)
Definition: AGDDVolume.h:36
AGDDPositionerStore::NrOfPositioners
int NrOfPositioners()
Definition: AGDDPositionerStore.h:19
AGDDPositionerStore.h
python.compressB64.c
def c
Definition: compressB64.py:93
XMLHandler::StopLoop
void StopLoop(bool)
Definition: XMLHandler.cxx:28