#ifndef HGEOTRD1_H #define HGEOTRD1_H #include "hgeobasicshapes.h" // // class for Geant-shape TRD1 // derived from baseclass HGeoBasicShapes // // To read the 8 xyz-points from database or file the function readPoints(...) // in the baseclass is used. // // To position a volume in its mother different functions are called in the // routine posShape(...) depending on the shape of the mother. Uptil now it's // possible to position a TRD1 in a mother with shape TRAP or TRD1. // In these functions posIn...(...) the position of the Geant-origin in the // intrisic coordinate-system of the detector is calculated and stored in the // vector geaPos of class HGeoParam. This information is needed to calculate the // position of daughtervolumes. The Geant-position of the volume inside its // mother is calculated and stored in the vector pos of class HGeoShapePar. Where // needed a Geant-rotationalmatrix is created via Geantroutine GSROTM and the // number stored in nRot of class HGeoShapePar. Otherwise nRot is set to 0. // class HGeoTrd1 : public HGeoBasicShapes { public: HGeoTrd1(){} ~HGeoTrd1(){} // calculates the Geant-shapeparameters void calcShape(HGeoParam & ele, HGeoShapePar & shapePar); // calls different functions to position the volume depending on the // shape of its mother int posShape(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & shapePar); // positions a TRD1 in a TRAP void posInTrap(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & shapePar); //positions a TRD1 in a TRD1 void posInTrd1(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & shapePar); }; #endif