44 GeoFullPhysVol* barrelPhys{
nullptr};
47 barrelPhys = (*m_mapFPV)[
"Barrel"];
57 const GeoTube* barrelTube =
new GeoTube(rmin,rmax,halflength);
58 const GeoLogVol* barrelLog =
new GeoLogVol(
"Barrel",barrelTube,air);
59 barrelPhys =
new GeoFullPhysVol(barrelLog);
77 std::ostringstream lname;
78 lname <<
"Layer" << ii;
83 GeoAlignableTransform* xform = (*m_mapAX)[lname.str()];
85 GeoFullPhysVol* layerFPV = (*m_mapFPV) [lname.str()];
94 xMat.add(layerFPV,
"PixelLayer");
96 xMat.add(layerFPV,
"PixelLayer"+ostr.str());
101 GeoAlignableTransform* xform =
new GeoAlignableTransform(GeoTrf::Translate3D(0.,0.,layerZshift));
102 GeoVPhysVol* layerphys =
layer.Build();
103 GeoNameTag *
tag =
new GeoNameTag(lname.str());
104 barrelPhys->add(
tag);
105 barrelPhys->add(
new GeoIdentifierTag(ii));
106 barrelPhys->add(xform);
107 barrelPhys->add(layerphys);
116 GeoNameTag * tagSupportA =
new GeoNameTag(
"StaveRingAndEndblocks_A");
117 GeoTransform *xformSupportA =
layer.getSupportTrfA();
118 GeoPhysVol *supportPhys_A =
layer.getSupportA();
119 barrelPhys->add(tagSupportA);
120 barrelPhys->add(xformSupportA);
121 barrelPhys->add(supportPhys_A);
124 GeoNameTag * tagSupportC =
new GeoNameTag(
"StaveRingAndEndblocks_C");
125 GeoTransform *xformSupportC =
layer.getSupportTrfC();
126 GeoPhysVol *supportPhys_C =
layer.getSupportC();
127 barrelPhys->add(tagSupportC);
128 barrelPhys->add(xformSupportC);
129 barrelPhys->add(supportPhys_C);
133 GeoNameTag *tagM =
new GeoNameTag(
"Brl0M_StaveRing");
134 GeoTransform *xformSupportMidRing =
layer.getSupportTrfMidRing();
135 GeoVPhysVol *supportPhysMidRing =
layer.getSupportMidRing();
136 barrelPhys->add(tagM);
137 barrelPhys->add(xformSupportMidRing);
138 barrelPhys->add(supportPhysMidRing);
147 GeoNameTag * tagFlexA =
new GeoNameTag(
"PP0Flex_A");
148 GeoTransform *xformFlexA = iFlexSrv.getSupportTrfA();
149 GeoPhysVol *flexPhys_A = iFlexSrv.getSupportA();
150 barrelPhys->add(tagFlexA);
151 barrelPhys->add(xformFlexA);
152 barrelPhys->add(flexPhys_A);
154 GeoNameTag * tagFlexC =
new GeoNameTag(
"PP0Flex_C");
155 GeoTransform *xformFlexC = iFlexSrv.getSupportTrfC();
156 GeoPhysVol *flexPhys_C = iFlexSrv.getSupportC();
157 barrelPhys->add(tagFlexC);
158 barrelPhys->add(xformFlexC);
159 barrelPhys->add(flexPhys_C);
184 frame.BuildInBarrel(barrelPhys);
190 xMat.add(barrelPhys,
"PixelBarrel");