EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples::Generic Namespace Reference

Classes

class  GenericDetectorElement
 
class  LayerBuilderT
 
struct  ProtoLayerSurfaces
 
class  ProtoLayerCreatorT
 

Typedefs

using SurfacePosition = std::pair< const Acts::Surface *, Acts::Vector3D >
 

Functions

std::vector< Acts::Vector3DmodulePositionsCylinder (double radius, double zStagger, double moduleHalfLength, double lOverlap, const std::pair< int, int > &binningSchema)
 helper method for cylinder
 
std::vector< Acts::Vector3DmodulePositionsRing (double z, double radius, double phiStagger, double phiSubStagger, int nPhiBins)
 Helper method for positioning.
 
std::vector< std::vector
< Acts::Vector3D > > 
modulePositionsDisc (double z, double ringStagger, std::vector< double > phiStagger, std::vector< double > phiSubStagger, double innerRadius, double outerRadius, const std::vector< size_t > &discBinning, const std::vector< double > &moduleHalfLength)
 helper method for disc
 
template<typename detector_element_t >
std::unique_ptr< const
Acts::TrackingGeometry
buildDetector (const typename detector_element_t::ContextType &gctx, std::vector< std::vector< std::shared_ptr< detector_element_t >>> &detectorStore, size_t level, std::shared_ptr< const Acts::IMaterialDecorator > matDecorator=nullptr, bool protoMaterial=false, Acts::Logging::Level surfaceLLevel=Acts::Logging::INFO, Acts::Logging::Level layerLLevel=Acts::Logging::INFO, Acts::Logging::Level volumeLLevel=Acts::Logging::INFO)
 

Typedef Documentation

Definition at line 37 of file LayerBuilderT.hpp.

View newest version in sPHENIX GitHub at line 37 of file LayerBuilderT.hpp

Function Documentation

template<typename detector_element_t >
std::unique_ptr<const Acts::TrackingGeometry> ActsExamples::Generic::buildDetector ( const typename detector_element_t::ContextType &  gctx,
std::vector< std::vector< std::shared_ptr< detector_element_t >>> &  detectorStore,
size_t  level,
std::shared_ptr< const Acts::IMaterialDecorator matDecorator = nullptr,
bool  protoMaterial = false,
Acts::Logging::Level  surfaceLLevel = Acts::Logging::INFO,
Acts::Logging::Level  layerLLevel = Acts::Logging::INFO,
Acts::Logging::Level  volumeLLevel = Acts::Logging::INFO 
)

Global method to build the generic tracking geometry

Template Parameters
detector_element_tis the actual type of the detector element, each derivative of a GenericDetectorElement can be used
Parameters
gctxis the detector element dependent geometry context
detectorStoreis the store for the detector element
matDecoratoris an optional decorator for the material
levelis the detector building level 0 - pixel barrel only 1 - pixel detector only 2 - full barrel only 3 - full detector (without stereo modules)
matDecoratoris the source for material decoration
protoMaterialis a flag to steer proto material to be loaded
surfaceLLevelis the surface building logging level
layerLLevelis the layer building logging level
volumeLLevelis the volume building logging level return a unique vector to the tracking geometry

The ProtoLayer creator

return the tracking geometry

Definition at line 101 of file BuildGenericDetector.hpp.

View newest version in sPHENIX GitHub at line 101 of file BuildGenericDetector.hpp

References Acts::binPhi, Acts::binR, Acts::binX, Acts::binZ, Acts::closed, Acts::Material::fromMassDensity(), Acts::getDefaultLogger(), Acts::CylinderVolumeHelper::Config::layerArrayCreator, Acts::PassiveLayerBuilder::Config::layerIdentification, Acts::UnitConstants::mm, modulePositionsCylinder(), modulePositionsDisc(), Acts::open, Acts::LayerCreator::Config::surfaceArrayCreator, and Acts::CylinderVolumeBuilder::Config::trackingVolumeHelper.

+ Here is the call graph for this function:

std::vector< Acts::Vector3D > ActsExamples::Generic::modulePositionsCylinder ( double  radius,
double  zStagger,
double  moduleHalfLength,
double  lOverlap,
const std::pair< int, int > &  binningSchema 
)

helper method for cylinder

Helper method for positioning

Parameters
radiusis the cylinder radius
zStaggeris the radial staggering along z
moduleHalfLengthis the module length (longitudinal)
lOverlapis the overlap of the modules (longitudinal) is the way the bins are laid out rphi x z

Definition at line 16 of file BuildGenericDetector.cpp.

View newest version in sPHENIX GitHub at line 16 of file BuildGenericDetector.cpp

References kdfinder::abs(), cos(), M_PI, and Acts::Test::minPhi.

Referenced by buildDetector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< std::vector< Acts::Vector3D > > ActsExamples::Generic::modulePositionsDisc ( double  z,
double  ringStagger,
std::vector< double >  phiStagger,
std::vector< double >  phiSubStagger,
double  innerRadius,
double  outerRadius,
const std::vector< size_t > &  discBinning,
const std::vector< double > &  moduleHalfLength 
)

helper method for disc

Helper method for positioning

Parameters
zis the nominal z posiiton of the dis
ringStaggeris the staggering of the different rings
phiStaggeris the staggering on a ring in phi : it is even/odd
phiSubStaggeris the sub staggering on a ring in phi : it affects 0/4/8 and 3/6
innerRadiusis the inner Radius for the disc
outerRadiusis the outer Radius for the disc
discBinningis the binning setup in r, phi
moduleHalfLengthis pair of phibins and module length

Definition at line 46 of file BuildGenericDetector.cpp.

View newest version in sPHENIX GitHub at line 46 of file BuildGenericDetector.cpp

References deltaR(), ir(), and modulePositionsRing().

Referenced by buildDetector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< Acts::Vector3D > ActsExamples::Generic::modulePositionsRing ( double  z,
double  radius,
double  phiStagger,
double  phiSubStagger,
int  nPhiBins 
)

Helper method for positioning.

Helper method for positioning

Parameters
zis the z position of the ring
radiusis the ring radius
phiStaggeris the radial staggering along phi
lOverlapis the overlap of the modules nPhiBins is the number of bins in phi

Definition at line 102 of file BuildGenericDetector.cpp.

View newest version in sPHENIX GitHub at line 102 of file BuildGenericDetector.cpp

References cos(), M_PI, Acts::Test::minPhi, and phi.

Referenced by modulePositionsDisc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: