41 {
44 const GeoLogVol *ltube = new GeoLogVol("MDTDriftWall", stube, mtube);
45 GeoPhysVol *ptube = new GeoPhysVol(ltube);
46
49 const GeoLogVol *lplug = new GeoLogVol("Endplug", splug, mplug);
50 GeoPhysVol *pplug = new GeoPhysVol(lplug);
51
54 const GeoLogVol *lgas = new GeoLogVol("SensitiveGas", sgas, mgas);
55 GeoPhysVol *pgas = new GeoPhysVol(lgas);
56
57 GeoSerialDenominator *plugDenominator = new GeoSerialDenominator("Tube Endplug");
58 GeoTransform *ec0X =
new GeoTransform(GeoTrf::TranslateZ3D(+(
length -
plugLength) / 2));
59 GeoTransform *ec1X =
new GeoTransform(GeoTrf::TranslateZ3D(-(
length -
plugLength) / 2));
60 std::string sGasName = "SensitiveGas";
61 GeoNameTag *gasDenominator = new GeoNameTag(sGasName);
62
63 ptube->add(plugDenominator);
64 ptube->add(ec0X);
65 ptube->add(pplug);
66 ptube->add(ec1X);
67 ptube->add(pplug);
68 ptube->add(gasDenominator);
69 ptube->add(pgas);
70
71 return ptube;
72 }
virtual const GeoMaterial * getMaterial(const std::string &name)=0