ATLAS Offline Software
|
#include <GeometryBuilder.h>
Public Member Functions | |
GeometryBuilder (const std::string &, const std::string &, const IInterface *) | |
Constructor. More... | |
virtual | ~GeometryBuilder () |
Destructor. More... | |
StatusCode | initialize () |
AlgTool initialize method. More... | |
std::unique_ptr< TrackingGeometry > | trackingGeometry (TrackingVolume *tvol=0) const |
TrackingGeometry Interface method - optionally a pointer to Bounds. More... | |
GeometrySignature | geometrySignature () const |
The unique signature. More... | |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysInitialize () override |
Perform system initialization for an algorithm. More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
DeclareInterfaceID (IGeometryBuilder, 1, 0) | |
Creates the InterfaceID and interfaceID() method. More... | |
Protected Member Functions | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
void | glueVolumes (TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace) const |
protected method to glue two Volumes together input: More... | |
Static Protected Member Functions | |
static void | setBoundarySurface (TrackingVolume &tvol, SharedObject< BoundarySurface< TrackingVolume >> bsurf, BoundarySurfaceFace face) |
protected method to set the boundary surface of a tracking volume More... | |
static void | setInsideVolume (TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol) |
protected method to set inside Volume of a BoundarySurface: input: More... | |
static void | setInsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *insidevolarray) |
protected method to set inside VolumeArray of a BoundarySurface: input: More... | |
static void | setInsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, const SharedObject< BinnedArray< TrackingVolume >> &insidevolarray) |
protected method to set inside VolumeArray of a BoundarySurface: input: More... | |
static void | setOutsideVolume (TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol) |
protected method to set outside Volume of a BoundarySurface: input: More... | |
static void | setOutsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *outsidevolarray) |
protected method to set outside VolumeArray of a BoundarySurface: input: More... | |
static void | setOutsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, const SharedObject< BinnedArray< TrackingVolume >> &outsidevolarray) |
protected method to set outside VolumeArray of a BoundarySurface: input: More... | |
static void | confineVolume (TrackingVolume &tvol, TrackingVolume *outsidevol) |
protected method to confine (dense) volumes: input: More... | |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
std::unique_ptr< TrackingGeometry > | atlasTrackingGeometry () const |
TrackingGeometry for ATLAS setup. More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Private Attributes | |
bool | m_createWorld |
Boolean Switch to create World manually. More... | |
int | m_navigationLevel |
NavigationLevel. More... | |
std::vector< double > | m_worldDimension |
The dimensions of the manually created world. More... | |
std::vector< double > | m_worldMaterialProperties |
The material properties of the created world. More... | |
Material | m_worldMaterial |
the world material More... | |
ToolHandle< ITrackingVolumeArrayCreator > | m_trackingVolumeArrayCreator |
Helper Tool to create TrackingVolume Arrays. More... | |
ToolHandle< ITrackingVolumeHelper > | m_trackingVolumeHelper |
Helper Tool to create TrackingVolumes. More... | |
ToolHandle< IGeometryBuilder > | m_inDetGeometryBuilder |
GeometryBuilder for the InnerDetector. More... | |
bool | m_caloGeometry |
switch on TrackingGeometry for the Calorimeters More... | |
ToolHandle< IGeometryBuilder > | m_caloGeometryBuilder |
GeometryBuilder for the Calorimeters. More... | |
bool | m_muonGeometry |
GeometryBuilder for the Muon System. More... | |
ToolHandle< IGeometryBuilder > | m_muonGeometryBuilder |
GeometryBuilder for the Muon System. More... | |
bool | m_compactify |
optimize event memory usage: register all surfaces with TG More... | |
bool | m_synchronizeLayers |
synchronize contained layer dimensions to volumes More... | |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
The Trk::TrackingGeometry Builder for ATLAS Geometry
It retrieves Trk::TrackingGeometry builders for the subdetectors and joins them together to a single Trk::TrackingGeometry.
Definition at line 47 of file GeometryBuilder.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
Trk::GeometryBuilder::GeometryBuilder | ( | const std::string & | t, |
const std::string & | n, | ||
const IInterface * | p | ||
) |
|
virtualdefault |
Destructor.
|
private |
TrackingGeometry for ATLAS setup.
Definition at line 152 of file GeometryBuilder.cxx.
|
staticprotectedinherited |
protected method to confine (dense) volumes: input:
Definition at line 112 of file TrackingVolumeManipulator.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inherited |
Creates the InterfaceID and interfaceID() method.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
inlinevirtual |
The unique signature.
Implements Trk::IGeometryBuilder.
Definition at line 67 of file GeometryBuilder.h.
|
protectedinherited |
protected method to glue two Volumes together input:
Definition at line 17 of file TrackingVolumeManipulator.cxx.
StatusCode Trk::GeometryBuilder::initialize | ( | ) |
AlgTool initialize method.
Definition at line 79 of file GeometryBuilder.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
staticprotectedinherited |
protected method to set the boundary surface of a tracking volume
Definition at line 43 of file TrackingVolumeManipulator.cxx.
|
staticprotectedinherited |
protected method to set inside Volume of a BoundarySurface: input:
Definition at line 52 of file TrackingVolumeManipulator.cxx.
|
staticprotectedinherited |
protected method to set inside VolumeArray of a BoundarySurface: input:
Definition at line 61 of file TrackingVolumeManipulator.cxx.
|
staticprotectedinherited |
protected method to set inside VolumeArray of a BoundarySurface: input:
|
staticprotectedinherited |
protected method to set outside Volume of a BoundarySurface: input:
Definition at line 82 of file TrackingVolumeManipulator.cxx.
|
staticprotectedinherited |
protected method to set outside VolumeArray of a BoundarySurface: input:
Definition at line 91 of file TrackingVolumeManipulator.cxx.
|
staticprotectedinherited |
protected method to set outside VolumeArray of a BoundarySurface: input:
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
virtual |
TrackingGeometry Interface method - optionally a pointer to Bounds.
Implements Trk::IGeometryBuilder.
Definition at line 121 of file GeometryBuilder.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
switch on TrackingGeometry for the Calorimeters
Definition at line 94 of file GeometryBuilder.h.
|
private |
GeometryBuilder for the Calorimeters.
Definition at line 95 of file GeometryBuilder.h.
|
private |
optimize event memory usage: register all surfaces with TG
Definition at line 100 of file GeometryBuilder.h.
|
private |
Boolean Switch to create World manually.
Definition at line 78 of file GeometryBuilder.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
GeometryBuilder for the InnerDetector.
Definition at line 92 of file GeometryBuilder.h.
|
private |
GeometryBuilder for the Muon System.
Definition at line 97 of file GeometryBuilder.h.
|
private |
GeometryBuilder for the Muon System.
Definition at line 98 of file GeometryBuilder.h.
|
private |
NavigationLevel.
Definition at line 79 of file GeometryBuilder.h.
|
private |
synchronize contained layer dimensions to volumes
Definition at line 101 of file GeometryBuilder.h.
|
private |
Helper Tool to create TrackingVolume Arrays.
Definition at line 87 of file GeometryBuilder.h.
|
private |
Helper Tool to create TrackingVolumes.
Definition at line 89 of file GeometryBuilder.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
The dimensions of the manually created world.
Definition at line 81 of file GeometryBuilder.h.
|
private |
the world material
Definition at line 83 of file GeometryBuilder.h.
|
private |
The material properties of the created world.
Definition at line 82 of file GeometryBuilder.h.