StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtTripletCut.h
1 /***************************************************************************
2  *
3  * $Id: StHbtTripletCut.h,v 1.5 2009/08/25 20:17:51 fine Exp $
4  *
5  * Author: Robert Willson, Ohio State, willson@bnl.gov
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * base class for triplet-wise cuts. Users inherit from
10  * this class and must add their own quantities.
11  *
12  ***************************************************************************
13  *
14  * $Log: StHbtTripletCut.h,v $
15  * Revision 1.5 2009/08/25 20:17:51 fine
16  * fix the compilation issues under SL5_64_bits gcc 4.3.2
17  *
18  * Revision 1.4 2000/06/15 18:51:33 willson
19  * Cuts and Correlation function information moved from StBaseAnalysis
20  * to the derived analysis classes. Global functions installed in
21  * Cut and CorrFctn base classes to access analysis pointer.
22  *
23  * Revision 1.3 2000/05/11 21:16:40 willson
24  * myAnalysis pointer changed to type StHbtBaseAnalysis - moved
25  * some methods into StHbtBaseAnalysis class
26  *
27  * Revision 1.2 2000/04/12 01:53:00 willson
28  * Initial Installation - Comments Added
29  *
30  *
31  ***************************************************************************/
32 
33 #ifndef StHbtTripletCut_hh
34 #define StHbtTripletCut_hh
35 
36 #include <string>
37 
38 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
39 #include "StHbtMaker/Infrastructure/StHbtTriplet.hh"
40 #include "StHbtMaker/Infrastructure/StHbtCutMonitorHandler.h"
41 
42 class StHbtBaseAnalysis;
43 
45 
46 public:
47 
48  StHbtTripletCut(){/* no-op */}; // default constructor. - Users should write their own
49  virtual ~StHbtTripletCut(){/* no-op */}; // destructor
50 
51  virtual bool Pass(const StHbtTriplet* Triplet) =0; // true if passes, false if not
52 
53  // virtual string Report() =0; // user-written method to return string describing cuts
54  virtual StHbtString Report() =0; // user-written method to return string describing cuts
55 
56 #ifdef __ROOT__
57  ClassDef(StHbtTripletCut, 0)
58 #endif
59  // the following allows "back-pointing" from the CorrFctn to the "parent" Analysis
60  friend class StHbtBaseAnalysis;
61  StHbtBaseAnalysis* HbtAnalysis(){return myAnalysis;};
62  void SetAnalysis(StHbtBaseAnalysis*);
63 
64 protected:
65  StHbtBaseAnalysis* myAnalysis;
66 
67 
68 };
69 
70 inline void StHbtTripletCut::SetAnalysis(StHbtBaseAnalysis* analysis) { myAnalysis = analysis; }
71 
72 #endif