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

CSCHit.h

Go to the documentation of this file.
00001 
00005 #ifndef CSCHIT_H
00006 #define CSCHIT_H
00007 
00008 #include "CSCCluster.h"
00009 
00010 
00025 class CSCHit{ 
00026 
00027   private:
00028   CSCCluster* cluster; // points back to raw data
00029   double pos;          // position in strip pitch
00030   double peak;         // peaking time in samples
00031   double amp;          // Amplitude in ADC counts
00032   double sum3;         // sum of the central 3 strips
00033   double cog;          // center of gravity
00034   double parabola;     // parabolic interpolation
00035   int center;          // center strip index in cluster
00036   int channelID;       // channelID of center strip
00037   CSCStrip* strip[5];  // strips used in this hit.
00038   int distance;        // distance to the next hit in this layer
00039   CSCHit* match;       // corresponding hit in other coordinate
00040   double chi2;         // cluster shape difference
00041 
00042  public:
00044   CSCHit(); 
00045 
00046 
00048   ~CSCHit(); 
00049 
00050 
00054   void Set (CSCCluster* cluster, int i);
00055 
00056 
00058   void Print();
00059 
00060 
00071   CSCStrip* GetStrip(int relIndex); // index relative to center: -1 is left
00072 
00073 
00078   double GetPosition () { return pos;} ;
00079 
00086   void SetPosition(double p) { pos = p;};
00087 
00092   double GetPeakingTime() { return peak;};
00093 
00094 
00104   double GetAmplitude () { return amp;};
00105 
00106 
00124   int GetChannelID() {return channelID;}
00125 
00126 
00127 
00130   int GetLayer() {return (channelID>>9)&3;}
00131 
00132 
00135   int IsTransverse() { return (channelID>>8)&1;} // x or y data
00136 
00137 
00141   int IsLargeChamber() { return (channelID>>16)&1;} // large or small csc
00142 
00143 
00147   double GetSum() {return sum3;};
00148 
00149 
00157   double GetCOG() { return cog;};
00158 
00159 
00167   double GetParabola() { return parabola;};
00168 
00169 
00172   int GetPhi() {return (channelID >>13)&7;};
00173 
00174 
00181   int GetID () {return  channelID;};
00182 
00186   int GetDistance () {return distance;};
00187 
00188 
00189 
00191   void SetDistance( int d) { distance = d;};
00192 
00193 
00198   int GetChannel () { return strip[2]->GetChannel();};
00199 
00200 
00202   CSCHit* GetMatch() { return match;};
00203 
00204 
00205 
00207   void SetMatch (CSCHit* h) { match = h;};
00208 
00209 
00210 
00217   double GetChi2() {return chi2;};
00218 
00219 
00230   double Profile (double pos);
00231   
00232 }; 
00233 
00234 
00235 #endif // CSCHIT_H

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