00001
00002
00003
00004
00005 #ifndef FROOT_TFndHLmd
00006 #define FROOT_TFndHLmd
00007
00009
00010
00011
00012
00013
00015
00016
00017 #include "TFndHit.h"
00018
00019 class TFndHLmd : public TFndHit {
00020
00021 protected:
00022
00023 Int_t fLayer;
00024 Int_t fChamber;
00025 Int_t fWire;
00026 Int_t fAdc[2];
00027 Int_t fTdc[2];
00028
00029
00030 Short_t fBothAdc;
00031 Short_t fBothTdc;
00032
00033 Float_t fCalibAdc[2];
00034 Float_t fCalibTdc_T0[2];
00035 Float_t fCalibTdc_T0C[2];
00036
00037 Float_t fCalibMeanTimer_T0;
00038 Float_t fCalibMeanTimer_T0C;
00039
00040 public:
00041
00042 TFndHLmd(const Int_t &chamber,const Int_t &wire);
00043 TFndHLmd(const Int_t &channel = -1);
00044 ~TFndHLmd();
00045
00046 private:
00047 void Init();
00048 void SetDchIdentifiers(const Int_t &cham_num,const Int_t &wire_num) {
00049 fChannel = TFndDB::Lmd_ChannelToDBNumbering(cham_num,wire_num);
00050 Int_t w;
00051 TFndDB::Lmd_ChNum_To_DetChan(fChannel,fLayer,fChamber,fWire,w);
00052 }
00053
00054 public:
00055 void EvalHit();
00056
00057 void GetLayer_Chamber_Wire(Int_t &lay, Int_t &cham, Int_t &wire)
00058 {
00059 lay = fLayer; cham = fChamber; wire = fWire;
00060 }
00061 Int_t GetLayer() const { return fLayer; }
00062 Int_t GetChamber() const { return fChamber; }
00063 Int_t GetWire() const { return fWire; }
00064
00065 Int_t GetTdcE() const { return fTdc[E_FIN_SIDE_E]; }
00066 Int_t GetTdcP() const { return fTdc[E_FIN_SIDE_P]; }
00067 Int_t GetAdcE() const { return fAdc[E_FIN_SIDE_E]; }
00068 Int_t GetAdcP() const { return fAdc[E_FIN_SIDE_P]; }
00069
00070
00071
00072 void SetAdc(Int_t adc,E_Fnd_Side side) { fAdc[side] = adc; }
00073 void SetTdc(Int_t tdc,E_Fnd_Side side) { fTdc[side] = tdc; }
00074
00075
00076
00077 Bool_t GetBothAdcFlag() { return fBothAdc; }
00078 Bool_t GetBothTdcFlag() { return fBothTdc; }
00079
00080 Float_t GetCalibTdcE_T0() { return fCalibTdc_T0[E_FIN_SIDE_E]; }
00081 Float_t GetCalibTdcP_T0() { return fCalibTdc_T0[E_FIN_SIDE_P]; }
00082 Float_t GetCalibTdcE_T0C() { return fCalibTdc_T0C[E_FIN_SIDE_E]; }
00083 Float_t GetCalibTdcP_T0C() { return fCalibTdc_T0C[E_FIN_SIDE_P]; }
00084 Float_t GetCalibAdcE() { return fCalibAdc[E_FIN_SIDE_E]; }
00085 Float_t GetCalibAdcP() { return fCalibAdc[E_FIN_SIDE_P]; }
00086
00087 Float_t GetCalibMeanTimer_T0() { return fCalibMeanTimer_T0; }
00088 Float_t GetCalibMeanTimer_T0C() { return fCalibMeanTimer_T0C; }
00089
00090
00091 void SetBothAdcFlag(Bool_t both_adc) { fBothAdc = both_adc; }
00092 void SetBothTdcFlag(Bool_t both_tdc) { fBothTdc = both_tdc; }
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103 void PrintHit(Int_t depth=1);
00104
00105 ClassDef(TFndHLmd,1)
00106 };
00107
00108 #endif // FROOT_TFndHLmd
00109
00110
00111
00112
00113