43 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
46 gSystem->Load(
"libGeoBase");
47 gSystem->Load(
"libParBase");
48 gSystem->Load(
"libBase");
49 gSystem->Load(
"libPndData");
50 gSystem->Load(
"libPassive");
55 FairGeoLoader*
geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
56 FairGeoInterface *
geoFace = geoLoad->getGeoInterface();
57 geoFace->setMediaFile(
"../../../geometry/media_pnd.geo");
63 FairGeoMedia *
Media = geoFace->getMedia();
64 FairGeoBuilder *
geobuild=geoLoad->getGeoBuilder();
69 Int_t
nmed=geobuild->createMedium(CbmMediumAir);
70 nmed=geobuild->createMedium(CbmMediumSilicon);
72 TGeoManager*
gGeoMan = (TGeoManager*)gROOT->FindObject(
"FAIRGeom");
74 TGeoVolume *
top =
new TGeoVolumeAssembly(
"TS");
76 gGeoMan->SetTopVolume(top);
78 TGeoShape *
BoxDouble1 =
new TGeoBBox(
"StripActiveTD1", kDx, kDy, kDz);
79 TGeoShape *
BoxDouble2 =
new TGeoBBox(
"StripActiveTD2", kDx, kDy, kDz);
80 TGeoShape *
BoxSingle1 =
new TGeoBBox(
"StripActiveTS1", kDx, kDy, kDz);
81 TGeoShape *
BoxSingle2 =
new TGeoBBox(
"StripActiveTS2", kDx, kDy, kDz);
82 TGeoShape *
BoxSingle3 =
new TGeoBBox(
"StripActiveTS3", kDx, kDy, kDz);
83 TGeoShape *
BoxSingle4 =
new TGeoBBox(
"StripActiveTS4", kDx, kDy, kDz);
85 TGeoVolume*
BoxVolDouble1 =
new TGeoVolume(
"StripActiveTD1",BoxDouble1,gGeoMan->GetMedium(
"silicon"));
86 TGeoVolume*
BoxVolDouble2 =
new TGeoVolume(
"StripActiveTD2",BoxDouble2,gGeoMan->GetMedium(
"silicon"));
87 TGeoVolume*
BoxVolSingle3a =
new TGeoVolume(
"StripActiveTS3a",BoxSingle1,gGeoMan->GetMedium(
"silicon"));
88 TGeoVolume*
BoxVolSingle3b =
new TGeoVolume(
"StripActiveTS3b",BoxSingle2,gGeoMan->GetMedium(
"silicon"));
89 TGeoVolume*
BoxVolSingle4a =
new TGeoVolume(
"StripActiveTS4a",BoxSingle3,gGeoMan->GetMedium(
"silicon"));
90 TGeoVolume*
BoxVolSingle4b =
new TGeoVolume(
"StripActiveTS4b",BoxSingle4,gGeoMan->GetMedium(
"silicon"));
93 TGeoTranslation*
trt1 =
new TGeoTranslation(0.,0.,kPos1);
94 TGeoTranslation*
trt2 =
new TGeoTranslation(0.,0.,kPos2);
95 TGeoTranslation*
trt3a =
new TGeoTranslation(0.,0.,kPos3 - 0.5*kGap3 - kDz/2.);
96 TGeoTranslation*
trt3b =
new TGeoTranslation(0.,0.,kPos3 + 0.5*kGap3 + kDz/2.);
97 TGeoTranslation*
trt4a =
new TGeoTranslation(0.,0.,kPos4 - 0.5*kGap4 - kDz/2.);
98 TGeoTranslation*
trt4b =
new TGeoTranslation(0.,0.,kPos4 + 0.5*kGap4 + kDz/2.);
101 TGeoRotation*
rot1 =
new TGeoRotation(
"",90.,0.,0.);
103 TGeoCombiTrans*
trc1=
new TGeoCombiTrans(*trt1,*dummyrot);
104 trc1->SetName(
"Sensor1");
105 trc1->RegisterYourself();
107 TGeoCombiTrans*
trc2=
new TGeoCombiTrans(*trt2,*dummyrot);
108 trc2->SetName(
"Sensor2");
109 trc2->RegisterYourself();
111 TGeoCombiTrans*
trc3a=
new TGeoCombiTrans(*trt3a,*dummyrot);
112 trc3a->SetName(
"Sensor3a");
113 trc3a->RegisterYourself();
116 TGeoCombiTrans*
trc3b=
new TGeoCombiTrans(*trt3b,*rot1);
117 trc3b->SetName(
"Sensor3b");
118 trc3b->RegisterYourself();
120 TGeoCombiTrans*
trc4a=
new TGeoCombiTrans(*trt4a,*dummyrot);
121 trc4a->SetName(
"Sensor4a");
122 trc4a->RegisterYourself();
125 TGeoCombiTrans*
trc4b=
new TGeoCombiTrans(*trt4b,*rot1);
126 trc4b->SetName(
"Sensor4b");
127 trc4b->RegisterYourself();
129 TGeoVolumeAssembly*
SubunitVol =
new TGeoVolumeAssembly(
"TTVol");
133 SubunitDouble->AddNode(BoxVolDouble1,0,trc1);
134 SubunitDouble->AddNode(BoxVolDouble2,0,trc2);
138 SubunitSingle->AddNode(BoxVolSingle3a,0,trc3a);
139 SubunitSingle->AddNode(BoxVolSingle3b,0,trc3b);
140 SubunitSingle->AddNode(BoxVolSingle4a,0,trc4a);
141 SubunitSingle->AddNode(BoxVolSingle4b,0,trc4b);
143 SubunitVol->AddNode(SubunitDouble,0,
new TGeoCombiTrans());
144 SubunitVol->AddNode(SubunitSingle,0,
new TGeoCombiTrans());
146 top->AddNode(SubunitVol,0,
new TGeoCombiTrans());
148 gGeoMan->CloseGeometry();
149 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