57 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
60 gSystem->Load(
"libGeoBase");
61 gSystem->Load(
"libParBase");
62 gSystem->Load(
"libBase");
63 gSystem->Load(
"libPndData");
64 gSystem->Load(
"libPassive");
69 FairGeoLoader*
geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
70 FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
71 geoFace->setMediaFile(
"../../../geometry/media_pnd.geo");
77 FairGeoMedia *
Media = geoFace->getMedia();
78 FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
83 Int_t
nmed=geobuild->createMedium(CbmMediumAir);
84 nmed=geobuild->createMedium(CbmMediumSilicon);
86 TGeoManager*
gGeoMan = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
88 TGeoVolume *
top =
new TGeoVolumeAssembly(
"TS");
90 gGeoMan->SetTopVolume(top);
92 TGeoShape *
BoxDouble1 =
new TGeoBBox(
"StripActiveTD1", kDx, kDy, kDz);
93 TGeoShape *
BoxDouble2 =
new TGeoBBox(
"StripActiveTD2", kDx, kDy, kDz);
94 TGeoShape *
BoxSingle1 =
new TGeoBBox(
"StripActiveTS1", kDx, kDy, kDz);
95 TGeoShape *
BoxSingle2 =
new TGeoBBox(
"StripActiveTS2", kDx, kDy, kDz);
96 TGeoShape *
BoxSingle3 =
new TGeoBBox(
"StripActiveTS3", kDx, kDy, kDz);
97 TGeoShape *
BoxSingle4 =
new TGeoBBox(
"StripActiveTS4", kDx, kDy, kDz);
99 TGeoVolume*
BoxVolDouble1 =
new TGeoVolume(
"StripActiveTD1",BoxDouble1,gGeoMan->GetMedium(
"silicon"));
100 TGeoVolume*
BoxVolDouble2 =
new TGeoVolume(
"StripActiveTD2",BoxDouble2,gGeoMan->GetMedium(
"silicon"));
101 TGeoVolume*
BoxVolSingle3a =
new TGeoVolume(
"StripActiveTS3a",BoxSingle1,gGeoMan->GetMedium(
"silicon"));
102 TGeoVolume*
BoxVolSingle3b =
new TGeoVolume(
"StripActiveTS3b",BoxSingle2,gGeoMan->GetMedium(
"silicon"));
103 TGeoVolume*
BoxVolSingle4a =
new TGeoVolume(
"StripActiveTS4a",BoxSingle3,gGeoMan->GetMedium(
"silicon"));
104 TGeoVolume*
BoxVolSingle4b =
new TGeoVolume(
"StripActiveTS4b",BoxSingle4,gGeoMan->GetMedium(
"silicon"));
107 TGeoTranslation*
trt1 =
new TGeoTranslation(offs1x,offs1y,kPos1);
108 TGeoTranslation*
trt2 =
new TGeoTranslation(offs2x,offs2y,kPos2);
109 TGeoTranslation*
trt3a =
new TGeoTranslation(offs3x,offs3y,kPos3 - 0.5*kGap3 - kDz/2.);
110 TGeoTranslation*
trt3b =
new TGeoTranslation(offs3x,offs3y,kPos3 + 0.5*kGap3 + kDz/2.);
111 TGeoTranslation*
trt4a =
new TGeoTranslation(offs4x,offs4y,kPos4 - 0.5*kGap4 - kDz/2.);
112 TGeoTranslation*
trt4b =
new TGeoTranslation(offs4x,offs4y,kPos4 + 0.5*kGap4 + kDz/2.);
115 TGeoRotation*
rot1 =
new TGeoRotation(
"",90.,0.,0.);
117 TGeoCombiTrans*
trc1=
new TGeoCombiTrans(*trt1,*dummyrot);
118 trc1->SetName(
"Sensor1");
119 trc1->RegisterYourself();
121 TGeoCombiTrans*
trc2=
new TGeoCombiTrans(*trt2,*dummyrot);
122 trc2->SetName(
"Sensor2");
123 trc2->RegisterYourself();
125 TGeoCombiTrans*
trc3a=
new TGeoCombiTrans(*trt3a,*dummyrot);
126 trc3a->SetName(
"Sensor3a");
127 trc3a->RegisterYourself();
130 TGeoCombiTrans*
trc3b=
new TGeoCombiTrans(*trt3b,*rot1);
131 trc3b->SetName(
"Sensor3b");
132 trc3b->RegisterYourself();
134 TGeoCombiTrans*
trc4a=
new TGeoCombiTrans(*trt4a,*dummyrot);
135 trc4a->SetName(
"Sensor4a");
136 trc4a->RegisterYourself();
139 TGeoCombiTrans*
trc4b=
new TGeoCombiTrans(*trt4b,*rot1);
140 trc4b->SetName(
"Sensor4b");
141 trc4b->RegisterYourself();
143 TGeoVolumeAssembly*
SubunitVol =
new TGeoVolumeAssembly(
"TTVol");
147 SubunitDouble->AddNode(BoxVolDouble1,0,trc1);
148 SubunitDouble->AddNode(BoxVolDouble2,0,trc2);
152 SubunitSingle->AddNode(BoxVolSingle3a,0,trc3a);
153 SubunitSingle->AddNode(BoxVolSingle3b,0,trc3b);
154 SubunitSingle->AddNode(BoxVolSingle4a,0,trc4a);
155 SubunitSingle->AddNode(BoxVolSingle4b,0,trc4b);
157 SubunitVol->AddNode(SubunitDouble,0,
new TGeoCombiTrans());
158 SubunitVol->AddNode(SubunitSingle,0,
new TGeoCombiTrans());
160 top->AddNode(SubunitVol,0,
new TGeoCombiTrans());
162 gGeoMan->CloseGeometry();
163 gGeoMan->Export(outfile.Data());
TGeoVolume * BoxVolSingle4a
TGeoVolume * BoxVolSingle3b
TGeoVolumeAssembly * SubunitDouble
TGeoVolume * BoxVolSingle4b
TGeoVolume * BoxVolDouble1
FairGeoMedium * CbmMediumSilicon
FairGeoBuilder * geobuild
TGeoVolumeAssembly * SubunitSingle
FairGeoMedium * CbmMediumAir
TGeoVolume * BoxVolDouble2
TGeoVolume * BoxVolSingle3a
FairGeoInterface * geoFace