Class CuboidVolumeBuilder¶
Defined in File CuboidVolumeBuilder.hpp
Nested Relationships¶
Inheritance Relationships¶
Base Type¶
public Acts::ITrackingVolumeBuilder
(Class ITrackingVolumeBuilder)
Class Documentation¶
-
class
Acts
::
CuboidVolumeBuilder
: public Acts::ITrackingVolumeBuilder¶ This class builds a box detector with a configurable amount of surfaces in it.
The idea is to allow a quick configuration of a detector for mostly unit test applications. Therefore this class does not demand to be a universal construction factory but a raw first draft of the idea of factory that may be extended in the future.
Public Functions
-
CuboidVolumeBuilder
() = default¶ Default constructor without a configuration.
-
CuboidVolumeBuilder
(Config &cfg)¶ Constructor that sets the config.
- Parameters
[in] cfg
: Configuration of the detector
-
std::pair<double, double>
binningRange
(const GeometryContext &gctx, const VolumeConfig &cfg) const¶ This function evaluates the minimum and maximum of the binning as given by the configurations of the surfaces and layers.
The ordering depends on the binning value specified in the configuration of the volume.
- Return
Pair containing the minimum and maximum along the binning direction
- Parameters
[in] gctx
: the geometry context for this building[in] cfg
: Container with the given surfaces and layers
-
std::shared_ptr<const Layer>
buildLayer
(const GeometryContext &gctx, LayerConfig &cfg) const¶ This function creates a layer with a surface encaspulated with a given configuration.
The surface gets a detector element attached if the template parameter is non-void.
- Return
Pointer to the created layer
- Parameters
[in] gctx
: the geometry context for this building[inout] cfg
: Configuration of the layer and the surface
-
std::shared_ptr<const PlaneSurface>
buildSurface
(const GeometryContext &gctx, const SurfaceConfig &cfg) const¶ This function creates a surface with a given configuration.
A detector element is attached if the template parameter is non-void.
- Return
Pointer to the created surface
- Parameters
[in] gctx
: the geometry context for this building[in] cfg
: Configuration of the surface
-
std::shared_ptr<TrackingVolume>
buildVolume
(const GeometryContext &gctx, VolumeConfig &cfg) const¶ This function creates a TrackingVolume with a configurable number of layers and surfaces.
Each surface gets a detector element attached if the template parameter is non-void.
- Return
Pointer to the created TrackingVolume
- Parameters
[in] gctx
: the geometry context for this building[inout] cfg
: Configuration of the TrackingVolume
-
void
sortVolumes
(std::vector<std::pair<TrackingVolumePtr, Vector3>> &tapVec, BinningValue bValue) const¶
This function builds a world TrackingVolume based on a given configuration.
- Return
Pointer to the created TrackingGeometry
- Parameters
[in] gctx
: the geometry context for this building
-
struct
Config
¶ This struct stores the configuration of the tracking geometry.
-
struct
LayerConfig
¶ This struct stores the data for the construction of a PlaneLayer that has a single PlaneSurface encapsulated.
Public Members
-
bool
active
= false¶
-
size_t
binsY
= 1¶
-
size_t
binsZ
= 1¶
-
std::shared_ptr<const PlaneSurface>
surface
= nullptr¶
-
SurfaceConfig
surfaceCfg
¶
-
bool
-
struct
SurfaceConfig
¶ This struct stores the data for the construction of a single PlaneSurface.
Public Members
-
std::function<DetectorElementBase*(const Transform3&, std::shared_ptr<const RectangleBounds>, double)>
detElementConstructor
¶
-
std::shared_ptr<const RectangleBounds>
rBounds
= nullptr¶
-
RotationMatrix3
rotation
= RotationMatrix3::Identity()¶
-
std::shared_ptr<const ISurfaceMaterial>
surMat
= nullptr¶
-
double
thickness
= 0.¶
-
std::function<DetectorElementBase*(const Transform3&, std::shared_ptr<const RectangleBounds>, double)>
-
struct
VolumeConfig
¶ This struct stores the data for the construction of a cuboid TrackingVolume with a given number of PlaneLayers.
Public Members
-
std::vector<LayerConfig>
layerCfg
¶
-
std::string
name
= "Volume"¶
-
std::vector<std::shared_ptr<TrackingVolume>>
trackingVolumes
¶
-
std::vector<VolumeConfig>
volumeCfg
¶
-
std::shared_ptr<const IVolumeMaterial>
volumeMaterial
= nullptr¶
-
std::vector<LayerConfig>
-