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>
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().
|
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().
|
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().
|
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().
|
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().
|
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.
|
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().
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