ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
AGDD
AGDDHandlers
src
compositionHandler.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/compositionHandler.h
"
6
#include "
AGDDModel/AGDDComposition.h
"
7
#include "
AGDDControl/XercesParser.h
"
8
#include "
AGDDControl/AGDDController.h
"
9
#include <iostream>
10
#include "
AGDDKernel/AGDDPositioner.h
"
11
#include "
AGDDKernel/AGDDPositionerStore.h
"
12
#include "
AGDDKernel/AGDDVolumeStore.h
"
13
14
15
using namespace
xercesc;
16
17
compositionHandler::compositionHandler
(
const
std::string& s,
18
AGDDController
& c)
19
:
XMLHandler
(s, c)
20
{
21
}
22
23
void
compositionHandler::ElementHandle
(
AGDDController
& c,
24
xercesc::DOMNode *t)
25
{
26
std::string name=
getAttributeAsString
(c, t,
"name"
);
27
// if (msgLog().level()<=MSG::DEBUG)
28
// msgLog()<<MSG::DEBUG<<" Composition "<<name<<endmsg;
29
30
AGDDComposition
*
cm
=
new
AGDDComposition
(name, c.GetVolumeStore(), c.GetSectionStore());
31
32
StopLoop
(
true
);
33
DOMNode *child;
34
35
int
before=c.GetPositionerStore().NrOfPositioners();
36
37
IAGDDParser
& parser = *c.GetParser();
38
for
(child=t->getFirstChild();child!=0;child=child->getNextSibling())
39
{
40
if
(child->getNodeType()==DOMNode::ELEMENT_NODE) {
41
parser.elementLoop(c, child);
42
}
43
}
44
45
int
after=c.GetPositionerStore().NrOfPositioners();
46
for
(
int
i=before;i<after;i++)
47
{
48
AGDDPositioner
*posit=c.GetPositionerStore().GetPositioner(i);
49
if
(c.GetVolumeStore().Exist(posit->
Volume
()))
50
cm
->AddDaughter(posit);
51
}
52
53
}
AGDDComposition.h
AGDDController.h
AGDDPositionerStore.h
AGDDPositioner.h
AGDDVolumeStore.h
cm
const double cm
Definition
Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
XercesParser.h
AGDDComposition
Definition
AGDDComposition.h:13
AGDDController
Definition
AGDDController.h:30
AGDDPositioner
Definition
AGDDPositioner.h:18
AGDDPositioner::Volume
const std::string & Volume()
Definition
AGDDPositioner.cxx:21
IAGDDParser
Definition
IAGDDParser.h:15
XMLHandler::StopLoop
void StopLoop(bool)
Definition
XMLHandler.cxx:28
XMLHandler::XMLHandler
XMLHandler(const std::string &n, AGDDController &c)
Definition
XMLHandler.cxx:15
XMLHandler::getAttributeAsString
std::string getAttributeAsString(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition
XMLHandler.cxx:69
compositionHandler::ElementHandle
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t) override
Definition
compositionHandler.cxx:23
compositionHandler::compositionHandler
compositionHandler(const std::string &, AGDDController &c)
Definition
compositionHandler.cxx:17
compositionHandler.h
Generated on
for ATLAS Offline Software by
1.17.0