Class CylinderVolumeBuilder¶
Defined in File CylinderVolumeBuilder.hpp
Inheritance Relationships¶
Base Type¶
public Acts::ITrackingVolumeBuilder
(Class ITrackingVolumeBuilder)
Class Documentation¶
-
class
Acts
::
CylinderVolumeBuilder
: public Acts::ITrackingVolumeBuilder¶ A volume builder to be used for building a concentrical cylindrical volumes.
a) configured volume
b) wrapping around a cylindrical/disk layer config
All are optionally wrapped around a given volume which has to by a cylinder volume and which has to be center at z == 0
To receive the tracking volume it is possible to also hand over a triple of layers, which is a C++ tuple of three pointers to layer vectors (defined in the ITrackingVolumeBuilder). This functionality is needed for a possible translation of an geometry existing in another format. The first entry represents the layers of the negative endcap, the second the layers of the barrel and the third the layers of the positive endcap. If the one of these pointers is a nullptr no layers will be created for this volume
For the endcap region it is possible to check for a ring layout, in which case an attempt to split into individual ring volumes is done
Public Functions
-
CylinderVolumeBuilder
(const Config &cvbConfig, std::unique_ptr<const Logger> logger = getDefaultLogger("CylinderVolumeBuilder", Logging::INFO))¶ Constructor.
- Parameters
[in] cvbConfig
: is the configuraiton struct to steer the builder[in] logger
: logging instance
-
~CylinderVolumeBuilder
() override¶ Destructor.
-
VolumeConfig
analyzeContent
(const GeometryContext &gctx, const LayerVector &lVector, const MutableTrackingVolumeVector &mtvVector) const¶ Analyze the config to gather needed dimension.
- Return
a VolumeConfig representing this layer
- Parameters
[in] gctx
: the geometry context for this building[in] lVector
: is the vector of layers that are parsed
-
Config
getConfiguration
() const¶ Get configuration method.
Return the configuration object.
- Return
a copy of the config object
-
void
setConfiguration
(const Config &cvbConfig)¶ Set configuration method.
- Parameters
[in] cvbConfig
: is the new configuration to be set
-
void
setLogger
(std::unique_ptr<const Logger> newLogger)¶ set logging instance
- Parameters
[in] newLogger
: is the logging istance to be set
-
MutableTrackingVolumePtr
trackingVolume
(const GeometryContext &gctx, TrackingVolumePtr existingVolume = nullptr, VolumeBoundsPtr externalBounds = nullptr) const override¶ CylinderVolumeBuilder main call method.
- Return
a mutable pointer to a new TrackingVolume which includes the optionally provided exisitingVolume consistently for further processing
- Parameters
[in] gctx
: geometry context for which this cylinder volume is built[in] existingVolume
: is an (optional) volume to be included[in] externalBounds
: are (optional) external confinement constraints
-
struct
Config
¶ Nested configuration struct for this CylinderVolumeBuilder.
Public Members
-
std::array<std::shared_ptr<const ISurfaceMaterial>, 6>
boundaryMaterial
{nullptr, nullptr, nullptr, nullptr, nullptr, nullptr}¶ —————– MB (outer [1]) ———— | MB [2] NEC MB [3] | B | MB [4] PEC MB [5] | —————– MB (inner [0]) ————
-
bool
buildToRadiusZero
= false¶ Build the volume to the beam line.
-
bool
checkRingLayout
= false¶ Check for endcap ring layout.
-
std::shared_ptr<const IConfinedTrackingVolumeBuilder>
ctVolumeBuilder
= nullptr¶ Builder to construct confined volumes within the volume.
-
std::shared_ptr<const ILayerBuilder>
layerBuilder
= nullptr¶ Builder to construct layers within the volume.
-
std::pair<double, double>
layerEnvelopeR
= {1. * UnitConstants::mm, 1. * UnitConstants::mm}¶ Additional envelope in R to create rMin, rMax.
-
std::shared_ptr<const ITrackingVolumeHelper>
trackingVolumeHelper
= nullptr¶ The trackign volume helper for construction.
-
std::shared_ptr<const IVolumeMaterial>
volumeMaterial
= nullptr¶ The world material.
-
std::string
volumeName
= ""¶ The string based indenfication.
-
int
volumeSignature
= -1¶ Volume signature.
-
std::array<std::shared_ptr<const ISurfaceMaterial>, 6>