![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef HGTD_GEOMODEL_HGTD_DETECTORFACTORY_H
6 #define HGTD_GEOMODEL_HGTD_DETECTORFACTORY_H
12 #include "GeoModelKernel/GeoFullPhysVol.h"
17 class HGTD_ModuleDesign;
76 virtual void create(GeoPhysVol* world)
override;
90 GeoVPhysVol*
build(
const GeoLogVol* logicalEnvelope,
bool bPos);
127 #endif // HGTD_GEOMODEL_HGTD_DETECTORFACTORY_H
Class to hold various Athena components.
int reorderRows(PositionsInQuadrant *quadrant)
GeoVPhysVol * build(const GeoLogVol *logicalEnvelope, bool bPos)
Scalar phi() const
phi method
HGTD_GeoModelAthenaComps * m_athComps
Scalar eta() const
pseudorapidity method
HGTD_DetectorFactory & operator=(HGTD_DetectorFactory &right)
std::map< std::string, GeoCylVolParams > m_cylVolPars
HGTD_DetectorFactory(HGTD_GeoModelAthenaComps *athenaComps)
std::array< std::vector< ModulePosition >, 21 > PositionsInQuadrant
void setPrintIdentifierDict(bool)
std::array< PositionsInQuadrant, 4 > prepareLayersFromQuadrants(unsigned int)
std::unique_ptr< const InDetDD::SiCommonItems > m_commonItems
GeoLogVol * buildEndcapLogicalVolume(bool isPositiveSide)
HGTD_DetectorManager * m_detectorManager
std::vector< ModulePosition > prepareModulePositionsInRowTwoRing(int row, bool back=false)
HGTD_DetectorFactory(HGTD_DetectorFactory &right)
StoredMaterialManager * m_materialMgr
PositionsInQuadrant mirrorModulesInQuadrant(PositionsInQuadrant)
InDetDD::HGTD_ModuleDesign * createHgtdDesign(double thickness)
std::vector< ModulePosition > prepareModulePositionsInRowThreeRing(int row, int back=0)
virtual ~HGTD_DetectorFactory()
std::map< std::string, GeoBoxVolParams > m_boxVolPars
double rowBacksideInnerShift
virtual const HGTD_DetectorManager * getDetectorManager() const override
void initializeGeoParameters()
std::string formModuleName(int layer, int quadrant, unsigned int maxrows, int row, int mod, const ModulePosition &module, double &myx, double &myy, double &myrot, int &phi, int &eta)
PositionsInQuadrant prepareQuadrantsFromRows(int layer, unsigned int maxRow)
This class holds one or more material managers and makes them storeable, under StoreGate.
virtual void create(GeoPhysVol *world) override
double rowBacksideOuterShift
void mirrorPositionsAroundYaxis(std::array< PositionsInQuadrant, 4 > &arr)