00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef StHbtRoot3DCF_hh
00016 #define StHbtRoot3DCF_hh
00017
00018 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
00019 #include "StHbtMaker/Infrastructure/StHbtNamed.hh"
00020 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00021
00022 class StHbtRoot3DCF : public virtual StHbtCorrFctn, public virtual StHbtNamed {
00023
00024 public:
00025
00026
00027 StHbtRoot3DCF(char* aTitle, int aNBinsx, double aHLox, double aHHix,
00028 int aNBinsy, double aHLoy, double aHHiy,
00029 int aNBinsz, double aHLoz, double aHHiz);
00030
00031 StHbtRoot3DCF(const StHbtRoot3DCF&);
00032
00033 virtual ~StHbtRoot3DCF() ;
00034
00035 virtual void Finish();
00036 virtual StHbtString Report();
00037
00038 virtual void SetName( const char* aName);
00039
00040 virtual StHbt3DHisto* Numerator() const ;
00041 virtual StHbt3DHisto* Denominator() const ;
00042 virtual StHbt3DHisto* Ratio() const ;
00043 virtual void Write() ;
00044
00045
00046
00047 protected:
00048 double mHLo;
00049 double mHHi;
00050 double mHLoY;
00051 double mHHiY;
00052 double mHLoZ;
00053 double mHHiZ;
00054
00055 StHbt3DHisto* mNumerator;
00056 StHbt3DHisto* mDenominator;
00057 StHbt3DHisto* mRatio;
00058
00059
00060 StHbtRoot3DCF(): StHbtCorrFctn(),StHbtNamed(),mHLo(0),mHHi(0),mHLoY(0),mHHiY(0),mHLoZ(0),mHHiZ(0),mNumerator(0),mDenominator(0),mRatio(0){};
00061
00062 #ifdef __ROOT__
00063 ClassDef(StHbtRoot3DCF,1)
00064 #endif
00065 };
00066 inline StHbt3DHisto* StHbtRoot3DCF::Numerator() const {return mNumerator;};
00067 inline StHbt3DHisto* StHbtRoot3DCF::Denominator() const {return mDenominator;};
00068 inline StHbt3DHisto* StHbtRoot3DCF::Ratio() const {return mRatio;};
00069 inline void StHbtRoot3DCF::Write() {mNumerator->Write();mDenominator->Write();mRatio->Write();};
00070
00071 #endif