ATLAS Offline Software
DetectorDescription
AGDD
AGDDHandlers
src
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
5
#include "
AGDDHandlers/intersectionHandler.h
"
6
#include "
AGDDModel/AGDDIntersection.h
"
7
#include "
AGDDControl/XercesParser.h
"
8
#include "
AGDDControl/AGDDController.h
"
9
#include <iostream>
10
#include "
AGDDKernel/AGDDPositioner.h
"
11
#include "
AGDDKernel/AGDDVolumeStore.h
"
12
#include "
AGDDKernel/AGDDPositionerStore.h
"
13
14
using namespace
xercesc;
15
16
intersectionHandler::intersectionHandler
(
const
std::string&
s
,
17
AGDDController
&
c
)
18
:
XMLHandler
(
s
,
c
)
19
{
20
}
21
22
void
intersectionHandler::ElementHandle
(
AGDDController
&
c
,
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
Generated on Thu Nov 7 2024 21:17:15 for ATLAS Offline Software by
1.8.18