7#include "Identifier/Identifier.h"
9#include "GeoModelKernel/GeoDefinitions.h"
10#include "GaudiKernel/SystemOfUnits.h"
14#include "GeoModelKernel/GeoVPhysVol.h"
38#ifndef GEOVPIXELFACTORY_H
39#define GEOVPIXELFACTORY_H
63#ifndef GEOPIXELBARREL_H
64#define GEOPIXELBARREL_H
71 virtual GeoVPhysVol*
Build()
override;
75#ifndef GEOPIXELCABLE_H
76#define GEOPIXELCABLE_H
85 virtual GeoVPhysVol*
Build()
override;
106 virtual GeoVPhysVol*
Build()
override;
111#ifndef GEOPIXELDISK_H
112#define GEOPIXELDISK_H
122 virtual GeoVPhysVol*
Build()
override;
133#ifndef GEOPIXELDISKSUPPORTS_H
134#define GEOPIXELDISKSUPPORTS_H
141 virtual GeoVPhysVol*
Build()
override;
154#ifndef GEOPIXELECCABLE_H
155#define GEOPIXELECCABLE_H
164 virtual GeoVPhysVol*
Build()
override;
172#ifndef GEOPIXELENDCAP_H
173#define GEOPIXELENDCAP_H
179 virtual GeoVPhysVol*
Build()
override;
184#ifndef GEOPIXELENVELOPE_H
185#define GEOPIXELENVELOPE_H
191 virtual GeoVPhysVol*
Build()
override;
196#ifndef GEOPIXELHYBRID_H
197#define GEOPIXELHYBRID_H
203 virtual GeoVPhysVol*
Build()
override;
208#ifndef GEOPIXELLADDER_H
209#define GEOPIXELLADDER_H
221 virtual GeoVPhysVol*
Build()
override;
230#ifndef GEOPIXELLADDERSTRUCT_H
231#define GEOPIXELLADDERSTRUCT_H
238 virtual GeoVPhysVol*
Build()
override;
243#ifndef GEOPIXELLAYER_H
244#define GEOPIXELLAYER_h
250 virtual GeoVPhysVol*
Build()
override;
255#ifndef GEOPIXELMODULE_H
256#define GEOPIXELMODULE_H
268 virtual GeoVPhysVol*
Build()
override;
281#ifndef GEOPIXELSERVICES_H
282#define GEOPIXELSERVICES_H
289 virtual GeoVPhysVol*
Build()
override;
305#ifndef GEOPIXELSICRYSTAL_H
306#define GEOPIXELSICRYSTAL_H
315 virtual GeoVPhysVol*
Build()
override;
329#ifndef GEOPIXELSUBDISK_H
330#define GEOPIXELSUBDISK_H
342 virtual GeoVPhysVol*
Build()
override;
353#ifndef GEOPIXELTUBECABLES_H
354#define GEOPIXELTUBECABLES_H
364 virtual GeoVPhysVol*
Build()
override;
373#ifndef PixelGeometryManager_H
374#define PixelGeometryManager_H
608#ifndef OraclePixelGeoManager_H
609#define OraclePixelGeoManager_H
827 inline virtual double PixelRMin()
override;
828 inline virtual double PixelRMax()
override;
898 inline virtual double DesignPitchZ(
bool isBLayer)
override;
908 virtual double Voltage(
bool isBLayer)
override;
909 virtual double Temperature(
bool isBLayer)
override;
928 return (*
m_atls)[0]->getDouble(
"RMAX")*Gaudi::Units::cm;
933 return (*
m_atls)[0]->getDouble(
"RMIN")*Gaudi::Units::cm;
937 return (*
m_atls)[0]->getDouble(
"ZMAX")*Gaudi::Units::cm;
947 {
return static_cast<int>(((*m_PixelBarrelGeneral)[0]->getDouble(
"VERSION") -
PixelBarrelMajorVersion())*10 + 0.5);}
950 {
return static_cast<int>(((*m_PixelEndcapGeneral)[0]->getDouble(
"VERSION") -
PixelEndcapMajorVersion())*10 + 0.5);}
971 return (*
m_PixelStave)[0]->getDouble(
"SUPPORTHLENGTH")*Gaudi::Units::cm;
976 return (*
m_PixelStave)[0]->getDouble(
"SUPPORTWIDTH")*Gaudi::Units::cm;
1000 return (*
m_PixelStave)[0]->getDouble(
"MODULETILT")*Gaudi::Units::deg;
1005 return (*
m_PixelStave)[0]->getDouble(
"CENTRMODULESHIFT")*Gaudi::Units::cm;
1010 return (*
m_PixelStave)[0]->getDouble(
"MODULEDZ")*Gaudi::Units::cm*im;
1016 if(im == 0)
return 1.;
1023 if(im < 6)
return 1.;
1024 if(im > 6)
return -1.;
1031 return (*
m_PixelStave)[0]->getDouble(
"CABLEWIDTH")*Gaudi::Units::cm;
1035 return (*
m_PixelStave)[0]->getDouble(
"CABLETHICK")*Gaudi::Units::cm;
1039 return (*
m_PixelStave)[0]->getDouble(
"SUPPORTHLENGTH")*Gaudi::Units::cm;
1043 return (*
m_PixelStave)[0]->getDouble(
"CABLEZMIN")*Gaudi::Units::cm;
1047 return (*
m_PixelStave)[0]->getDouble(
"MODULEDZ")*Gaudi::Units::cm;
1096 return (*
m_pxbi)[0]->getDouble(
"DYACTIVE")*Gaudi::Units::cm;
1099 return (*
m_pxbi)[0]->getDouble(
"DZELEB")*Gaudi::Units::cm;
1103 if(isBLayer)
return (*
m_pxbd)[0]->getDouble(
"PITCHRP")*Gaudi::Units::cm;
1104 else return (*
m_pxbd)[1]->getDouble(
"PITCHRP")*Gaudi::Units::cm;
1111 pitchZ = 300 * Gaudi::Units::micrometer;
1113 pitchZ = (*m_pxbd)[0]->getDouble(
"PITCHZ") * Gaudi::Units::cm;
1116 pitchZ = (*m_pxbd)[1]->getDouble(
"PITCHZ") * Gaudi::Units::cm;
1122 return (*
m_pdch)[0]->getDouble(
"GAPRP")*Gaudi::Units::cm;
1126 return (*
m_pdch)[0]->getDouble(
"GAPZ")*Gaudi::Units::cm;
1138 return (*
m_pdch)[0]->getInt(
"NZCHIP");
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition of the abstract IRDBRecord interface.
Definition of the abstract IRDBRecordset interface.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Helper class to concentrate common items, such as the pointer to the IdHelper, the lorentzAngle tool ...
Base class for the detector design classes for Pixel and SCT.
virtual GeoVPhysVol * Build() override
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
void SetModuleNumber(int moduleNumber)
virtual GeoVPhysVol * Build() override
GeoPixelCable(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
virtual GeoVPhysVol * Build() override
std::vector< double > m_zpos
std::vector< double > m_halflength
std::vector< double > m_rmin
virtual GeoVPhysVol * Build() override
GeoPixelDiskSupports(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
std::vector< double > m_rmax
std::vector< std::string > m_material
virtual ~GeoPixelDisk()=default
virtual GeoVPhysVol * Build() override
GeoPixelDisk(const GeoPixelDisk &)=delete
GeoIntrusivePtr< GeoLogVol > m_theDisk
GeoPixelDisk(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
GeoPixelDisk & operator=(const GeoPixelDisk &)=delete
GeoPixelECCable(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
GeoPixelECCable & operator=(const GeoPixelECCable &)=delete
GeoPixelECCable(const GeoPixelECCable &)=delete
virtual GeoVPhysVol * Build() override
GeoIntrusivePtr< GeoLogVol > m_theECCable
virtual ~GeoPixelECCable()=default
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
virtual GeoVPhysVol * Build() override
virtual GeoVPhysVol * Build() override
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
virtual GeoVPhysVol * Build() override
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
virtual GeoVPhysVol * Build() override
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
GeoIntrusivePtr< GeoLogVol > m_theLadder
GeoPixelSiCrystal & m_theSensor
GeoPixelLadder(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoPixelSiCrystal &theSensor)
virtual ~GeoPixelLadder()=default
virtual GeoVPhysVol * Build() override
GeoPixelLadder & operator=(const GeoPixelLadder &)=delete
GeoPixelLadder(const GeoPixelLadder &)=delete
virtual GeoVPhysVol * Build() override
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
GeoIntrusivePtr< GeoLogVol > m_theModule
virtual GeoVPhysVol * Build() override
GeoPixelModule & operator=(const GeoPixelModule &)=delete
virtual ~GeoPixelModule()=default
GeoPixelModule(const GeoPixelModule &)=delete
GeoPixelSiCrystal & m_theSensor
GeoPixelModule(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoPixelSiCrystal &theSensor)
std::vector< double > m_halflength
std::vector< double > m_rmin
std::vector< std::string > m_material
std::vector< double > m_zpos
void initialize(const std::string &)
GeoPixelServices(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, const std::string &)
virtual GeoVPhysVol * Build() override
std::vector< double > m_rmax
virtual GeoVPhysVol * Build() override
GeoPixelSiCrystal(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, bool isBLayer)
const InDetDD::SiDetectorDesign * m_design
virtual GeoVPhysVol * Build() override
GeoIntrusivePtr< GeoLogVol > m_theSubDisk
GeoPixelSubDisk(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoPixelSiCrystal &theSensor)
GeoPixelSubDisk(const GeoPixelSubDisk &)=delete
virtual ~GeoPixelSubDisk()=default
GeoPixelSiCrystal & m_theSensor
GeoPixelSubDisk & operator=(const GeoPixelSubDisk &)=delete
GeoIntrusivePtr< GeoLogVol > m_theBox
GeoPixelTubeCables & operator=(const GeoPixelTubeCables &)=delete
virtual GeoVPhysVol * Build() override
GeoPixelTubeCables(const GeoPixelTubeCables &)=delete
GeoPixelTubeCables(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
virtual ~GeoPixelTubeCables()=default
virtual ~GeoVPixelFactory()
StoredMaterialManager * m_mat_mgr
PixelGeometryManager * m_gmt_mgr
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
InDetDD::PixelDetectorManager * m_DDmgr
virtual GeoVPhysVol * Build()=0
virtual double DesignPitchZ(bool isBLayer) override
IRDBRecordset_ptr m_PixelCommon
virtual void SetBarrel() override
virtual double Voltage(bool isBLayer) override
virtual double PixelLadderThickness() override
virtual int PixelServiceNFrame(std::string) override
virtual double DesignRPActiveArea() override
IRDBRecordset_ptr m_PixelBarrelService
virtual void SetEndcapModuleName(std::string) override
virtual int DesignDiodeColumnsPerCircuit(bool isBLayer) override
std::string m_blayerDesignName
std::string m_endcapDesignName
const PixelID * getIdHelper() override
IRDBRecordset_ptr m_PixelStave
std::string m_designsObjectName
virtual void SetNeg() override
virtual int PixelEndcapMajorVersion() override
virtual double PixelEndcapZMax() override
virtual void SetCurrentLD(int i) override
virtual double PixelChipWidth() override
virtual double PixelEndcapRMin() override
virtual double PixelCableZMax() override
virtual double GetATLSRmin() override
virtual double PixelECCablesRMin() override
virtual int PixelECNSectors1() override
virtual void SetLayer0ModuleName(std::string) override
virtual int DesignCircuitsPerColumn() override
std::string m_barrelDesignName
virtual double PixelChipLength() override
virtual double PixelCableWidth() override
virtual void SetPhi(int phi) override
virtual int PixelEndcapNSupportFrames() override
virtual std::string GetDetElementName() override
virtual bool DoServices() override
virtual double PixelECSiDz1() override
virtual double GetATLSRadius() override
virtual int PixelNModule() override
virtual double PixelHybridThickness() override
virtual double DesignPitchRP(bool isBLayer) override
virtual int DesignCellColumnsPerCircuit(bool isBLayer) override
virtual double PixelDiskRMin() override
virtual double PixelBoardThickness() override
virtual double PixelChipThickness() override
virtual double DesignGapRP() override
std::string m_elementsObjectName
virtual double PixelLadderWidth() override
virtual double PixelBoardWidth() override
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems) override
virtual int DesignCircuitsPerRow() override
IRDBRecordset_ptr m_PixelEndcapGeneral
virtual std::string GetLayer0ModuleName() override
virtual StoredMaterialManager * getMaterialManager() override
StoreGateSvc * m_pDetStore
virtual double PixelBoardLength() override
virtual int EmptyRowConnections(int index) override
virtual int PixelBarrelMajorVersion() override
virtual bool isLDPresent() override
virtual double PixelRMax() override
virtual std::string versionTag() const override
virtual bool DC1Geometry() const override
bool m_g3CompatibleDigits
virtual std::string PixelServiceMaterial(std::string, int) override
virtual double PixelECCarbonRMax(std::string) override
virtual double PixelRMin() override
virtual std::string GetEndcapModuleName() override
virtual int PixelBarrelNLayer() override
virtual void SetEta(int eta) override
virtual double PixelHalfLength() override
virtual double PixelECCarbonRMin(std::string) override
IRDBRecordset_ptr m_PixelModule
virtual double PixelCableDeltaZ() override
virtual std::string GetBarrelModuleName() override
virtual void SetDC1Geometry(bool flag) override
virtual double PixelBalcony() override
virtual int GetLD() override
virtual int DesignCellRowsPerCircuit(bool isBLayer) override
double CalculateThickness(double, const std::string &)
virtual int PixelServiceLD(std::string, int) override
virtual bool InitialLayout() const override
virtual bool isBarrel() override
virtual void SetDesignName(std::string) override
virtual bool isEndcap() override
virtual double PixelCableThickness() override
virtual double PixelECSiDz2() override
virtual double PixelLayerRadius() override
virtual double PixelECCablesDistance() override
virtual double GetATLSLength() override
virtual double PixelModuleDrDistance() override
virtual double PixelHybridLength() override
virtual void SetInitialLayout(bool flag) override
virtual double * PixelServiceZ(std::string, int) override
InDetDD::PixelDetectorManager * m_pDDmgr
IRDBRecordset_ptr m_PixelEndcapService
virtual bool G3CompatibleDigits() const override
IRDBRecordset_ptr m_PixelBarrelGeneral
virtual double PixelCableZMin() override
virtual int NumberOfEmptyRows() override
virtual double PixelModuleShiftFlag(int) override
virtual double DesignGapZ() override
InDetDD::SiCommonItems * m_commonItems
virtual void SetEndcap() override
virtual int PixelBarrelMinorVersion() override
IRDBRecordset_ptr m_PixelLayer
virtual int Phi() override
virtual double PixelBarrelHalfLength() override
int PixelEndcapNDisk() override
virtual double PixelECCarbonThickness(std::string) override
virtual double PixelModuleAngle() override
virtual double PixelBarrelRMax() override
virtual double PixelDiskPosition() override
IRDBRecordset_ptr m_PixelDisk
virtual int NPixelSectors() override
virtual double * PixelServiceR(std::string, int) override
virtual void SetG3CompatibleDigits(bool flag) override
virtual double PixelECCablesThickness() override
virtual void SetAlignable(bool flag) override
virtual double PixelModuleAngleSign(int) override
virtual double PixelBoardActiveLen() override
virtual double PixelBarrelRMin() override
virtual InDetDD::SiCommonItems * commonItems() override
virtual double PixelLadderTilt() override
virtual int EmptyRows(int index) override
virtual double Temperature(bool isBLayer) override
virtual double PixelECCablesRMax() override
virtual void SetServices(bool isservice) override
virtual double PixelHybridWidth() override
virtual void SetDetElementName(std::string) override
virtual double PixelChipGap() override
virtual int Eta() override
virtual std::string PixelECCarbonMaterial(std::string) override
virtual int PixelEndcapMinorVersion() override
virtual std::string GetDesignName() override
virtual InDetDD::PixelDetectorManager * GetPixelDDManager() override
virtual double PixelEndcapZMin() override
virtual int DesignDiodeRowsPerCircuit(bool isBLayer) override
virtual void SetBarrelModuleName(std::string) override
virtual double PixelLadderHalfLength() override
virtual int PixelECNSectors2() override
virtual double PixelEndcapRMax() override
virtual double PixelModulePosition(int) override
StoredMaterialManager * m_pMatMgr
virtual void SetPos() override
virtual double DesignZActiveArea() override
virtual bool Alignable() const override
virtual int GetSide() override
virtual double PixelLadderThickness()=0
virtual double PixelECCarbonRMin(std::string)=0
virtual double PixelHybridWidth()=0
virtual InDetDD::PixelDetectorManager * GetPixelDDManager()=0
virtual int PixelEndcapNSupportFrames()=0
virtual double DesignPitchZ(bool isBLayer)=0
virtual double PixelChipLength()=0
virtual void SetPhi(int phi)=0
virtual void SetInitialLayout(bool flag)=0
virtual int PixelBarrelMajorVersion()=0
virtual double PixelChipGap()=0
virtual double PixelBarrelRMax()=0
virtual double PixelHybridThickness()=0
virtual bool DoServices()=0
virtual double PixelECCarbonThickness(std::string)=0
virtual double PixelCableThickness()=0
virtual int PixelBarrelNLayer()=0
virtual double PixelBoardWidth()=0
virtual double PixelECSiDz2()=0
virtual double PixelBoardActiveLen()=0
virtual double PixelModuleAngle()=0
virtual std::string GetDesignName()=0
virtual void SetServices(bool isservice)=0
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems)=0
virtual double PixelEndcapZMax()=0
virtual double PixelBoardLength()=0
virtual double PixelECSiDz1()=0
virtual std::string PixelServiceMaterial(std::string, int)=0
virtual void SetEndcapModuleName(std::string)=0
virtual int PixelEndcapMinorVersion()=0
virtual double PixelChipWidth()=0
virtual double PixelHybridLength()=0
virtual double PixelRMin()=0
virtual void SetDC1Geometry(bool flag)=0
virtual int PixelEndcapNDisk()=0
virtual double PixelChipThickness()=0
virtual double GetATLSRmin()=0
virtual double PixelECCablesRMin()=0
virtual int DesignCellColumnsPerCircuit(bool isBLayer)=0
virtual int PixelEndcapMajorVersion()=0
virtual double DesignGapZ()=0
virtual int NumberOfEmptyRows()=0
virtual double PixelModuleDrDistance()=0
virtual int DesignDiodeRowsPerCircuit(bool isBLayer)=0
virtual double * PixelServiceZ(std::string, int)=0
virtual int PixelServiceLD(std::string, int)=0
virtual double PixelCableWidth()=0
virtual double PixelModuleAngleSign(int)=0
virtual bool InitialLayout() const =0
virtual void SetDesignName(std::string)=0
virtual bool G3CompatibleDigits() const =0
virtual double PixelRMax()=0
virtual double DesignGapRP()=0
virtual void SetBarrelModuleName(std::string)=0
virtual double PixelECCablesThickness()=0
virtual void SetBarrel()=0
virtual double PixelCableDeltaZ()=0
virtual bool isLDPresent()=0
virtual double GetATLSLength()=0
virtual bool isEndcap()=0
virtual int DesignDiodeColumnsPerCircuit(bool isBLayer)=0
virtual double PixelDiskPosition()=0
virtual bool isBarrel()=0
virtual bool DC1Geometry() const =0
virtual int PixelNModule()=0
virtual void SetDetElementName(std::string)=0
virtual double PixelECCablesDistance()=0
virtual int EmptyRows(int index)=0
virtual std::string versionTag() const =0
virtual double PixelCableZMin()=0
virtual void SetAlignable(bool flag)=0
virtual double PixelLadderHalfLength()=0
virtual std::string GetDetElementName()=0
virtual double PixelBarrelHalfLength()=0
virtual int PixelBarrelMinorVersion()=0
virtual double DesignRPActiveArea()=0
virtual double PixelBarrelRMin()=0
virtual double PixelLadderWidth()=0
virtual int DesignCircuitsPerColumn()=0
virtual double PixelBalcony()=0
virtual double PixelDiskRMin()=0
virtual int EmptyRowConnections(int index)=0
virtual InDetDD::SiCommonItems * commonItems()=0
virtual int DesignCellRowsPerCircuit(bool isBLayer)=0
virtual std::string PixelECCarbonMaterial(std::string)=0
virtual std::string GetEndcapModuleName()=0
virtual double PixelEndcapZMin()=0
virtual double Temperature(bool isBLayer)=0
virtual double PixelModulePosition(int)=0
virtual double PixelEndcapRMax()=0
virtual void SetG3CompatibleDigits(bool flag)=0
virtual const PixelID * getIdHelper()=0
virtual int NPixelSectors()=0
virtual double PixelBoardThickness()=0
virtual double Voltage(bool isBLayer)=0
virtual int PixelServiceNFrame(std::string)=0
virtual double GetATLSRadius()=0
virtual int PixelECNSectors1()=0
virtual void SetEndcap()=0
virtual int DesignCircuitsPerRow()=0
virtual void SetLayer0ModuleName(std::string)=0
virtual double PixelEndcapRMin()=0
virtual double PixelCableZMax()=0
virtual double PixelECCarbonRMax(std::string)=0
virtual ~PixelGeometryManager()
virtual void SetEta(int eta)=0
virtual double PixelECCablesRMax()=0
virtual double DesignZActiveArea()=0
virtual bool Alignable() const =0
virtual int PixelECNSectors2()=0
virtual double PixelLadderTilt()=0
virtual double DesignPitchRP(bool isBLayer)=0
virtual std::string GetLayer0ModuleName()=0
virtual StoredMaterialManager * getMaterialManager()=0
virtual double PixelModuleShiftFlag(int)=0
virtual void SetCurrentLD(int i)=0
virtual double * PixelServiceR(std::string, int)=0
virtual const InDetDD::SiCommonItems * commonItems() const =0
virtual double PixelHalfLength()=0
virtual double PixelLayerRadius()=0
virtual std::string GetBarrelModuleName()=0
This is an Identifier helper class for the Pixel subdetector.
The Athena Transient Store API.
This class holds one or more material managers and makes them storeable, under StoreGate.