#ifndef HGEOCONS_H #define HGEOCONS_H #include "hgeobasicshapes.h" // // class for Geant-shape CONS // derived from baseclass HGeoBasicShapes // // The functions readPoints(...) read from database or from file and store the // input in the float-vector vol of class HGeoParam. // ( point 0: origin of starting circle of the cons; // point 1: inner radius of starting circle, // outer radius of starting circle; // point 2: origin of ending circle of the cons; // point 3: inner radius of ending circle, // outer radius of ending circle; ) // point 4: starting angle of the segment, // ending angle of the segment; // Warning: The x- and y-values of point 0 and 2 have to be the same!!!! // A rotation has to be desribed via the rotation matrix. // // The technical coordinate system of a CONS, which sits in CAVE and is not // rotated, is the laboratory system. // It's the same as in Geant and therefore the matrix cgRot, which describes // the transformation between these coordinate systems is the unity matrix. // class HGeoCons : public HGeoBasicShapes { public: HGeoCons() { nCorners=5; cgRot=uniRot; } ~HGeoCons(){} // reads input from file int readPoints(HGeoInfo & geoInfo, HGeoParam & ele); // calculates the Geant-shapeparameters void calcShape(HGeoParam & ele, HGeoShapePar & shapePar); // calculates the position the Geant coordinate system in the technical // coordinate system and invokes posInMother(...) of the base class int posShape(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & shapePar); // writes parameters to file int writePoints(ofstream & fout, HGeoParam & ele); }; #endif