#ifndef HGEORICH_H #define HGEORICH_H // // class for Rich derived from baseclass HGeoSet (linked list); // #include "hgeoset.h" typedef HFloatVec FVec; class HGeoRich : public HGeoSet { public: HGeoRich(HGeoShapes & shapes) : HGeoSet() { // unique substring of the name of the module detName="RICH"; // unique substring of the name of all daughtervolumes eleName="R"; // pointer to the class HGeoShapes pShapes=&shapes; noOfKeepIn=0; // readHits set to 1 after successful read hitsRead=0; } ~HGeoRich(){} // reads the module from database int readDet(HGeoInfo & geoInfo, HGeoMedia & geoMedia); // reads the module from file using helperfunctions from the baseclass int readDet(HGeoInfo & geoInfo); // creates the module int createDet(HGeoInfo & geoInfo, HGeoMedia & geoMedia); // invokes the Geantroutines GSDETV and GSDETH to classify the sensitive // detector for which one wants to store hits; int createHits(HString & volName); // writes the Rich read from database to file // writes the Target to a separate file int writeToFile(HString & modName, HGeoInfo & geoInfo); int readTarget(HGeoInfo & geoInfo); int getTargetVersion(HGeoInfo & geoInfo); void calcTargetLabPos(HGeoParam & ele, FVec & targPos); protected: // set to 1 if mothervolume RICH defined int noOfKeepIn; }; #endif