Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CalGeometrySvc.h

Go to the documentation of this file.
00001 
00002 #ifndef CALGEOMETRYSVC_H
00003 #define CALGEOMETRYSVC_H 1
00004 
00005 #include "GaudiKernel/Service.h"
00006 #include "CalRecon/ICalGeometrySvc.h"
00007 
00008 
00009 //----------------------------------------------
00010 //
00011 //   CalGeometrySvc
00012 //
00013 //     It stores the calorimeter geometry.
00014 //
00015 //   A.Chekhtman, NRL, 3/30/01 
00016 //  
00017 //
00018 
00019 
00020 
00021 
00022 
00023 
00024 //##########################################################
00025 class CalGeometrySvc : public Service , virtual public ICalGeometrySvc
00026 //##########################################################
00027 {
00028 public:
00029 
00030     
00032     CalGeometrySvc(const std::string& name, ISvcLocator* pSvcLocator); 
00033     virtual ~CalGeometrySvc() {}
00034     
00035     StatusCode initialize();
00036     StatusCode finalize();
00037 
00038 
00039 
00040          int numModulesX()    {return m_nmodx;}
00041          int numModulesY()    {return m_nmody;}
00042          int numViews()     {return m_nviews;}
00043          int numLayers()    {return m_nlayers;}
00044          int numLogs()      {return m_nLogs;}
00045 
00046          double moduleWidth()  {return m_modWidth;}
00047          double Z0()          {return m_Z0;}
00048          double layerWidth()  {return m_layerWidth;}
00049          double layerHeight() {return m_layerHeight;}
00050 
00051          double logWidth()       {return m_logWidth;}
00052          double logHeight()      {return m_logHeight;}
00053          double logLength()      {return m_logLength;}
00054          double logGap()         {return m_logGap;}
00055      double light_att()      {return m_latt;}
00056 
00057          CalDetGeo getLayer(int ilayer, CalDetGeo::axis a);
00058          CalDetGeo getLog(int ilayer, CalDetGeo::axis a, int ilog); 
00059          CalDetGeo getLog(int ilayer, CalDetGeo::axis a, int ilog, idents::ModuleId mod);
00060 
00062     StatusCode queryInterface(const IID& riid, void** ppvUnknown);
00063 
00065     const IID& type() const;
00066 
00067         static const InterfaceID& interfaceID() { return ICalGeometrySvc::interfaceID(); }
00068 
00069 
00070 
00071 private:
00072 
00073          int m_geoType;  
00074      int m_balloonFlight;
00075 
00076          int m_nmodx;
00077          int m_nmody;
00078          int m_nviews;
00079          int m_nlayers;
00080          int m_nLogs;
00081 
00082          double m_modWidth;
00083         
00084          double m_Z0;
00085 
00086          double m_layerWidth;
00087          double m_layerHeight;
00088 
00089          double m_logWidth;
00090          double m_logLength;
00091          double m_logHeight;
00092          double m_logGap;
00093      double m_latt;
00094 };
00095 
00096 #endif

Generated on Thu Nov 29 16:38:48 2001 by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001