![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Plugins/TGeo/include/Acts/Plugins/TGeo/TGeoLayerBuilder.hpp>
Inheritance diagram for Acts::TGeoLayerBuilder:
Collaboration diagram for Acts::TGeoLayerBuilder: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("LayerArrayCreator", 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 | resolveSensitive (const GeometryContext &gctx, std::vector< std::shared_ptr< const Surface >> &layerSurfaces, TGeoVolume *tgVolume, TGeoNode *tgNode, const TGeoMatrix &tgTransform, LayerConfig &layerConfig, int type, bool correctBranch=false, const std::string &offset="") |
| void | buildLayers (const GeometryContext &gctx, LayerVector &layers, int type=0) |
| bool | match (const char *first, const char *second) const |
| 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 45 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 45 of file TGeoLayerBuilder.hpp
| Acts::TGeoLayerBuilder::TGeoLayerBuilder | ( | const Config & | config, |
| std::unique_ptr< const Logger > | logger = getDefaultLogger("LayerArrayCreator", Logging::INFO) |
||
| ) |
Constructor
| config | is the configuration struct |
| logger | the local logging instance |
Definition at line 16 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 16 of file TGeoLayerBuilder.cpp
References setConfiguration().
Here is the call graph for this function:
|
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 62 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 62 of file TGeoLayerBuilder.cpp
References kdfinder::abs(), ACTS_DEBUG, ACTS_VERBOSE, ACTS_WARNING, Acts::binR, Acts::binZ, Acts::ProtoLayer::envR, Acts::ProtoLayer::envZ, max, readPY::pl, and surface().
Referenced by centralLayers(), negativeLayers(), and positiveLayers().
Here is the call graph for this function:
Here is the caller graph for this function:
|
finalvirtual |
LayerBuilder interface method - returning the central layers
| gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 44 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 44 of file TGeoLayerBuilder.cpp
References buildLayers().
Here is the call graph for this function:
|
inline |
Return the created detector elements.
Definition at line 233 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 233 of file TGeoLayerBuilder.hpp
|
inline |
Get the configuration object.
Definition at line 228 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 228 of file TGeoLayerBuilder.hpp
|
inlinefinalvirtual |
Name identification.
Implements Acts::ILayerBuilder.
Definition at line 237 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 237 of file TGeoLayerBuilder.hpp
|
inlineprivate |
Private access to the logger.
Definition at line 166 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 166 of file TGeoLayerBuilder.hpp
|
inlineprivate |
Private helper method : match string with wildcards
| wc | is the one with the potential wildcard |
| test | is the test string |
Definition at line 243 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 243 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 35 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 35 of file TGeoLayerBuilder.cpp
References buildLayers().
Here is the call graph for this function:
|
finalvirtual |
LayerBuilder interface method - returning the layers at negative side
| gctx | the geometry context for this build call |
Implements Acts::ILayerBuilder.
Definition at line 53 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 53 of file TGeoLayerBuilder.cpp
References buildLayers().
Here is the call graph for this function:
|
inlineprivate |
Private helper method : register splitting input.
Definition at line 210 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 210 of file TGeoLayerBuilder.hpp
References kdfinder::abs(), max, and min.
Here is the call graph for this function:
|
private |
Private helper function to parse the geometry tree
| gcts | the geometry context of this call |
| layerSurfaces | are the surfaces that build the layer |
| tgVolume | is the current volume |
| tgNode | the current Node (branch) |
| tgTransform | is the current relative transform |
| layerConfig | is the configuration to be filled |
| type | is ( n | c | p ) as of ( -1 | 0 | 1 ) |
| correctBranch | is the branch hit |
| offset | is a string offset for the screen output |
Some screen output indicating that the volume was found
If you have a node, get the volume and step down further
Definition at line 239 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 239 of file TGeoLayerBuilder.cpp
References ACTS_VERBOSE, Acts::binR, Acts::binZ, Acts::TGeoLayerBuilder::LayerConfig::layerName, Acts::TGeoLayerBuilder::LayerConfig::localAxes, Acts::TGeoLayerBuilder::LayerConfig::parseRangeR, r, Acts::TGeoLayerBuilder::LayerConfig::sensorName, Acts::TGeoLayerBuilder::LayerConfig::splitParametersR, Acts::TGeoLayerBuilder::LayerConfig::splitParametersZ, Acts::TGeoLayerBuilder::LayerConfig::splitRangeR, Acts::TGeoLayerBuilder::LayerConfig::splitRangeZ, x, y, and z.
Set the configuration object
| config | is the configuration struct |
Definition at line 25 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 25 of file TGeoLayerBuilder.cpp
Referenced by TGeoLayerBuilder().
Here is the caller graph for this function:Set logging instance.
Definition at line 30 of file TGeoLayerBuilder.cpp.
View newest version in sPHENIX GitHub at line 30 of file TGeoLayerBuilder.cpp
|
private |
Configuration object.
Definition at line 160 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 160 of file TGeoLayerBuilder.hpp
|
private |
Definition at line 172 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 172 of file TGeoLayerBuilder.hpp
|
private |
layer types
Definition at line 163 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 163 of file TGeoLayerBuilder.hpp
|
private |
Logging instance.
Definition at line 169 of file TGeoLayerBuilder.hpp.
View newest version in sPHENIX GitHub at line 169 of file TGeoLayerBuilder.hpp