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;
00020 const double PitchXsmall = 5.5566;
00021 const double PitchYlarge = 21.004;
00022 const double PitchYsmall = 12.922;
00023
00024
00025
00043 class GeoServer{
00044
00045 private:
00046 double xOffset[16];
00047 double yOffset[4];
00048 double angle[16];
00049 double zpos[4];
00050 double thickness;
00051 double zx[4];
00052 double zy[4];
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