EmcScSectorRec.h

Go to the documentation of this file.
00001 #ifndef EMCSCSECTORREC_H
00002 #define EMCSCSECTORREC_H
00003 
00004 // Name: EmcScSectorRec.h
00005 // Author: A. Bazilevsky (RIKEN-BNL)
00006 // Major modifications by M. Volkov (RRC KI) Jan 27 2000
00007 
00008 #include "EmcSectorRec.h"
00009 
00010 // ///////////////////////////////////////////////////////////////////////////
00011 
00016 class EmcScSectorRec: public EmcSectorRec
00017 {
00018   
00019  protected:
00020 
00021   // Parameters for sigma calculation in Chi2 analysis
00022   static float fgEpar00;
00023   static float fgEpar0;
00024   static float fgEpar1;
00025   static float fgEpar2;
00026   static float fgEpar3;
00027   static float fgEpar4;
00028 
00029   // Parameters for shower shape and Chi2 calculation
00030   // Set by SetProfileParameters()
00031   float fSin4T;
00032   float fSinTx;
00033   float fSinTy;
00034   float fPpar1;
00035   float fPpar2;
00036   float fPpar3;
00037   float fPpar4;
00038   float fPshiftx;
00039   float fPshifty;
00040 
00041  public:
00042 
00043   EmcScSectorRec():EmcSectorRec(){ SetTowerThreshold(0.05); }
00044   virtual ~EmcScSectorRec(){}
00045 
00046   // These functions must be defined
00047   virtual  void CorrectPosition(float energy, float x, float y, float *xcorr,
00048                                 float *ycorr, bool callSetPar=true);
00049   virtual  void CorrectEnergy(float energy, float x, float y, float *ecorr);
00050   virtual  void CorrectECore(float ecore, float x, float y, float *ecorecorr);
00051   virtual void CalculateErrors(float e, float x, float y, float* pde,
00052                                float* pdx, float* pdy, float* pdz);
00053   virtual void SetProfileParameters(int, float, float, float);
00054   virtual float PredictEnergy(float, float, float);
00055   virtual void TwoGamma(int, EmcModule*, float*, float*, float*, float*,
00056                         float*, float*, float*);
00057   virtual float ClusterChisq(int, EmcModule*, float, float, float,
00058                              int &ndf); // ndf added MV 28.01.00
00059   virtual float Chi2Limit(int ndf);
00060   virtual float Chi2Correct(float chi2,int ndf);
00061   virtual void SetTowerThreshold(float Thresh);
00062   virtual void getTowerPos(int ix, int iy, float &x, float & y);
00064   void TowersToSector(float, float, float &, float &);
00066   void TowersToSector(int,   int,   float &, float &);
00068   void SectorToTowers(float, float, int &,   int &);
00069 
00070 };
00071 
00072 #endif // #ifndef EMCSCSECTORREC_H
00073 
00074 // ///////////////////////////////////////////////////////////////////////////
00075 // EOF