22 , GeoModelIO::ReadGeoModel* sqliteReader
23 , std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV
24 , std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
31 double trans_rad = 46.678*Gaudi::Units::mm + (
m_gmt_mgr->DBMTelescopeY()) / 2.;
43 GeoFullPhysVol* Phys{
nullptr};
45 double safety = 0.001;
48 double rmin = 45.*Gaudi::Units::mm;
49 double rmax = 150.*Gaudi::Units::mm;
50 double halflength =
m_gmt_mgr->DBMTelescopeZ()/2.;
51 GeoTube * Shape =
new GeoTube(rmin,rmax,halflength);
52 const GeoMaterial* air =
m_mat_mgr->getMaterial(
"std::Air");
53 const GeoLogVol* Log =
new GeoLogVol(
"OutsideDBM",Shape,air);
54 Phys =
new GeoFullPhysVol(Log);
58 GeoVPhysVol* pp0BoardPhys = pp0Board.
Build();
59 GeoTrf::Translate3D pp0Pos(0., 0., -halflength +
m_gmt_mgr->DBMPP0Thick()/2. + safety);
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++)
83 GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(
m_module[i].at(5)*Gaudi::Units::deg)
84 * GeoTrf::RotateY3D(
m_module[i].at(4)*Gaudi::Units::deg)
85 * GeoTrf::RotateX3D(
m_module[i].at(3)*Gaudi::Units::deg);
87 GeoTransform* xform =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
89 GeoNameTag* tag =
new GeoNameTag(
"DBM Module");
90 GeoVPhysVol* dbmModPhys = dbm.
Build();
92 Phys->add(
new GeoIdentifierTag(i));
94 Phys->add(dbmModPhys);
101 if(
m_DDmgr->numerology().numEndcapsDBM()==0){
105 m_DDmgr->numerology().setNumDisksDBM(numDisk);
106 m_DDmgr->numerology().setNumBarrelDBM(0);
107 m_DDmgr->numerology().addEndcapDBM(4);
108 m_DDmgr->numerology().addEndcapDBM(-4);
109 for(
int disk=0; disk<numDisk; disk++){
110 m_DDmgr->numerology().setNumPhiModulesForDiskRingDBM(disk, 0, numPhiModules);
115 std::string key=
"DBM_Det_"+std::to_string(
m_gmt_mgr->GetLD())+
"_"+std::to_string(
m_gmt_mgr->Phi())+
"_"+std::to_string(
m_gmt_mgr->Eta());
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)
GeoVPixelFactory(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)