23 #include <FairGeoBasicShape.h>
24 #include <FairGeoMedia.h>
25 #include <FairGeoMedium.h>
26 #include <FairGeoNode.h>
27 #include <FairGeoSet.h>
28 #include <FairGeoShapes.h>
41 : FairGeoSet(), name(
"cave")
55 const Int_t maxbuf = 256;
57 FairGeoNode *volu =
nullptr;
58 FairGeoMedium *medium =
nullptr;
61 fin.getline(buf, maxbuf);
62 if (buf[0] !=
'\0' && buf[0] !=
'/' && !fin.eof()) {
63 if (strcmp(buf,
name) == 0) {
64 volu =
new FairGeoNode;
66 volu->setVolumeType(kFairGeoTopNode);
68 fin.getline(buf, maxbuf);
70 FairGeoBasicShape *sh = pShapes->selectShape(shape);
76 fin.getline(buf, maxbuf);
77 medium = media->getMedium(buf);
79 medium =
new FairGeoMedium();
80 media->addMedium(medium);
82 volu->setMedium(medium);
85 n = sh->readPoints(&fin, volu);
94 }
while (rc && !volu && !fin.eof());
97 masterNodes->Add(
new FairGeoNode(*volu));
109 FairGeoNode *volu = getVolume(
name);
111 masterNodes->Add(
new FairGeoNode(*volu));
118 fout.setf(ios::fixed, ios::floatfield);
119 FairGeoNode *volu = getVolume(
name);
121 FairGeoBasicShape *sh = volu->getShapePointer();
122 FairGeoMedium *med = volu->getMedium();
124 fout << volu->GetName() <<
'\n' << sh->GetName() <<
'\n' << med->GetName() <<
'\n';
125 sh->writePoints(&fout, volu);
133 FairGeoNode *volu = getVolume(
name);
135 FairGeoBasicShape *sh = volu->getShapePointer();
136 FairGeoMedium *med = volu->getMedium();
138 cout << volu->GetName() <<
'\n' << sh->GetName() <<
'\n' << med->GetName() <<
'\n';
139 sh->printPoints(volu);