00001 // @(#)fROOT/SIL:$Name: $:$Id: TFndHSilCluster.h,v 1.16 2007/09/05 10:40:27 Diego_Faso Exp $ 00002 // Author: Diego Faso <mailto:faso@to.infn.it>,Barbare Dalena <mailto:dalena@ba.infn.it>, Giuseppe Simonetti <mailto:Giuseppe.Simonetti@ba.infn.it>, Stefano Piano <mailto:Stefano.Piano@ts.infn.it>, 2005/06/24 00003 00004 #ifndef FROOT_TFndHSilCluster 00005 #define FROOT_TFndHSilCluster 00006 00008 // TFndHSilCluster // 00009 // // 00010 // Used by the fidarc/froot interface (DST production) // 00011 // // 00013 00014 #include <Riostream.h> 00015 00016 #include "TString.h" 00017 #include "TFndHit.h" 00018 00019 class TFndHSilCluster : public TFndHit{ 00020 00021 // --- data members --- 00022 protected: 00023 Int_t fLayer; // see FROOT::E_Fnd_Layer 00024 Int_t fModNum; 00025 Int_t fGoodCl; 00026 Int_t fIDCl; 00027 Float_t fClusterPhiAdcCh; 00028 Float_t fClusterZetaAdcCh; 00029 // Float_t fClusterPhiDRS; 00030 // Float_t fClusterZetaDRS; 00031 // Already defined in TFndHit as Double_t fPosLRS[3]; 00032 // X: not-used 00033 // Y: PHI-side 00034 // Z: ZETA-side 00035 Float_t fPhiClusterSignal; 00036 Float_t fPhiClusterNoise; 00037 Float_t fZetaClusterSignal; 00038 Float_t fZetaClusterNoise; 00039 Float_t fDEDxPhi; 00040 Float_t fDEDxZeta; 00041 Int_t fPhiNumClusterStrip; // number of strips in phi cluster 00042 Int_t fZetaNumClusterStrip; // number of strips in zeta cluster 00043 00044 public: 00045 TFndHSilCluster(); 00046 TFndHSilCluster(Int_t lay); 00047 ~TFndHSilCluster(); 00048 00049 void Init(); // initialize all data-members to defaults 00050 00051 void EvalHit(); 00052 00053 virtual void SetModNum(Int_t mod_num) { fModNum = mod_num; } 00054 virtual void SetGoodCl(Int_t good_cl) { fGoodCl = good_cl; } 00055 virtual void SetIDCl(Int_t id_cl) { fIDCl = id_cl; } 00056 virtual void SetClusterPhiAdcCh(Float_t adc_phi) { fClusterPhiAdcCh = adc_phi; } 00057 virtual void SetClusterZetaAdcCh(Float_t adc_zet) { fClusterZetaAdcCh = adc_zet; } 00058 // virtual void SetClusterPhiDRS(Float_t clust_phi) { fClusterPhiDRS = clust_phi; } 00059 // virtual void SetClusterZetaDRS(Float_t clust_zet) { fClusterZetaDRS = clust_zet; } 00060 virtual void SetPhiClusterSignal(Float_t phi_clust_signal) { fPhiClusterSignal = phi_clust_signal; } 00061 virtual void SetPhiClusterNoise(Float_t phi_clust_noise) { fPhiClusterNoise = phi_clust_noise; } 00062 virtual void SetZetaClusterSignal(Float_t zeta_clust_signal) { fZetaClusterSignal = zeta_clust_signal; } 00063 virtual void SetZetaClusterNoise(Float_t zeta_clust_noise) { fZetaClusterNoise = zeta_clust_noise; } 00064 virtual void SetDEDxPhi(Float_t dEdxphi) { fDEDxPhi = dEdxphi; } 00065 virtual void SetDEDxZeta(Float_t dEdxzeta) { fDEDxZeta = dEdxzeta; } 00066 00067 // --- Get Methods 00068 TString GetDetectorName() 00069 { 00070 switch(fLayer){ 00071 case E_FIN_INNER_LAYER: return "ISIM"; 00072 case E_FIN_OUTER_LAYER: return "OSIM"; 00073 default: return ""; 00074 } 00075 } 00076 Int_t GetLayer() { return fLayer; } 00077 Int_t GetModNum() { return fModNum;} 00078 Int_t GetGoodCl() { return fGoodCl; } 00079 Int_t GetIDCl() { return fIDCl; } 00080 Float_t GetClusterPhiAdcCh() { return fClusterPhiAdcCh;} 00081 Float_t GetClusterZetaAdcCh() { return fClusterZetaAdcCh;} 00082 // Float_t GetClusterPhiDRS() { return fClusterPhiDRS;} 00083 // Float_t GetClusterZetaDRS() { return fClusterZetaDRS;} 00084 Float_t GetPhiClusterSignal() { return fPhiClusterSignal;} 00085 Float_t GetPhiClusterNoise() { return fPhiClusterNoise;} 00086 Float_t GetZetaClusterSignal() { return fZetaClusterSignal;} 00087 Float_t GetZetaClusterNoise() { return fZetaClusterNoise;} 00088 Float_t GetDEDxPhi() { return fDEDxPhi;} 00089 Float_t GetDEDxZeta() { return fDEDxZeta;} 00090 00091 void PrintHit(Int_t depth=1); 00092 00093 ClassDef(TFndHSilCluster,1) // designed starting from the structure of the "fidarc" ISIM and OSIM banks 00094 }; 00095 00096 #endif //FROOT_TFndHSilCluster 00097 00098 00099