|
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"
21 class HGTD_ModuleDesign;
80 virtual void create(GeoPhysVol* world)
override;
94 GeoVPhysVol*
build(
const GeoLogVol* logicalEnvelope,
bool bPos);
131 #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
PositionsInQuadrant mirrorModulesInQuadrant(const PositionsInQuadrant &)
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
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)