// ------------------------------------------------------------------------- // ----- PndGeoDrc header file ----- // ----- Created 11/10/06 by A. Cecchi ----- // ------------------------------------------------------------------------- #ifndef PNDGEODRC_H #define PNDGEODRC_H #include "FairGeoSet.h" class PndGeoDrc : public FairGeoSet { private: double fRadius; //!< Barrel radius [cm] (middle of radiator) double fBarHalfThick; //!< Radiator bars half thickness [cm]. double fBarBoxZDown; //!< Bar box down stream coordinate [cm]. double fBarBoxZUp; //!< Bar box up stream coordinate [cm]. double fBarGap; //!< Half gap between bars [cm]. double fBarNum; //!< Number of bars per barbox. double fBoxGap; //!< Gap between bar and bar box [cm]. double fBoxThick; //!< Bar box thickness [cm]. double fBarBoxNum; //!< Total number of bar boxes in the barrel. double fBarBoxGap; //!< Gap between neighboring bar boxes [cm]. double fPipehAngle; //!< Half of the phi angle taken by the target pipe [degrees]. double fEVlength; //!< Length of Expansion Volume [cm]. double fEVdrop; //!< [cm] drop of the EV - inner radius double fEVoffset; //!< [cm] offset of the EV - outer radius double fEVangle; //!< [degrees] EV opening angle double fEVbackAngle; //!< [degrees] angle btw PDplane and global Z axis // prism parameters: double fPhLength; //!< [cm] half length of the prism double fPAngle; //!< [degrees] opening angle of the prism double fPDrop; //!< [cm] drop of the prism - inner side double fPOffset; //!< [cm] offset of the prism - outer side protected: char modName[20]; // name of module char eleName[20]; // substring for elements in module public: PndGeoDrc(); ~PndGeoDrc() {} const char* getModuleName(Int_t); const char* getEleName(Int_t); /*! The DRC barrel radius. \return The radius [cm]. */ Double_t radius() {return fRadius;} /*! The DRC barrel bar half thickness. \return Half thickness [cm]. */ Double_t barHalfThick() {return fBarHalfThick;} /*! The DRC barrel bar box downstream coordinate. \return Coordinate [cm]. */ Double_t barBoxZDown() {return fBarBoxZDown;} /*! The DRC barrel bar box upstream coordinate. \return Coordinate [cm]. */ Double_t barBoxZUp() {return fBarBoxZUp;} /*! The half gap between bars. \return The BarGap [cm]. */ Double_t barGap() {return fBarGap;} /*! The gap between bars and the bar box. \return The Gap [cm]. */ Double_t boxGap() {return fBoxGap;} /*! The thickness of the bar box. \return The BoxThickness [cm]. */ Double_t boxThick() {return fBoxThick;} /*! Number of bars per bar box. \return The number */ Double_t barNum() {return fBarNum;} /*! The length of the Expansion Volume [cm]. */ Double_t EVlen() {return fEVlength;} /*! The Gap between neighboring bar boxes [cm]. */ Double_t BBoxGap() {return fBarBoxGap;} /*! Total number of bar boxes in the barrel. */ Double_t BBoxNum() {return fBarBoxNum;} /*! Half of the phi angle taken by the target pipe [degrees]. */ Double_t PipehAngle() {return fPipehAngle;} /*! The drop of the Expansion Volume [cm]. */ Double_t EVdrop() {return fEVdrop;} /*! The offset of the Expansion Volume [cm]. */ Double_t EVoffset() {return fEVoffset;} /*! The opening angle of the EV [degrees]. */ Double_t EVangle() {return fEVangle;} /*! The angle between the PDplane and global Z axis [degrees]. */ Double_t EVbackAngle() {return fEVbackAngle;} /*! The offset of the Prism [cm]. */ Double_t PrismOffset() {return fPOffset;} /*! The drop of the Prism [cm]. */ Double_t PrismDrop() {return fPDrop;} /*! The half length of the Prism [cm]. */ Double_t PrismhLength() {return fPhLength;} /*! The opening angle of the Prism [degrees]. */ Double_t PrismAngle() {return fPAngle;} ClassDef(PndGeoDrc,1) // Class for Drc }; #endif /* !PNDGEODRC_H */