42 std::string logName =
"BoxFrBarOutLog";
43 std::string volumeName =
"Frame";
46 logName =
"BoxFrBarInLog";
50 logName =
"BoxFrEndcapLog";
60 const GeoBox* frameBox =
new GeoBox(thickness,
width,
length);
61 std::string matName =
m_gmt_mgr->getMaterialName(volumeName, 0, typenum);
62 const GeoMaterial* frameMat =
m_mat_mgr->getMaterialForVolume(matName, frameBox->volume());
63 GeoLogVol* theFrame =
new GeoLogVol(logName,frameBox,frameMat);
64 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
76 std::string logName =
"TrapFrBarOutLog";
77 std::string volumeName =
"Frame";
80 logName =
"TrapFrBarInLog";
84 logName =
"TrapFrEndcapLog";
88 logName =
"TrapFrEndCone";
89 volumeName =
"EndCone";
105 const GeoTrap* frameTrap =
new GeoTrap(
length,tet,
phi,widthy,widthxzn,widthxzp,al1,widthy,widthxzn,widthxzp,al2);
106 std::string matName =
m_gmt_mgr->getMaterialName(volumeName, 0, typenum);
107 const GeoMaterial* frameMat =
m_mat_mgr->getMaterialForVolume(matName, frameTrap->volume());
108 GeoLogVol* theFrame =
new GeoLogVol(logName,frameTrap,frameMat);
109 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
124 double alpha = 45.*Gaudi::Units::deg;
129 GeoNameTag* tag =
new GeoNameTag(
"Inside Box Frame");
130 double thet = ((float)ii+0.5)*alpha;
131 GeoTrf::Translation3D pos(w1*cos(thet),w1*sin(thet),off);
132 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
133 GeoTransform* xform =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
140 GeoNameTag* tag =
new GeoNameTag(
"Inside Trap Frame");
141 double thet = ((float)ii+1.)*alpha;
142 GeoTrf::Translation3D pos(w2*cos(thet),w2*sin(thet),off);
143 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
144 GeoTransform* xform =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
159 GeoNameTag* tag =
new GeoNameTag(
"Outside Box Frame");
160 double thet = ((float)ii+0.5)*alpha;
161 GeoTrf::Translation3D pos(w1*cos(thet),w1*sin(thet),off);
162 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
163 GeoTransform* xform =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
168 GeoTransform* xform2 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
175 GeoNameTag* tag =
new GeoNameTag(
"Outside Trap Frame");
176 double thet = ((float)ii+1.)*alpha;
177 GeoTrf::Translation3D pos(w2*cos(thet),w2*sin(thet),off);
178 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
179 GeoTransform* xform =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
184 GeoTransform* xform2 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
190 GeoNameTag* tag2 =
new GeoNameTag(
"Outside End Cone Trap Frame");
191 thet = ((float)ii+0.5)*alpha;
192 GeoTrf::Translation3D posec(radi*cos(thet),radi*sin(thet),zpec);
193 GeoTrf::Transform3D rm2 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(alxec);
194 GeoTransform* xform3 =
new GeoTransform(GeoTrf::Transform3D(posec*rm2));
199 GeoTrf::Transform3D rm3 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(-alxec);
200 GeoTransform* xform4 =
new GeoTransform(GeoTrf::Transform3D(posec*rm3));
210 bool endcapAPresent =
m_gmt_mgr->partPresent(
"EndcapA");
211 bool endcapCPresent =
m_gmt_mgr->partPresent(
"EndcapC");
217 double alpha = 45.*Gaudi::Units::deg;
223 GeoNameTag* tag =
new GeoNameTag(
"Outside Outer Endcap Box Frame");
224 double thet = ((float)ii+0.5)*alpha;
225 GeoTrf::Translation3D pos(w1*cos(thet),w1*sin(thet),off);
226 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
228 if (endcapAPresent) {
229 GeoTransform* xform1 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
234 if (endcapCPresent) {
236 GeoTransform* xform2 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
244 GeoNameTag* tag =
new GeoNameTag(
"Outside Outer Endcap Trap Frame");
245 double thet = ((float)ii+1.)*alpha;
246 GeoTrf::Translation3D pos(w2*cos(thet),w2*sin(thet),off);
247 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
248 if (endcapAPresent) {
249 GeoTransform* xform1 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
254 if (endcapCPresent) {
256 GeoTransform* xform2 =
new GeoTransform(GeoTrf::Transform3D(pos*rm));
GeoPixelOldFrame(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)