37 if (!media) {
return kFALSE; }
38 const Int_t maxbuf=256;
41 FairGeoMedium* medium;
44 fin.getline(buf,maxbuf);
45 if (buf[0]!=
'\0' && buf[0]!=
'/' && !fin.eof()) {
46 if (strcmp(buf,
name)==0) {
49 volu->setVolumeType(kFairGeoTopNode);
51 fin.getline(buf,maxbuf);
53 FairGeoBasicShape* sh=pShapes->selectShape(shape);
54 if (sh) { volu->setShape(sh); }
56 fin.getline(buf,maxbuf);
57 medium=media->getMedium(buf);
59 medium=
new FairGeoMedium();
60 media->addMedium(medium);
62 volu->setMedium(medium);
64 if (sh) { n=sh->readPoints(&fin,volu); }
65 if (n<=0) { rc=kFALSE; }
68 }
while (rc && !volu && !fin.eof());
71 masterNodes->Add(
new FairGeoNode(*volu));
90 fout.setf(ios::fixed,ios::floatfield);
91 FairGeoNode* volu=getVolume(
name);
93 FairGeoBasicShape* sh=volu->getShapePointer();
94 FairGeoMedium* med=volu->getMedium();
96 fout<<volu->GetName()<<
'\n'<<sh->GetName()<<
'\n'<<med->GetName()<<
'\n';
97 sh->writePoints(&fout,volu);