00001 /*************************************************************************** 00002 * 00003 * $Id: StHbtTripletCut.h,v 1.5 2009/08/25 20:17:51 fine Exp $ 00004 * 00005 * Author: Robert Willson, Ohio State, willson@bnl.gov 00006 *************************************************************************** 00007 * 00008 * Description: part of STAR HBT Framework: StHbtMaker package 00009 * base class for triplet-wise cuts. Users inherit from 00010 * this class and must add their own quantities. 00011 * 00012 *************************************************************************** 00013 * 00014 * $Log: StHbtTripletCut.h,v $ 00015 * Revision 1.5 2009/08/25 20:17:51 fine 00016 * fix the compilation issues under SL5_64_bits gcc 4.3.2 00017 * 00018 * Revision 1.4 2000/06/15 18:51:33 willson 00019 * Cuts and Correlation function information moved from StBaseAnalysis 00020 * to the derived analysis classes. Global functions installed in 00021 * Cut and CorrFctn base classes to access analysis pointer. 00022 * 00023 * Revision 1.3 2000/05/11 21:16:40 willson 00024 * myAnalysis pointer changed to type StHbtBaseAnalysis - moved 00025 * some methods into StHbtBaseAnalysis class 00026 * 00027 * Revision 1.2 2000/04/12 01:53:00 willson 00028 * Initial Installation - Comments Added 00029 * 00030 * 00031 ***************************************************************************/ 00032 00033 #ifndef StHbtTripletCut_hh 00034 #define StHbtTripletCut_hh 00035 00036 #include <string> 00037 00038 #include "StHbtMaker/Infrastructure/StHbtTypes.hh" 00039 #include "StHbtMaker/Infrastructure/StHbtTriplet.hh" 00040 #include "StHbtMaker/Infrastructure/StHbtCutMonitorHandler.h" 00041 00042 class StHbtBaseAnalysis; 00043 00044 class StHbtTripletCut : public StHbtCutMonitorHandler { 00045 00046 public: 00047 00048 StHbtTripletCut(){/* no-op */}; // default constructor. - Users should write their own 00049 virtual ~StHbtTripletCut(){/* no-op */}; // destructor 00050 00051 virtual bool Pass(const StHbtTriplet* Triplet) =0; // true if passes, false if not 00052 00053 // virtual string Report() =0; // user-written method to return string describing cuts 00054 virtual StHbtString Report() =0; // user-written method to return string describing cuts 00055 00056 #ifdef __ROOT__ 00057 ClassDef(StHbtTripletCut, 0) 00058 #endif 00059 // the following allows "back-pointing" from the CorrFctn to the "parent" Analysis 00060 friend class StHbtBaseAnalysis; 00061 StHbtBaseAnalysis* HbtAnalysis(){return myAnalysis;}; 00062 void SetAnalysis(StHbtBaseAnalysis*); 00063 00064 protected: 00065 StHbtBaseAnalysis* myAnalysis; 00066 00067 00068 }; 00069 00070 inline void StHbtTripletCut::SetAnalysis(StHbtBaseAnalysis* analysis) { myAnalysis = analysis; } 00071 00072 #endif
1.5.9