|
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "GeoModelKernel/GeoTransform.h"
9 #include "GeoModelKernel/GeoNameTag.h"
10 #include "GeoModelKernel/GeoIdentifierTag.h"
11 #include "GeoModelKernel/GeoBox.h"
12 #include "GeoModelKernel/GeoTrd.h"
13 #include "GeoModelKernel/GeoTube.h"
14 #include "GaudiKernel/SystemOfUnits.h"
22 , GeoModelIO::ReadGeoModel* sqliteReader
23 , std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV
24 , std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
43 GeoFullPhysVol* Phys{
nullptr};
45 double safety = 0.001;
51 GeoTube * Shape =
new GeoTube(rmin,rmax,halflength);
53 const GeoLogVol* Log =
new GeoLogVol(
"OutsideDBM",Shape,air);
54 Phys =
new GeoFullPhysVol(Log);
58 GeoVPhysVol* pp0BoardPhys = pp0Board.
Build();
60 GeoTransform* pp0xform =
new GeoTransform(pp0Pos);
61 GeoNameTag* pp0tag =
new GeoNameTag(
"DBM_PP0");
64 Phys->add(pp0BoardPhys);
69 for(
int i=0;
i<4;
i++)
89 GeoNameTag*
tag =
new GeoNameTag(
"DBM Module");
90 GeoVPhysVol* dbmModPhys = dbm.
Build();
92 Phys->add(
new GeoIdentifierTag(
i));
94 Phys->add(dbmModPhys);
109 for(
int disk=0; disk<numDisk; disk++){
virtual void SetEta(int eta)=0
virtual double DBMTelescopeZ()=0
const SiNumerology & numerology() const
Access Numerology.
int numEndcapsDBM() const
std::vector< double > m_module[4]
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
virtual double DBMTelescopeY()=0
InDetDD::PixelDetectorManager * m_DDmgr
PixelGeometryManager * m_gmt_mgr
void setNumDisksDBM(int nDisks)
Diamond Beam Monitor telescope builder.
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
Eigen::Affine3d Transform3D
virtual GeoVPhysVol * Build() override
virtual void SetPhi(int phi)=0
virtual GeoVPhysVol * Build() override
void setNumBarrelDBM(int nBarrel)
std::string to_string(const DetectorType &type)
InDetMaterialManager * m_mat_mgr
virtual double DBMPP0Thick()=0
DBM_Det(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX)
Eigen::Translation< double, 3 > Translation3D
void setNumPhiModulesForDiskRingDBM(int disk, int ring, int nPhiModules)
This is the base class for all the pieces of the Pixel detector.
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
virtual GeoVPhysVol * Build() override
void addEndcapDBM(int id)