#include "hfloatvec.h" #include "hgeotubs.h" typedef HFloatVec FVec; int HGeoTubs::readPoints(HGeoInfo & geoInfo, HGeoParam & ele) { FVec x(0.0F,3); ele.vol.assign(x,nCorners); int k=0; for(int i=0;i<2;i++) { geoInfo.fin >> ele.vol[k]; k++; geoInfo.fin >> ele.vol[k][0]>> ele.vol[k][1]; k++; } return HSUCCESS; } void HGeoTubs::calcShape(HGeoParam & ele, HGeoShapePar & p) { float fac=10.F; p.noPar=5; p.volPar=FVec(0.0F,5); p.volPar[0]=ele.vol[1][0] /fac; p.volPar[1]=ele.vol[1][1] /fac; p.volPar[2]=(float)ele.vol[2].norm(ele.vol[0]) /fac /2.F; p.volPar[3]=ele.vol[3][0]; p.volPar[4]=ele.vol[3][1]; return; } int HGeoTubs::posShape(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & p) { ele.geaPos[0]=0.0F; ele.geaPos[1]=0.0F; ele.geaPos[2]=(ele.vol[2][2] + ele.vol[0][2]) /2.F; ele.geaRot=cgRot; return posInMother(ele,mo,p); } int HGeoTubs::writePoints(ofstream & fout, HGeoParam & ele) { int k=0; do { fout<