EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Plugins/TGeo/include/Acts/Plugins/TGeo/TGeoLayerBuilder.hpp>
Classes | |
struct | Config |
nested configuration struct for steering of the layer builder More... | |
struct | LayerConfig |
Helper config structs for volume parsin. More... | |
Public Member Functions | |
TGeoLayerBuilder (const Config &config, std::unique_ptr< const Logger > logger=getDefaultLogger("TGeoLayerBuilder", Logging::INFO)) | |
~TGeoLayerBuilder () override | |
Destructor. | |
const LayerVector | negativeLayers (const GeometryContext &gctx) const final |
const LayerVector | centralLayers (const GeometryContext &gctx) const final |
const LayerVector | positiveLayers (const GeometryContext &gctx) const final |
const std::string & | identification () const final |
Name identification. | |
void | setConfiguration (const Config &config) |
Config | getConfiguration () const |
Get the configuration object. | |
void | setLogger (std::unique_ptr< const Logger > newLogger) |
Set logging instance. | |
const std::vector < std::shared_ptr< const TGeoDetectorElement > > & | detectorElements () const |
Return the created detector elements. | |
Public Member Functions inherited from Acts::ILayerBuilder | |
virtual | ~ILayerBuilder ()=default |
Virtual destructor. | |
Private Member Functions | |
const Logger & | logger () const |
Private access to the logger. | |
void | buildLayers (const GeometryContext &gctx, LayerVector &layers, int type=0) |
void | registerSplit (std::vector< double > ¶meters, double test, double tolerance, std::pair< double, double > &range) const |
Private helper method : register splitting input. | |
Private Attributes | |
Config | m_cfg |
Configuration object. | |
std::array< std::string, 3 > | m_layerTypes = {"Negative", "Central", "Positive"} |
layer types | |
std::unique_ptr< const Logger > | m_logger |
Logging instance. | |
std::vector< std::shared_ptr < const TGeoDetectorElement > > | m_elementStore |
This parses the gGeoManager and looks for a defined combination of volume with contained sensitive detector element. The association is done by matching the names of the TGeoNode / TGeoVolume to the search string.
The parsing can be restricted to a given parse volume (in r and z), and given some splitting parameters the surfaces can be automatically be split into layers.
Definition at line 46 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 46 of file TGeoLayerBuilder.hpp
Acts::TGeoLayerBuilder::TGeoLayerBuilder | ( | const Config & | config, |
std::unique_ptr< const Logger > | logger = getDefaultLogger("TGeoLayerBuilder", Logging::INFO) |
||
) |
Constructor
config | is the configuration struct |
logger | the local logging instance |
Definition at line 21 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 21 of file TGeoLayerBuilder.cpp
References setConfiguration().
|
overridedefault |
Destructor.
|
private |
Private helper method : build layers
gcts | the geometry context of this call |
layers | is goint to be filled |
type | is the indication which ones to build -1 | 0 | 1 |
Definition at line 67 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 67 of file TGeoLayerBuilder.cpp
References ACTS_DEBUG, ACTS_VERBOSE, ACTS_WARNING, Acts::binningValueNames, Acts::binR, Acts::binZ, Acts::ProtoLayer::envelope, Acts::ProtoLayer::medium(), Acts::TGeoParser::Options::parseRanges, Acts::TGeoParser::select(), Acts::TGeoParser::State::selectedNodes, Acts::TGeoParser::Options::targetNames, Acts::TGeoParser::Options::unit, Acts::unpack_shared_vector(), Acts::TGeoParser::State::volume, and Acts::TGeoParser::Options::volumeNames.
Referenced by centralLayers(), negativeLayers(), and positiveLayers().
|
finalvirtual |
LayerBuilder interface method - returning the central layers
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 49 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 49 of file TGeoLayerBuilder.cpp
References buildLayers().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Return the created detector elements.
Definition at line 202 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 202 of file TGeoLayerBuilder.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Get the configuration object.
Definition at line 197 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 197 of file TGeoLayerBuilder.hpp
|
inlinefinalvirtual |
Name identification.
Implements Acts::ILayerBuilder.
Definition at line 206 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 206 of file TGeoLayerBuilder.hpp
|
inlineprivate |
Private access to the logger.
Definition at line 158 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 158 of file TGeoLayerBuilder.hpp
|
finalvirtual |
LayerBuilder interface method - returning the layers at negative side
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 40 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 40 of file TGeoLayerBuilder.cpp
References buildLayers().
|
finalvirtual |
LayerBuilder interface method - returning the layers at negative side
gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 58 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 58 of file TGeoLayerBuilder.cpp
References buildLayers().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlineprivate |
Private helper method : register splitting input.
Definition at line 179 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 179 of file TGeoLayerBuilder.hpp
References kdfinder::abs(), max, and min.
void Acts::TGeoLayerBuilder::setConfiguration | ( | const Config & | config | ) |
Set the configuration object
config | is the configuration struct |
Definition at line 30 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 30 of file TGeoLayerBuilder.cpp
References configureMap::config.
Referenced by TGeoLayerBuilder().
void Acts::TGeoLayerBuilder::setLogger | ( | std::unique_ptr< const Logger > | newLogger | ) |
Set logging instance.
Definition at line 35 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 35 of file TGeoLayerBuilder.cpp
|
private |
Configuration object.
Definition at line 152 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 152 of file TGeoLayerBuilder.hpp
|
private |
Definition at line 164 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 164 of file TGeoLayerBuilder.hpp
|
private |
layer types
Definition at line 155 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 155 of file TGeoLayerBuilder.hpp
|
private |
Logging instance.
Definition at line 161 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 161 of file TGeoLayerBuilder.hpp