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

ICalGeometrySvc.h

Go to the documentation of this file.
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 //   CalGeometrySvc
00011 //
00012 //     It stores the calorimeter geometry.
00013 //
00014 //   A.Chekhtman, NRL, 3/30/01 
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

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