117 {
118
119
120
121
122
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));
137 }
138
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));
148 }
149
150
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));
172 }
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));
188
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));
198 posec.z() = -zpec;
199 GeoTrf::Transform3D rm3 = GeoTrf::RotateZ3D(((float)ii+2.5)*alpha)*GeoTrf::RotateX3D(-alxec);
200 GeoTransform* xform4 = new GeoTransform(GeoTrf::Transform3D(posec*rm3));
204 }
205}
GeoVPhysVol * BuildTrap()