5#ifndef AFP_GeoModelFactory_h
6#define AFP_GeoModelFactory_h 1
11#include "GeoModelKernel/GeoIntrusivePtr.h"
12#include "GeoModelKernel/GeoVDetectorFactory.h"
24#define SLIMCUT (0.01*CLHEP::mm)
46 virtual void create(GeoPhysVol *world);
73 void addSiDetector(GeoPhysVol* pPhysMotherVol,
const char* pszStationName, HepGeom::Transform3D& TransInMotherVolume);
74 void addRomanPot(GeoPhysVol* pPhysMotherVol,
const char* pszStationName, HepGeom::Transform3D& TransInMotherVolume);
std::vector< GeoBorderSurface > GeoBorderSurfaceContainer
Simple smart-pointer class for GeoModel objects.
std::map< std::string, GeoRef< const GeoMaterial > > m_MapMaterials
void addSiDetector(GeoPhysVol *pPhysMotherVol, const char *pszStationName, HepGeom::Transform3D &TransInMotherVolume)
AFP_GeoModelFactory(const AFP_GeoModelFactory &right)
AFP_Geometry * m_pGeometry
void addLBarSensorSeparationWindow(const char *pszStationName, const int nQuarticID, GeoOpticalPhysVol *pPhysMotherVolume, HepGeom::Transform3D &TransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
GeoIntrusivePtr< GeoOpticalSurface > m_pOpticalSurface
void addRomanPot(GeoPhysVol *pPhysMotherVol, const char *pszStationName, HepGeom::Transform3D &TransInMotherVolume)
void getLQBarDimensions(const int nRowID, const int nColID, AFPTOF_LBARDIMENSIONS *pLQBarDims)
AFP_GeoModelFactory(StoreGateSvc *pDetStore, AFP_Geometry *pGeometry)
HepGeom::Vector3D< double > getBarShift(AFPTOF_LBARDIMENSIONS &LQBarDims, eLBarType eSpecType=ELBT_UNDEFINED)
const bool m_addSeparationWindow
void addLQBarSegment(const char *pszStationName, const int nQuarticID, const int nLQBarID, AFPTOF_LBARDIMENSIONS &LQBarDims, GeoOpticalPhysVol *pPhysMotherVolume, HepGeom::Transform3D &TransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
void addHorizontalArm(const char *pszStationName, const int nQuarticID, const int nLQBarID, AFPTOF_LBARDIMENSIONS &LQBarDims, GeoOpticalPhysVol *pPhysMotherVolume, HepGeom::Transform3D &PartialTransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
void addSepRadLBar(const char *pszStationName, const int nQuarticID, const int nBarID, GeoOpticalPhysVol *pPhysMotherVolume, HepGeom::Transform3D &TransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
void addSensor(const char *pszStationName, const int nQuarticID, GeoOpticalPhysVol *pPhysMotherVolume, HepGeom::Transform3D &TransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
void updatePositions(AFP_BPMCOOLPARAMS *pBpmParams)
StatusCode addTimingDetector(const char *pszStationName, GeoOpticalPhysVol *pPhysMotherVol, HepGeom::Transform3D &TransInMotherVolume, GeoBorderSurfaceContainer *bsContainer)
GeoIntrusivePtr< GeoOpticalSurface > m_pReflectionOptSurface
AFP_CONFIGURATION m_CfgParams
virtual const AFP_GeoModelManager * getDetectorManager() const
virtual void create(GeoPhysVol *world)
std::map< std::string, const GeoShape * > m_MapShape
AFP_GeoModelManager * m_pDetectorManager
void initializeTDParameters()
const AFP_GeoModelFactory & operator=(const AFP_GeoModelFactory &right)
StoreGateSvc * m_pDetectorStore
GeoShape * createSolidSIDPlate()
Ensure that the extensions for the Vector3D are properly loaded.
Ensure that the extensions for the Vector3D are properly loaded.
The Athena Transient Store API.