5#ifndef ALFAGEOMODEL_ALFADETECTORFACTORY_H
6#define ALFAGEOMODEL_ALFADETECTORFACTORY_H
9#include "GeoModelKernel/GeoVDetectorFactory.h"
11#include "CLHEP/Geometry/Transform3D.h"
24class GeoAlignableTransform;
95 virtual void create(GeoPhysVol *pWorld);
110 void ConstructUFiberCladdings(
const eRPotName eRPName, GeoFullPhysVol* pMotherVolume,
const HepGeom::Transform3D& MotherTransform, GeoAlignableTransform* pDetTransform);
111 void ConstructVFiberCladdings(
const eRPotName eRPName, GeoFullPhysVol* pMotherVolume,
const HepGeom::Transform3D& MotherTransform, GeoAlignableTransform* pDetTransform);
112 void ConstructODFiberCladdings(
const eRPotName eRPName, GeoFullPhysVol* pPhysMotherVolume,
const HepGeom::Transform3D& MotherTransform, GeoAlignableTransform* pDetTransform);
114 void ConstructODFibers00(
const eRPotName eRPName,
const int iODPlate,
eFiberType eFType, GeoFullPhysVol* pMotherVolume,
const HepGeom::Transform3D& MotherTransform,
const HepGeom::Transform3D& TransODCladding);
115 void ConstructODFibers01(
const eRPotName eRPName,
const int iODPlate,
eFiberType eFType, GeoFullPhysVol* pMotherVolume,
const HepGeom::Transform3D& MotherTransform,
const HepGeom::Transform3D& TransODCladding);
118 void ConstructAlfaStations(std::map<eAStationName,ALFAPHYSVOLUME>* pmapActiveStations, GeoPhysVol* pWorld);
struct _ALIGNPARAMETERS * PALIGNPARAMETERS
struct _CONFIGURATION * PCONFIGURATION
struct _CONFIGURATION CONFIGURATION
struct _ALIGNPARAMETERS ALIGNPARAMETERS
struct _ALFAPHYSVOLUME ALFAPHYSVOLUME
struct _ALFAPHYSVOLUME * PALFAPHYSVOLUME
GeoShape * CreateSolidG10Shapes()
void AddGlobalVacuumSensorInStation(GeoFullPhysVol *pPhysStation, eAStationName eStatName)
ALFA_DetectorFactory(StoreGateSvc *pDetStore, IRDBAccessSvc *pAccess, const PCONFIGURATION pConfig)
virtual const ALFA_DetectorManager * getDetectorManager() const
void UpdateTransforms(PALIGNPARAMETERS pAlignParams)
HepGeom::Transform3D UserTransformInDetector(eRPotName eRPName)
GeoShape * CreateSolidRP()
HepGeom::Transform3D UserTransformInStation(eRPotName eRPName)
void AddBeamPipeInStation(GeoFullPhysVol *pPhysStation, const char *pszStationLabel)
GeoShape * CreateSolidTrigger()
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
const ALFA_DetectorFactory & operator=(const ALFA_DetectorFactory &right)
void ConstructODFibers00(const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding)
eMetrologyType m_eRequestedMetrologyType
void ConstructBeampipe(GeoPhysVol *pWorld)
ALFA_DetectorManager * m_pDetectorManager
void ConstructODFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pPhysMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
ALFA_DetectorFactory(const ALFA_DetectorFactory &right)
void ConstructVFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
std::map< std::string, const GeoMaterial * > m_MapMaterials
StoreGateSvc * m_pDetectorStore
void CreateAxes(GeoPhysVol *pMotherVolume)
void ConstructODFibers01(const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding)
bool ReadGeometry(bool bAlignCorrections=false)
void ConstructAlfaStations(std::map< eAStationName, ALFAPHYSVOLUME > *pmapActiveStations, GeoPhysVol *pWorld)
GeoShape * CreateSolidAir()
std::unique_ptr< ALFA_GeometryReader > m_pGeoReader
GeoShape * CreateSolidRPSupport()
std::map< int, GeoShape * > * CreateSolidTiPlates()
void DefineMaterials(StoredMaterialManager *pMaterialManager)
std::list< eRPotName > m_ListExistingRPots
std::map< int, GeoShape * > * CreateSolidODPlates()
IRDBAccessSvc * m_pIRDBAccess
virtual void create(GeoPhysVol *pWorld)
void ConstructUFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
IRDBRecordset is an abstract interface to the RDB Recordsets, which represent a snapshot of HVS-tagge...
The Athena Transient Store API.
This class holds one or more material managers and makes them storeable, under StoreGate.
HepGeom::Transform3D Transform
GeoFullPhysVol * pPhysVolume
double fYOffset[RPOTSCNT]
double fXOffset[RPOTSCNT]
std::vector< double > vecTransformInStationA7L1U
std::vector< double > vecTransformInStationB7L1U
std::vector< double > vecTransformInDetectorA7L1L
std::vector< double > vecTransformInDetectorA7R1L
std::vector< double > pointTransformInDetectorB7L1L
std::vector< double > vecTransformInStationB7L1L
std::vector< double > pointTransformInDetectorA7R1U
std::vector< double > vecTransformInStationB7R1L
std::vector< double > vecTransformInStationB7R1U
std::vector< double > vecTransformInStationA7R1U
std::vector< double > vecTransformInDetectorB7L1L
std::vector< double > pointTransformInDetectorA7L1L
std::vector< double > vecTransformInStationA7L1L
std::vector< double > pointTransformInDetectorB7R1U
std::vector< double > pointTransformInDetectorA7R1L
std::vector< double > vecTransformInDetectorB7R1U
std::vector< double > pointTransformInDetectorB7L1U
GEOMETRYCONFIGURATION GeometryConfig
std::vector< double > vecTransformInDetectorA7R1U
std::vector< double > vecTransformInDetectorB7L1U
std::vector< bool > bIsTransformInStation
std::vector< bool > bIsTransformInDetector
std::vector< double > pointTransformInDetectorB7R1L
std::vector< double > vecTransformInStationA7R1L
std::vector< double > pointTransformInDetectorA7L1U
std::vector< double > vecTransformInDetectorB7R1L
std::vector< double > vecTransformInDetectorA7L1U