StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtTrackCut.h
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * base class for particle-wise cuts
10  * Users inherit from this class to make particular TrackCuts.
11  * Note that TrackCut is a derived class of ParticleCut
12  *
13  ***************************************************************************
14  *
15  *
16  **************************************************************************/
17 
18 
19 #ifndef StHbtTrackCut_hh
20 #define StHbtTrackCut_hh
21 
22 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
23 #include "StHbtMaker/Infrastructure/StHbtTrack.hh"
24 #include "StHbtMaker/Base/StHbtParticleCut.h"
25 
27 
28 public:
29 
30  StHbtTrackCut(){/* no-op */}; // default constructor. - Users should write their own
31  StHbtTrackCut(const StHbtTrackCut&); // copy constructor
32  virtual ~StHbtTrackCut(){/* no-op */}; // destructor
33 
34  virtual bool Pass(const StHbtTrack* track)=0; // true if passes, false if not
35  virtual StHbtParticleType Type(){return hbtTrack;}
36  virtual StHbtTrackCut* Clone() { return 0;}
37 
38 #ifdef __ROOT__
39  ClassDef(StHbtTrackCut, 0)
40 #endif
41 };
42 
43 inline StHbtTrackCut::StHbtTrackCut(const StHbtTrackCut& c) : StHbtParticleCut(c) {
44 #ifdef STHBTDEBUG
45  cout << " StHbtTrackCut::StHbtTrackCut(const StHbtTrackCut& c) : StHbtParticleCut(c) " << endl;
46 #endif
47 }
48 #endif