25 const GeoMaterial* air =
m_mat_mgr->getMaterial(
"std::Air");
27 double rmin =
m_gmt_mgr->PixelPigtailBendRMin();
28 double rmax =
m_gmt_mgr->PixelPigtailBendRMax();
32 double posZ =
m_gmt_mgr->PixelPigtailPosZ();
36 const GeoTubs* tubs =
new GeoTubs(rminEps,rmaxEps,0.5*
length,
phi,dphi);
37 GeoLogVol * thePigtail =
new GeoLogVol(
"PigtailCylEnv",tubs,air);
39 GeoPhysVol* pigtailPhys =
new GeoPhysVol(thePigtail);
40 for (
int iModule = 0; iModule<
m_gmt_mgr->PixelNModule(); iModule++) {
41 int moduleEta =
m_gmt_mgr->PixelModuleEtaFromIndex(iModule);
42 double zShift =
m_gmt_mgr->PixelModuleZPosition(moduleEta);
43 std::string logName =
"PigtailCyl";
44 const GeoTubs* tubs =
new GeoTubs(rmin,rmax,0.5*
width,
phi,dphi);
46 const GeoMaterial* cyliMat =
m_mat_mgr->getMaterialForVolume(matName,tubs->volume());
47 GeoLogVol* theTubs =
new GeoLogVol(logName,tubs,cyliMat);
48 GeoPhysVol* pigtailPart =
new GeoPhysVol(theTubs);
50 double zpos = posZ + zShift;
51 GeoTransform* xform =
new GeoTransform(GeoTrf::TranslateZ3D(zpos));
52 pigtailPhys->add(xform);
53 pigtailPhys->add(pigtailPart);
GeoPixelPigtail(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)