class LayerStructureBuilder : public Acts::Experimental::IInternalStructureBuilder
This is a builder of layer structures to be contained within a DetectorVolume, it extends the IInternalStructureBuilder interface and provides the internal structure components of DetectorVolume objects to be constructed.
It uses the IndexedSurfaceGrid to bin the internal surfaces, and allows for additional support surfaces that are added to the structure and indexing mechanism. Those support structures can also be approximated by planar surfaces, in order to facilitate vectorization of surface intersection calls.
The binning can be chosen with a so called
expansion, a number which indicates the configured expanded bin window in which the surfaces are going to be filled, the details to this strategy can be found in the IndexedGridFiller and IndexedSurfacesGenerator classes.
No sub volumes are added to this structure builders, hence, the DetectorVolumeFinder navigation delegate uses the “NoopFinder” breakpoint to indicate the bottom of the volume hierarchy.
LayerStructureBuilder(const Config &cfg, std::unique_ptr<const Logger> logger = getDefaultLogger("LayerStructureBuilder", Logging::INFO))
cfg – is the configuration struct
logger – logging instance for screen output
Configuration struct for the LayerStructureBuilder.
a source of the surfaces to be built
a definition of surface binning on this layer
a definition of supports to be built
std::string auxiliary = ""
Extra information, mainly for screen output.
unsigned int nSegments = 1u
Support parameter definitions.
std::vector<BinningValue> constraints = s_binningValues
Define in which values the support should be constrained.
unsigned int splits = 1u
Potential splits into planar approximations.
- std::vector<BinningValue> constraints = s_binningValues
- LayerStructureBuilder(const Config &cfg, std::unique_ptr<const Logger> logger = getDefaultLogger("LayerStructureBuilder", Logging::INFO))