00001 #ifndef ICALGEOMETRYSVC_H
00002 #define ICALGEOMETRYSVC_H 1
00003
00004 #include "CalRecon/CalDetGeo.h"
00005 #include "idents/ModuleId.h"
00006 #include "GaudiKernel/IInterface.h"
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 static const InterfaceID IID_ICalGeometrySvc(906, 1 , 0);
00022
00023
00024
00025 class ICalGeometrySvc : virtual public IInterface
00026
00027 {
00028 public:
00029
00030
00031
00032
00033 virtual int numModulesX()=0;
00034 virtual int numModulesY()=0;
00035 virtual int numViews()=0;
00036 virtual int numLayers()=0;
00037 virtual int numLogs()=0;
00038
00039 virtual double moduleWidth()=0;
00040 virtual double Z0()=0;
00041 virtual double layerWidth()=0;
00042 virtual double layerHeight()=0;
00043
00044 virtual double logWidth()=0;
00045 virtual double logHeight()=0;
00046 virtual double logLength()=0;
00047 virtual double logGap() =0;
00048 virtual double light_att() =0;
00049
00050 virtual CalDetGeo getLayer(int ilayer, CalDetGeo::axis a) =0;
00051 virtual CalDetGeo getLog(int ilayer, CalDetGeo::axis a, int ilog)=0;
00052 virtual CalDetGeo getLog(int ilayer, CalDetGeo::axis a, int ilog, idents::ModuleId mod) =0;
00053 static const InterfaceID& interfaceID() { return IID_ICalGeometrySvc; }
00054
00055
00056 };
00057
00058 #endif