#include "geantdef.h" #include "hfloatvec.h" #include "hgeotrd1.h" typedef HFloatVec FVec; void HGeoTrd1::calcShape(HGeoParam & ele, HGeoShapePar & p) { float fac=20.F; p.noPar=4; if (p.volPar.length() != p.noPar ) p.volPar=FVec(0.0F,p.noPar); float dz=(ele.vol[0][0] - ele.vol[3][0])/fac; p.volPar[0]=fabs(dz); p.volPar[1]=(ele.vol[1][0] - ele.vol[2][0])/fac; p.volPar[2]=(ele.vol[4][2] - ele.vol[0][2])/fac; p.volPar[3]=(ele.vol[1][1] - ele.vol[0][1])/fac; return; } int HGeoTrd1::posShape(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & p) { float fac=10.F; float dx=0.F; for(int i=0;i<4;i++){dx+=ele.vol[i][0];} ele.geaPos[0]=dx/4.F; ele.geaPos[1]=(ele.vol[1][1] + ele.vol[0][1]) /2.F; ele.geaPos[2]=(ele.vol[4][2] + ele.vol[0][2]) /2.F; ele.geaRot=cgRot; return posInMother(ele,mo,p); }