mEmcMIPCorr3Module.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 //
00003 //  (c) PHENIX Collaboration 2000/10/15
00004 //
00005 // Purpose: wraps the MIP correction of DST for Run2
00006 // 
00007 // Description: algorithm class
00008 //              
00009 // Author:  Hisayuki Torii
00010 //          Modified for Run2V02 production by H.Torii Jan/30/2002
00011 //
00012 //-----------------------------------------------------------------------------
00013 #ifndef __MEMCMIPCorr3MODULE_H__
00014 #define __MEMCMIPCorr3MODULE_H__
00015 #include "phool.h"
00016 #include <vector>
00017 
00018 class PHCompositeNode;
00019 
00025 class mEmcMIPCorr3Module
00026 {
00027  public:
00029   mEmcMIPCorr3Module();
00031   virtual ~mEmcMIPCorr3Module() {} ;
00032 
00034   static mEmcMIPCorr3Module* instance();
00035 
00037   PHBoolean  event(PHCompositeNode * root) ;
00038 
00039   // Access file DB
00040   void readfile_twr(char* filename);
00041   void readfile_run(char* filename);
00042   void print();
00043   float get_corr_run(int iarm,int isect, int run);
00044   float get_corr_twr_mip(int arm, int sect, int iz, int iy) const { return _corr_twr_mip[arm][sect][iz][iy];}
00045 
00046  private:
00047   static mEmcMIPCorr3Module* _instance;
00048   int   fVerbose ;
00049 #ifndef __CINT__
00050   std::vector<int> _corr_run[2][4];           
00051   std::vector<float> _corr_run_mip[2][4];     
00052   std::vector<float> _corr_run_err[2][4];     
00053 #endif
00054   int _last_run[2][4];
00055   float _last_run_mip[2][4];
00056 
00057   float _corr_twr_mip[2][4][96][48];        //Sector*Zrow*Yrow
00058   float _corr_twr_err[2][4][96][48];    //     For PbGl 2*96*48
00059   bool _corr_twr_stat[2][4][96][48];   //     For PbSc 6*72*36
00060 };
00061 #endif /*__MEMCMIPCorr3Module_H__*/
00062 
00063 
00064