|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ForwardRegionGeoModelFactory_h
6 #define ForwardRegionGeoModelFactory_h 1
7 #include "GeoModelKernel/GeoVDetectorFactory.h"
11 #include "GaudiKernel/ToolHandle.h"
60 virtual void create(GeoPhysVol *world);
82 void constructElements(GeoPhysVol *fwrPhys, std::vector<std::vector<std::string> > loadedDataFile,
int beam);
85 GeoPhysVol*
insertMagnetEnvelope(
const std::string&
name,
double x,
double y,
double z,
double rotationAngle,
double diameter,
double halfL,
double dL, GeoPhysVol* fwrPhys);
86 void insertCircularElement(
const std::string&
name,
double x,
double y,
double z,
double rotationAngle,
double xAperture,
double yAperture,
double halfL,
double dL,
double tubeThickness, GeoPhysVol* fwrPhys);
87 void insertEllipticalElement(
const std::string&
name,
double x,
double y,
double z,
double rotationAngle,
double xAperture,
double yAperture,
double halfL,
double dL,
double tubeThickness, GeoPhysVol* fwrPhys);
88 void insertXRecticircularElement(
const std::string&
name,
double x,
double y,
double z,
double rotationAngle,
double xAperture,
double yAperture,
double halfL,
double dL,
double tubeThickness, GeoPhysVol* fwrPhys);
89 void insertYRecticircularElement(
const std::string&
name,
double x,
double y,
double z,
double rotationAngle,
double xAperture,
double yAperture,
double halfL,
double dL,
double tubeThickness, GeoPhysVol* fwrPhys);
91 void insertTCLElement(
const std::string&
name,
double x,
double y,
double z, GeoPhysVol* fwrPhys,
double TCLJawDistO,
double TCLJawDistI,
bool tungstenInsteadOfCopper =
false);
101 template <
typename T>
int sgn(
T val);
ForwardRegionGeoModelManager * m_detectorManager
virtual const ForwardRegionGeoModelManager * getDetectorManager() const
void insertYRecticircularElement(const std::string &name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol *fwrPhys)
std::map< std::string, const GeoMaterial * > m_MapMaterials
ForwardRegionGeoModelFactory(StoreGateSvc *pDetStore, const PFWD_CONFIGURATION pConfig)
void insertTCLElement(const std::string &name, double x, double y, double z, GeoPhysVol *fwrPhys, double TCLJawDistO, double TCLJawDistI, bool tungstenInsteadOfCopper=false)
ForwardRegionGeoModelFactory(const ForwardRegionGeoModelFactory &right)
void constructElements(GeoPhysVol *fwrPhys, std::vector< std::vector< std::string > > loadedDataFile, int beam)
void insertTrousersElement(const std::string &name, double x, double y, double z, double rotationAngle, GeoPhysVol *fwrPhys)
The Athena Transient Store API.
void insertCircularElement(const std::string &name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol *fwrPhys)
GeoPhysVol * insertMagnetEnvelope(const std::string &name, double x, double y, double z, double rotationAngle, double diameter, double halfL, double dL, GeoPhysVol *fwrPhys)
struct _FWD_CONFIGURATION FWD_CONFIGURATION
void insertXRecticircularElement(const std::string &name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol *fwrPhys)
virtual void create(GeoPhysVol *world)
std::vector< std::vector< std::string > > loadDataFile(char *fileName, int cols)
FWD_CONFIGURATION m_Config
FWDMg_CONFIGURATION m_MagConfig
ToolHandle< IForwardRegionProperties > m_properties
const ForwardRegionGeoModelFactory & operator=(const ForwardRegionGeoModelFactory &right)
struct _FWD_CONFIGURATION * PFWD_CONFIGURATION
StoreGateSvc * m_detectorStore
void insertEllipticalElement(const std::string &name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol *fwrPhys)
~ForwardRegionGeoModelFactory()