00001
00002 #ifndef TkrLayer_H
00003 #define TkrLayer_H
00004
00005 #include "TObject.h"
00006 #include "TObjArray.h"
00007 #include "StripId.h"
00008
00021 class TkrLayer : public TObject
00022 {
00023 private:
00025 UChar_t m_plane;
00027 UChar_t m_xy;
00029 UInt_t m_ToT[2];
00031 UInt_t m_errf[2];
00032 TObjArray *m_strips;
00033
00034 Int_t m_numStrips;
00035
00036 public:
00037
00038
00039 typedef enum {
00040 X = 0,
00041 Y
00042 } TKRAxes;
00043
00044 TkrLayer();
00045 TkrLayer(TObjArray *strips);
00046 virtual ~TkrLayer();
00047 void Clean(Option_t *option="");
00048
00049 TObjArray* getStrips() { return m_strips; };
00050 void setToT(UInt_t right, UInt_t left);
00051 void setErrf(UInt_t right, UInt_t left);
00052 void setPlaneNum(UChar_t planeVal) { m_plane = planeVal; };
00053 void setXY(TKRAxes xyVal) { m_xy = (xyVal == X ? 0 : 1); };
00054
00056 Int_t getToT(UChar_t ctrlNum);
00057 Int_t getErrf(UChar_t ctrlNum);
00059 inline UShort_t getPlaneNum() const { return UShort_t(m_plane); };
00061 UShort_t getLayerNum() const;
00063 TKRAxes getXY() const { return (m_xy ? Y : X); };
00065 UInt_t getNumHits() { return m_strips->GetEntries(); };
00067 StripId* getHit(int i) { return ( (i < m_strips->GetEntries()) ? (StripId*)(m_strips->At(i)) : 0); };
00068
00070 Int_t Compare(const TObject *obj) const;
00071 Bool_t IsSortable() const;
00072
00073 ClassDef(TkrLayer,3)
00074 };
00075
00076 #endif