ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Geometry/CylinderVolumeBuilder.hpp>
Classes | |
struct | Config |
Public Member Functions | |
CylinderVolumeBuilder (const Config &cvbConfig, std::unique_ptr< const Logger > logger=getDefaultLogger("CylinderVolumeBuilder", Logging::INFO)) | |
~CylinderVolumeBuilder () override | |
Destructor. | |
MutableTrackingVolumePtr | trackingVolume (const GeometryContext &gctx, TrackingVolumePtr existingVolume=nullptr, VolumeBoundsPtr externalBounds=nullptr) const override |
void | setConfiguration (const Config &cvbConfig) |
Config | getConfiguration () const |
Return the configuration object. | |
void | setLogger (std::unique_ptr< const Logger > newLogger) |
VolumeConfig | analyzeContent (const GeometryContext &gctx, const LayerVector &lVector, const MutableTrackingVolumeVector &mtvVector) const |
Public Member Functions inherited from Acts::ITrackingVolumeBuilder | |
virtual | ~ITrackingVolumeBuilder ()=default |
Virtual destructor. | |
Private Member Functions | |
const Logger & | logger () const |
bool | checkLayerContainment (const GeometryContext &gctx, VolumeConfig &layerConfig, const VolumeConfig &insideConfig, const VolumeConfig &volumeConfig, int sign) const |
Private Attributes | |
Config | m_cfg |
Configuration struct. | |
std::unique_ptr< const Logger > | m_logger |
the logging instance | |
A volume builder to be used for building a concentrical cylindrical volumes
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
Definition at line 472 of file CylinderVolumeBuilder.hpp.
View newest version in sPHENIX GitHub at line 472 of file CylinderVolumeBuilder.hpp
Acts::CylinderVolumeBuilder::CylinderVolumeBuilder | ( | const Config & | cvbConfig, |
std::unique_ptr< const Logger > | logger = getDefaultLogger( "CylinderVolumeBuilder", Logging::INFO) |
||
) |
Constructor
[in] | cvbConfig | is the configuraiton struct to steer the builder |
[in] | logger | logging instance |
Definition at line 26 of file CylinderVolumeBuilder.cpp.
View newest version in sPHENIX GitHub at line 26 of file CylinderVolumeBuilder.cpp
References setConfiguration().
|
overridedefault |
Destructor.
Acts::VolumeConfig Acts::CylinderVolumeBuilder::analyzeContent | ( | const GeometryContext & | gctx, |
const LayerVector & | lVector, | ||
const MutableTrackingVolumeVector & | mtvVector | ||
) | const |
Analyze the config to gather needed dimension
[in] | gctx | the geometry context for this building |
[in] | lVector | is the vector of layers that are parsed |
Definition at line 484 of file CylinderVolumeBuilder.cpp.
View newest version in sPHENIX GitHub at line 484 of file CylinderVolumeBuilder.cpp
References ACTS_VERBOSE, Acts::CylinderSurface::bounds(), Acts::CylinderBounds::eHalfLengthZ, Acts::CylinderVolumeBounds::eHalfLengthZ, Acts::CylinderVolumeBounds::eMaxR, Acts::CylinderVolumeBounds::eMinR, Acts::CylinderBounds::eR, Acts::CylinderBounds::get(), Acts::CylinderVolumeBounds::get(), G4TTL::layer, Acts::VolumeConfig::layers, Acts::VolumeConfig::present, Acts::VolumeConfig::rMax, Acts::RadialBounds::rMax(), Acts::VolumeConfig::rMin, Acts::RadialBounds::rMin(), Acts::CylinderLayer::surfaceRepresentation(), takeBigger, takeSmaller, thickness, Acts::Test::volume, Acts::VolumeConfig::volumes, Acts::VolumeConfig::zMax, and Acts::VolumeConfig::zMin.
|
private |
Helper method check the layer containment, both for inside / outside.
[in] | gctx | the geometry context for this building |
[in] | layerConfig | is the VolumeConfig to be tested the wrapping flag may be set |
[in] | insideConfig | is the inside volume in order to check the wrapping |
[in] | volumeConfig | is the volume to be tested |
[in] | sign | distinguishes inside/outside testing |
|
inline |
Return the configuration object.
Get configuration method
Definition at line 591 of file CylinderVolumeBuilder.hpp.
View newest version in sPHENIX GitHub at line 591 of file CylinderVolumeBuilder.hpp
References m_cfg.
|
inlineprivate |
Private access to the logger
Definition at line 567 of file CylinderVolumeBuilder.hpp.
View newest version in sPHENIX GitHub at line 567 of file CylinderVolumeBuilder.hpp
References m_logger.
Set configuration method
[in] | cvbConfig | is the new configuration to be set |
Definition at line 35 of file CylinderVolumeBuilder.cpp.
View newest version in sPHENIX GitHub at line 35 of file CylinderVolumeBuilder.cpp
Referenced by CylinderVolumeBuilder().
set logging instance
[in] | newLogger | is the logging istance to be set |
Definition at line 42 of file CylinderVolumeBuilder.cpp.
View newest version in sPHENIX GitHub at line 42 of file CylinderVolumeBuilder.cpp
|
overridevirtual |
CylinderVolumeBuilder main call method
[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 |
Implements Acts::ITrackingVolumeBuilder.
Definition at line 48 of file CylinderVolumeBuilder.cpp.
View newest version in sPHENIX GitHub at line 48 of file CylinderVolumeBuilder.cpp
References kdfinder::abs(), ACTS_DEBUG, ACTS_ERROR, ACTS_VERBOSE, Acts::Attaching, Acts::binR, Acts::CentralInserting, Acts::CentralWrapping, Acts::WrappingConfig::configureContainerVolume(), Acts::WrappingConfig::cVolumeConfig, Acts::CylinderVolumeBounds::eHalfLengthZ, Acts::CylinderVolumeBounds::eMaxR, Acts::CylinderVolumeBounds::eMinR, Acts::WrappingConfig::existingVolumeConfig, Acts::WrappingConfig::externalVolumeConfig, Acts::WrappingConfig::fGapVolumeConfig, Acts::CylinderVolumeBounds::get(), Acts::Inserting, int(), Acts::VolumeConfig::layers, Acts::negativeFaceXY, Acts::NoWrapping, Acts::WrappingConfig::nVolumeConfig, Acts::positiveFaceXY, Acts::VolumeConfig::present, Acts::WrappingConfig::pVolumeConfig, Acts::VolumeConfig::rMax, Acts::VolumeConfig::rMin, Acts::RadialBounds::rMin(), Acts::WrappingConfig::sGapVolumeConfig, test(), nlohmann::to_string(), Acts::VolumeConfig::toString(), Acts::WrappingConfig::toString(), Acts::tubeInnerCover, Acts::tubeOuterCover, Acts::Test::volume, Acts::VolumeConfig::volumes, Acts::WrappingConfig::wCondition, Acts::WrappingConfig::wConditionScreen, Acts::WrappingConfig::wrapInsertAttach(), Acts::Wrapping, Acts::VolumeConfig::zMax, and Acts::VolumeConfig::zMin.
|
private |
Configuration struct.
Definition at line 562 of file CylinderVolumeBuilder.hpp.
View newest version in sPHENIX GitHub at line 562 of file CylinderVolumeBuilder.hpp
Referenced by getConfiguration().
|
private |
the logging instance
Definition at line 570 of file CylinderVolumeBuilder.hpp.
View newest version in sPHENIX GitHub at line 570 of file CylinderVolumeBuilder.hpp
Referenced by logger().