10#ifndef SUBDETECTORENVELOPES_DETDESCRDBENVELOPESVC_H
11#define SUBDETECTORENVELOPES_DETDESCRDBENVELOPESVC_H
84 std::array<StringProperty,AtlasDetDescr::fNumAtlasRegions>
m_node{{
85 {
this,
"DBUndefinedNode",
""}
86 , {
this,
"DBInDetNode",
"InDetEnvelope"}
87 , {
this,
"DBBeamPipeNode",
"BeamPipeEnvelope"}
88 , {
this,
"DBCaloNode",
"CaloEnvelope"}
89 , {
this,
"DBMSNode",
"MuonEnvelope"}
90 , {
this,
"DBCavernNode",
"CavernEnvelope"}
103 std::array<DoubleArrayProperty,AtlasDetDescr::fNumAtlasRegions>
m_fallbackR{{
104 {
this,
"FallbackUndefinedR", {}}
105 , {
this,
"FallbackInDetR", {}}
106 , {
this,
"FallbackBeamPipeR", {}}
107 , {
this,
"FallbackCaloR", {}}
108 , {
this,
"FallbackMuonR", {}}
109 , {
this,
"FallbackCavernR", {}}
112 std::array<DoubleArrayProperty,AtlasDetDescr::fNumAtlasRegions>
m_fallbackZ{{
113 {
this,
"FallbackUndefinedZ", {}}
114 , {
this,
"FallbackInDetZ", {}}
115 , {
this,
"FallbackBeamPipeZ", {}}
116 , {
this,
"FallbackCaloZ", {}}
117 , {
this,
"FallbackMuonZ", {}}
118 , {
this,
"FallbackCavernZ", {}}
std::vector< double > FallbackDoubleVector
datatype used for fallback solution
Definition of the abstract IRDBAccessSvc interface.
std::vector< RZPair > RZPairVector
~DetDescrDBEnvelopeSvc()
Destructor.
bool enableFallback()
enable fallback solution:
std::array< DoubleArrayProperty, AtlasDetDescr::fNumAtlasRegions > m_fallbackR
DetDescrDBEnvelopeSvc(const std::string &name, ISvcLocator *svc)
public AthService constructor
ServiceHandle< IGeoModelSvc > m_geoModelSvc
ATLAS GeoModel.
std::array< StringProperty, AtlasDetDescr::fNumAtlasRegions > m_node
the names of the DB nodes for the respective AtlasRegion
std::string m_atlasVersionTag
virtual StatusCode initialize() override
AthService initialize method.
StatusCode fallbackRZBoundary(const FallbackDoubleVector &r, const FallbackDoubleVector &z, RZPairVector &rzVec)
use the fallback approach (python arguments) to set the (r,z) values
StatusCode retrieveRZBoundaryOptionalFallback(const std::string &dbNode, const FallbackDoubleVector &r, const FallbackDoubleVector &z, RZPairVector &rzVec)
retrieve and store the (r,z) values locally for the given DB node.
StatusCode retrieveRZBoundary(const std::string &node, RZPairVector &rzVec)
retrieve and store the (r,z) values locally for the given DB node
ServiceHandle< IRDBAccessSvc > m_dbAccess
the DetectorDescription database access method
RZPairVector m_rposz[AtlasDetDescr::fNumAtlasRegions]
internal (r,z) representation for the positive z-side only, one RZPairVector for each AtlasRegion
std::string m_atlasNode
main DDDB node for the ATLAS detector
virtual const RZPairVector & getRPositiveZBoundary(AtlasDetDescr::AtlasRegion region) const override
return a vector of (r,z) pairs, defining the envelope on the z>0 region
virtual const RZPairVector & getRZBoundary(AtlasDetDescr::AtlasRegion region) const override
return a vector of (r,z) pairs, defining the respective envelope
RZPairVector m_rz[AtlasDetDescr::fNumAtlasRegions]
internal (r,z) representation, one RZPairVector for each AtlasRegion
std::array< DoubleArrayProperty, AtlasDetDescr::fNumAtlasRegions > m_fallbackZ
Gaudi::Property< bool > m_allowFallback
fallback solution, in case something goes wrong with the DB
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.