18 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
28 Double_t zGem[
_GNUM_] = {170., 600., 1500., 2000., 3000.};
29 Double_t rMax = 500.0;
32 Double_t carbonX0 = 188.0;
33 Double_t gemThickness = 0.86 * carbonX0 / 100.0;
35 Double_t wndThickness = 1.00 * carbonX0 / 100.0;
36 Double_t wndLocation = 2005.0;
37 Double_t cf4Thickness = 980.0;
38 Double_t cf4Location = 2500.0;
41 Double_t holderVolumeLength = 2.*zGem[
_GNUM_-1] + 10.0;
42 Double_t holderVolumeRadius = rMax + 5.0;
46 TGeoTube *holder =
new TGeoTube(
"holderVolume",
48 0.1 * holderVolumeRadius,
49 0.1 * holderVolumeLength/2);
50 TGeoVolume *vholder =
new TGeoVolume(
"holderVolume", holder, fwdgt->
GetMedium(
"air"));
53 TGeoTube *wnd =
new TGeoTube(
"richWnd",
56 0.1 * wndThickness/2);
57 TGeoVolume *vwnd =
new TGeoVolume(
"richWnd", wnd, fwdgt->
GetMedium(
"carbon"));
58 vholder->AddNode(vwnd, 0,
new TGeoCombiTrans(0.0, 0.0, 0.1 * wndLocation,
new TGeoRotation()));
61 TGeoTube *cf4 =
new TGeoTube(
"richVolume",
64 0.1 * cf4Thickness/2);
65 TGeoVolume *vcf4 =
new TGeoVolume(
"richVolume", cf4, fwdgt->
GetMedium(
"CF4"));
66 vholder->AddNode(vcf4, 0,
new TGeoCombiTrans(0.0, 0.0, 0.1 * cf4Location,
new TGeoRotation()));
68 TGeoTube *gem =
new TGeoTube(
"gemVolume",
71 0.1 * gemThickness/2);
72 TGeoVolume *vgem =
new TGeoVolume(
"gemVolume", gem, fwdgt->
GetMedium(
"carbon"));
76 fgmap->SetSingleSensorContainerVolume(
"gemVolume");
80 for(
unsigned gm=0; gm<
_GNUM_; gm++) {
81 UInt_t geant[1] = {gm}, group = 0, logical[3] = {0, 0, gm};
84 cout <<
"Failed to set mapping table entry!" << endl;
88 vholder->AddNode(vgem, gm,
new TGeoCombiTrans(0.0, 0.0, 0.1 * zGem[gm],
new TGeoRotation()));
92 fwdgt->
GetTopVolume()->AddNode(vholder, 0,
new TGeoCombiTrans(0.0, 0.0, 0.0,
new TGeoRotation()));