Main Page | Class List | File List | Class Members | File Members | Related Pages

GeoServer.h

Go to the documentation of this file.
00001 
00007 #include "CSCHit.h"
00008  
00009 #ifndef TRUE
00010 #define TRUE 1
00011 #endif
00012  
00013 #ifndef FALSE
00014 #define FALSE 0
00015 #endif
00016  
00017 #define ALIGNMAX 51
00018 
00019   const double PitchXlarge =  5.308;   // in mm
00020   const double PitchXsmall =  5.5566;  // in mm
00021   const double PitchYlarge = 21.004;   // in mm
00022   const double PitchYsmall = 12.922;   // in mm
00023 
00024 
00025 
00043 class GeoServer{ 
00044 
00045   private:
00046   double xOffset[16]; // in mm
00047   double yOffset[4]; // in mm
00048   double angle[16]; // in radian
00049   double zpos[4]; // per chamber, in mm
00050   double thickness; //of a layer, in mm
00051   double zx[4];     // x-dependent Z pos
00052   double zy[4];     // y-dependent Z pos
00053 
00054   int FindIndex(CSCHit* hit);
00055 
00056  public:
00060   GeoServer(); 
00061 
00062 
00064   ~GeoServer(); 
00065   
00073   int ReadFile (char* filename);
00074 
00075 
00076 
00082   void ReadArray(double* a);
00083 
00084 
00085 
00087   void Print();
00088 
00094   double GetPitch (CSCHit* hit);
00095 
00096 
00097 
00098 
00107   double GetZ (double x, double y, int phi, int layer);
00108 
00109 
00110 
00111 
00121   double GetY (double y, double x, int phi, int layer, int isLargeChamber);
00122 
00123 
00124 
00125 
00126 
00127 
00138   double GetX (double x, double y, int phi, int layer, int isLargeChamber);
00139 
00140 
00150   double GetYStrip (double y, double x, int phi, int layer, int isLargeChamber); 
00151 
00152 
00153 
00154 
00155 
00165   double GetXStrip (double x, double y, int phi, int layer, int isLargeChamber); 
00166 
00167 
00168 }; 
00169 

Generated on Wed Oct 29 10:35:18 2008 for CSCRead by  doxygen 1.3.9.1