ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
AGDD
AGDDHandlers
src
mposWedgeHandler.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/mposWedgeHandler.h
"
6
#include "
AGDDKernel/AGDDPositioner.h
"
7
#include "
AGDDControl/AGDDController.h
"
8
#include "GeoModelKernel/Units.h"
9
10
#include <iostream>
11
#include <vector>
12
13
mposWedgeHandler::mposWedgeHandler
(
const
std::string& s,
14
AGDDController
& c)
15
:
XMLHandler
(s, c)
16
{
17
}
18
19
void
mposWedgeHandler::ElementHandle
(
AGDDController
& c,
20
xercesc::DOMNode *t)
21
{
22
bool
res
;
23
std::string volume=
getAttributeAsString
(c, t,
"volume"
,
res
);
24
int
iWedge=
getAttributeAsInt
(c, t,
"wedge_number"
,8);
25
std::vector<double> iSectors=
getAttributeAsVector
(c, t,
"sectors"
,
res
);
26
27
double
dWedge=360./iWedge;
28
29
double
radius=0;
30
for
(
int
i=0;i<iWedge;i++)
31
{
32
double
Wedge=dWedge*i;
33
if
((
int
)iSectors[i]==0)
continue
;
34
GeoTrf::Transform3D crot = GeoTrf::RotateZ3D(Wedge*GeoModelKernelUnits::degree);
35
double
x
=radius*std::cos(Wedge*GeoModelKernelUnits::degree);
36
double
y
=radius*std::sin(Wedge*GeoModelKernelUnits::degree);
37
double
zpos=0;
38
GeoTrf::Vector3D cvec=GeoTrf::Vector3D(
x
,
y
,zpos);
39
40
new
AGDDPositioner
(c.GetPositionerStore(),
41
c.GetVolumeStore(),
42
volume,GeoTrf::Translation3D(cvec)*crot);
43
}
44
}
AGDDController.h
AGDDPositioner.h
res
std::pair< std::vector< unsigned int >, bool > res
Definition
JetGroupProductTest.cxx:11
y
#define y
x
#define x
AGDDController
Definition
AGDDController.h:30
AGDDPositioner
Definition
AGDDPositioner.h:18
XMLHandler::getAttributeAsInt
int getAttributeAsInt(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition
XMLHandler.cxx:89
XMLHandler::getAttributeAsVector
std::vector< double > getAttributeAsVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
Definition
XMLHandler.cxx:100
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
mposWedgeHandler::mposWedgeHandler
mposWedgeHandler(const std::string &, AGDDController &c)
Definition
mposWedgeHandler.cxx:13
mposWedgeHandler::ElementHandle
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t) override
Definition
mposWedgeHandler.cxx:19
mposWedgeHandler.h
Generated on
for ATLAS Offline Software by
1.17.0