Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ITkrGeometrySvc.h

Go to the documentation of this file.
00001 #ifndef __ITKRGEOMETRYSVC_H
00002 #define __ITKRGEOMETRYSVC_H 1
00003 
00004 #include "GaudiKernel/IInterface.h"
00005 #include "TkrRecon/TkrAxis.h"
00006 #include "src/TkrDetGeo.h"
00007 
00008 
00009 #include <string>
00010 
00011 //----------------------------------------------
00012 //
00013 //   TkrGeometrySvc
00014 //
00015 //       Tracker Geometry Service. Used to keep track of the 
00016 //   particular tracker geometry in use
00017 //----------------------------------------------
00018 //             Tracy Usher, SLAC, 2/28/01
00019 //----------------------------------------------
00020 
00021 static const InterfaceID IID_ITkrGeometrySvc(905, 1 , 0); 
00022 
00023 //##########################################################
00024 class ITkrGeometrySvc : public TkrAxis, public virtual IInterface
00025 //##########################################################
00026 {
00027 public:
00028 
00030 
00031 
00032         static const InterfaceID& interfaceID() { return IID_ITkrGeometrySvc; }
00033     
00034     //Retrieve stored information
00035     virtual int    geomType()=0;
00036     
00037     virtual int    numXTowers()=0;
00038     virtual int    numYTowers()=0;
00039     virtual int    numViews()=0;
00040     virtual int    numLayers()=0;
00041     //virtual int    numPbLayers()=0;
00042     //virtual int    numSuperGLayers()=0;
00043 
00044     virtual int    indMixed()=0;
00045     virtual int    viewMixed()=0;
00046     virtual int    ladderMixed()=0;
00047     virtual int    isizeMixed()=0;
00048     virtual int    numPlanes()=0;
00049 
00050     virtual double Z0()=0; 
00051     virtual double towerPitch()=0;
00052     virtual double trayWidth()=0;
00053     virtual double trayHeight()=0;
00054     virtual double footHeight()=0;
00055     
00056     virtual double ladderWidth()=0;
00057     virtual double ladderLength()=0;
00058     virtual double ladderGap()=0;
00059     virtual double ladderInnerGap()=0;
00060     virtual int    ladderNStrips()=0;
00061     
00062     virtual double siStripPitch()=0;
00063     virtual double siResolution()=0;
00064     virtual double siThickness()=0;
00065     virtual double siDeadDistance()=0;
00066 
00067     virtual double thinConvHeight()=0;
00068     virtual double thickConvHeight()=0;
00069     
00070     virtual double siX0()=0;
00071     virtual double pbX0()=0;
00072     
00073     // planes and layers differ in the ordering
00074     virtual int ilayer(int iplane)=0;
00075     
00076     virtual tkrDetGeo getSiLayer(int ilayer, axis a, int tower = 0)=0;
00077     //virtual tkrDetGeo getPbLayer(int ilayer, int tower = 0)=0;
00078     virtual tkrDetGeo getSiLadder(int ilayer, axis a, int iladder, int tower = 0)=0;
00079     virtual tkrDetGeo getSiDice(int ilayer, axis a, int iladder, int idice, int tower = 0)=0;
00080     
00081     // geometry related access
00082     virtual double pbRadLen(int ilayer)=0;
00083     virtual double layerGap(int ilayer)=0;
00084     virtual int    nLadders(int ilayer, axis a)=0;
00085     virtual double diceSize(int ilayer, axis a, int iladder)=0; 
00086     virtual int    nDices(int ilayer, axis a, int iladder)=0;
00087 };
00088 
00089 #endif

Generated at Wed Nov 21 12:21:20 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000