StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ManyPairCuts.h
1 /***************************************************************************
2  *
3  * $Id: ManyPairCuts.h,v 1.1 2000/07/31 01:19:24 lisa Exp $
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * ManyPairCuts is a StHbtPairCut that simply owns a collection
10  * of StHbtPairCut objects, and returns the AND of their return values
11  *
12  ***************************************************************************
13  *
14  * $Log: ManyPairCuts.h,v $
15  * Revision 1.1 2000/07/31 01:19:24 lisa
16  * add PairCut which contains collection of PairCuts - also 3D bertsch-pratt CorrFctn
17  *
18  *
19  **************************************************************************/
20 
21 
22 #ifndef ManyPairCuts_hh
23 #define ManyPairCuts_hh
24 
25 #include "StHbtMaker/Infrastructure/StHbtPairCutCollection.hh"
26 #include "StHbtMaker/Base/StHbtPairCut.h"
27 
28 class ManyPairCuts : public StHbtPairCut{
29 public:
30  ManyPairCuts();
31  ManyPairCuts(const ManyPairCuts&);
32  //~ManyPairCuts();
33 
34  virtual bool Pass(const StHbtPair*);
35  virtual StHbtString Report();
36  ManyPairCuts* Clone();
37 
38  void AddPairCut(StHbtPairCut*);
39 
40 
41 private:
42  long mNPairsPassed;
43  long mNPairsFailed;
44  StHbtPairCutCollection mPairCutCollection;
45 
46 
47 #ifdef __ROOT__
48  ClassDef(ManyPairCuts, 0)
49 #endif
50 };
51 
52 inline ManyPairCuts::ManyPairCuts(const ManyPairCuts& c) : StHbtPairCut(c) {
53  mNPairsPassed = 0;
54  mNPairsFailed = 0;
55 
56 }
57 inline ManyPairCuts* ManyPairCuts::Clone() { ManyPairCuts* c = new ManyPairCuts(*this); return c;}
58 
59 inline void ManyPairCuts::AddPairCut(StHbtPairCut* pc){mPairCutCollection.push_back(pc);}
60 
61 #endif