ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::GeoModelDetectorObjectFactory Class Reference

Factory class to convert GeoModel objects into Acts volumes and surfaces. More...

#include </home/runner/work/acts/acts/Plugins/GeoModel/include/ActsPlugins/GeoModel/GeoModelDetectorObjectFactory.hpp>

Classes

struct  Cache
struct  Config
struct  ConvertedGeoVol
 Tuple describing the shared ptr to a Volume which will be turned into a TrackingVolume, a Gen-2 volume and the pointer to the full physical volume. More...
struct  Options

Public Types

using ConvertedVolList_t = std::vector<ConvertedGeoVol>
using FpvConstLink = GeoModelTree::FpvConstLink
 abrivation of the smart pointer to a full physical volume

Public Member Functions

 GeoModelDetectorObjectFactory (const Config &cfg, std::unique_ptr< const Acts::Logger > mlogger=Acts::getDefaultLogger("GeoModelDetectorObjectFactory", Acts::Logging::WARNING))
void construct (Cache &cache, const Acts::GeometryContext &gctx, const GeoModelTree &geoModelTree, const Options &options)
 Run the translation from the GeoModelTree to the (sensitive) surfaces.
void convertFpv (const std::string &name, const FpvConstLink &fpv, Cache &cache, const Acts::GeometryContext &gctx)
 Convert a full physical volume (and the appropriate children) into sensitive surfaces.

Detailed Description

Factory class to convert GeoModel objects into Acts volumes and surfaces.

The surface conversion process constructs surfaces from GeoTrd, GeoBox, GeoTube, GeoSimplePolygonBrep volume shapes with transforms being in the center of each volume. Also, there's limited capability to transcript boolean volume (Subtraction/Union/Shift). The set of volumes to convert can be constrained using nameList of the Configuration object. Additionally, the factory can also convert the shapes associated with FullPhysicalVolumes convert into bounding volumes. All sufraces constructed from such a volume are then also put into the volume. For compatibility reasons, the conversion constructs Volumes -> processed into TrackingVolume by the Gen1/ Gen 3 TrackingGeometry builder and also detector volumes to convert them into Gen2 tracking geometry volumes

Member Typedef Documentation

◆ ConvertedVolList_t

◆ FpvConstLink

abrivation of the smart pointer to a full physical volume

Constructor & Destructor Documentation

◆ GeoModelDetectorObjectFactory()

ActsPlugins::GeoModelDetectorObjectFactory::GeoModelDetectorObjectFactory ( const Config & cfg,
std::unique_ptr< const Acts::Logger > mlogger = Acts::getDefaultLogger("GeoModelDetectorObjectFactory", Acts::Logging::WARNING) )
explicit

Member Function Documentation

◆ construct()

void ActsPlugins::GeoModelDetectorObjectFactory::construct ( Cache & cache,
const Acts::GeometryContext & gctx,
const GeoModelTree & geoModelTree,
const Options & options )

Run the translation from the GeoModelTree to the (sensitive) surfaces.

Parameters
cacheCache object which will contain the surfaces & box volume bounds
gctxInstance to an geometry context in order to build the envelope volumes
geoModelTreeConfigured instance of the GeoModelTree to run the construction on
optionsOptions configuring which volumes / materials shall be converted to surfaces

◆ convertFpv()

void ActsPlugins::GeoModelDetectorObjectFactory::convertFpv ( const std::string & name,
const FpvConstLink & fpv,
Cache & cache,
const Acts::GeometryContext & gctx )

Convert a full physical volume (and the appropriate children) into sensitive surfaces.

Parameters
namePublished name of the full physical volume in the GeoModelTree
fpvPointer to the full physical volume to convert
cacheOutput cache object in which the constructed surfaces are saved
gctxInstance to an geometry context in order to build the envelope volumes