#include "hgeosect.h" int HGeoSect::readDet(HGeoInfo & geoInfo, HGeoMedia & geoMedia) { HGeoParam ele; int ns=geoInfo.getNs(); for(int i=1;i<=ns;i++) { HString volName=detName + i; if (readParam(geoInfo,volName,ele,geoMedia)==HSUCCESS) { append(volName,ele); geoInfo.setnsSet(ele.inout,i); #ifdef ILSESHOW showAll(volName,ele); #endif } } if (length()>0) return HSUCCESS; else return HFAILURE; } int HGeoSect::readDet(HGeoInfo & geoInfo) { HGeoParam ele; HString eleName(' ',120); while(!geoInfo.fin.eof()) { geoInfo.fin >> eleName; if (eleName.empty() || eleName(0)=='/') geoInfo.fin.getline(eleName,120); else { if (eleName(0,3)!=detName) { cerr << detName << " not found in file" << endl; return HFAILURE; } else { int no=int(eleName(3,1)); readInout(geoInfo,ele); geoInfo.setnsSet(ele.inout,no); if (no<2) { if (readParam(geoInfo,ele)==HSUCCESS) append(eleName,ele); else { cerr << "cannot read Sectors" << endl; return HFAILURE; } } else { if (readCopy(geoInfo,ele)==HSUCCESS) append(eleName,ele); } } } } if (length()>0) return HSUCCESS; else return HFAILURE; } int HGeoSect::createDet(HGeoInfo & geoInfo, HGeoMedia & geoMedia){ reset(); return createModule(geoInfo,geoMedia); }