#ifndef HGEOPARAM_H #define HGEOPARAM_H #include "hstring.h" #include "hfloatvec.h" #include "hvector.h" typedef HFloatVec FVec; // // element class of HgeoSet with is implemented as a linked list called by name; // stores for each element the geometrical information read from database or // file; // stores also the position geaPos and the orientation geaRot of the Geant // coordinate system in the coordinate system of the volume gotten from the // technical drawings (needed for the positioning of daughter-volumes) // class HGeoParam{ public: HGeoParam():vol(FVec(0.F,3),8),trans(0.F,3),rot(0.F,9), geaPos(0.F,3),geaRot(0.F,9), labTrans(0.,3),labRot(0.,9) { inout=0; objIndex=-1; moObjIndex=-1; } ~HGeoParam(){} // inout flag; // set to 1 if volume has to be created, else 0; int inout; // Geant shape; HString shape; // name of the mothervolume; HString mother; // name of the medium (== material); HString material; // 8x3 values to store the points from technical drawings // number is parameters depends on the shape // is dynamically shortened or enlarged in the read-routines of the // shape classes; here only default HVector vol; // 8x3 values to store the points from catia; // position of the coordinate system in the coordinate system of the // mother or in the intrinsic coordinate system of the detector // gotten from the technical drawings FVec trans; // rotational matrix of the coordinate system relativ to the mother // gotten from the technical drawings; // The first 3 elements of the vector represent the first row of the // matrix; FVec rot; // position of the Geant coordinate system in the technical coordinate // system in which the volume is gotten; FVec geaPos; // orientation of the Geant coordinate system relative to the technical // coordinate system FVec geaRot; // lab position of the coordinate system in which the volume is gotten; HVector labTrans; // lab orientation of the coordinate system in which the volume is gott HVector labRot; // object index in database int objIndex; // object index of mother in database int moObjIndex; }; #endif