StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMuFilter.h
1 /***************************************************************************
2  *
3  * $Id: StMuFilter.h,v 1.7 2015/11/19 17:38:45 perev Exp $
4  * Author: Frank Laue, BNL, laue@bnl.gov
5  *
6  ***************************************************************************/
7 
8 #ifndef StMuFilter_h
9 #define StMuFilter_h
10 
11 #include "StMuCut.h"
12 #include "StEvent/StEnumerations.h"
13 #include "StTrackMethod.h"
14 
15 #include <list>
16 #if !defined(ST_NO_NAMESPACES)
17 using namespace std;
18 #endif
19 
20 
21 #if defined(ST_NO_TEMPLATE_DEF_ARGS)
22 typedef list<unsigned short, allocator<unsigned short> > UnsignedShortCollection;
23 typedef list<unsigned short, allocator<unsigned short> >::iterator UnsignedShortIterator;
24 #else
25 typedef list<unsigned short> UnsignedShortCollection;
26 typedef list<unsigned short>::iterator UnsignedShortIterator;
27 #endif
28 
29 
30 class StMuFilter : public StMuCut {
31  public:
32  StMuFilter();
33  void addEncodedMethod(unsigned short method) { mEncodedMethods.push_back(method); }
34  void addEncodedMethod(StTrackFinderMethod find, StTrackFittingMethod fit) { mEncodedMethods.push_back( fit + (1<<find)); }
35  protected:
36  UnsignedShortCollection mEncodedMethods;
37 
38  virtual bool accept( const StEvent*);
39  virtual bool accept( const StTrack*);
40  virtual bool accept( const StV0Vertex*);
41  virtual bool accept( const StXiVertex*);
42  virtual bool accept( const StKinkVertex*);
43  virtual bool accept( const StV0MuDst*);
44  virtual bool accept( const StXiMuDst*);
45  virtual bool accept( const StKinkMuDst*);
46  protected:
47  int mMinHits;
48  int mMinTpcHits;
49  int mMinFTpcHits;
50  int mMinFtsHits;
51  ClassDef(StMuFilter,2)
52 };
53 
54 #endif
55 
56 /***************************************************************************
57  *
58  * $Log: StMuFilter.h,v $
59  * Revision 1.7 2015/11/19 17:38:45 perev
60  * Version ++ according new members added
61  *
62  * Revision 1.6 2015/11/13 00:24:47 perev
63  * Added changable constants
64  *
65  * Revision 1.5 2004/05/02 04:10:14 perev
66  * private => protected
67  *
68  * Revision 1.4 2003/01/23 21:59:50 laue
69  * Modification to compile on Solaris.
70  *
71  * Revision 1.3 2002/09/11 21:02:42 laue
72  * added cut on track encoded method for ITTF
73  *
74  * Revision 1.2 2002/05/04 23:56:30 laue
75  * some documentation added
76  *
77  * Revision 1.1 2002/03/08 17:04:18 laue
78  * initial revision
79  *
80  *
81  **************************************************************************/