29 declareProperty(
"ISFEnvelopeDefSvc",
31 "The ISF EnvelopeDefinition Service");
33 declareProperty(
"Tolerance",
35 "Tolerance on coordinates.");
37 declareProperty(
"InDetMaxExtentZ",
39 "The desired InnerDetector maximum extension in |z|");
58 return StatusCode::FAILURE;
65 double zMax = std::numeric_limits<double>::min();
68 for (
unsigned int curPos=0; curPos<
m_rposzInDet.size(); curPos++ ) {
92 if (msgLvl(MSG::VERBOSE)) {
94 for (
unsigned int num = 0; num<
m_rzBeamPipe.size(); num++) {
98 for (
unsigned int num = 0; num<
m_rzInDet.size(); num++) {
102 for (
unsigned int num = 0; num<
m_rzCalo.size(); num++) {
109 return StatusCode::SUCCESS;
116 return StatusCode::SUCCESS;
146 double shiftToZ )
const {
149 ATH_MSG_DEBUG(
"Will shift '" << volName <<
"' boundary at |z|="<<shiftFromZ<<
" to |z|="<<shiftToZ<<
"");
153 for (
unsigned int curPos=0; curPos<rposzPairs.size(); curPos++ ) {
154 double curR = rposzPairs[curPos].first;
155 double curZ = rposzPairs[curPos].second;
160 ATH_MSG_VERBOSE(
"Found boundary point in '" << volName <<
"' volume." <<
161 " Shifting (r,|z|)=("<<curR<<
","<<curZ<<
") to (r,|z|)=("<<curR<<
","<<shiftToZ<<
")");
163 rposzPairs[curPos].second = shiftToZ;
#define ATH_MSG_VERBOSE(x)
std::vector< RZPair > RZPairVector
static const char * getName(int region)
RZPairVector m_rzBeamPipe
internal (r,z) representation for BeamPipe, InnerDetector and calo volumes
const RZPairVector & getRZBoundary(AtlasDetDescr::AtlasRegion region) const
return a vector of (r,z) pairs, defining the respective envelope
RZPairVector m_rposzInDet
StatusCode finalize()
AthService finalize method.
ServiceHandle< IEnvelopeDefSvc > m_isfEnvDefSvc
ServiceHandle to the standard ISF envelope definition service.
~ATLFAST_EnvelopeDefSvc()
Destructor.
StatusCode initialize()
AthService initialize method.
ATLFAST_EnvelopeDefSvc(const std::string &name, ISvcLocator *svc)
public AthService constructor
const RZPairVector & getRPositiveZBoundary(AtlasDetDescr::AtlasRegion region) const
return a vector of (r,z) pairs, defining the envelope on the z>0 region
RZPairVector getShiftedBoundary(AtlasDetDescr::AtlasRegion region, double shiftFromZ, double shiftToZ) const
return boundary with shifted z values
double m_tolerance
internal tolerance on coordinates
RZPairVector m_rposzBeamPipe
internal (r,z) representation for the positive z-side only, one RZPairVector for BeamPipe and InnerDe...
double m_idMaxExtentZ
maximum desired extent (halfz) of the modified inner detector volume
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.