StHbtTrackCut.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /***************************************************************************
  2. *
  3. * $Id:
  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. * $Log:
  16. **************************************************************************/
  17. #ifndef StHbtTrackCut_hh
  18. #define StHbtTrackCut_hh
  19. #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
  20. #include "StHbtMaker/Infrastructure/StHbtTrack.hh"
  21. #include "StHbtMaker/Base/StHbtParticleCut.h"
  22. class StHbtTrackCut : public StHbtParticleCut {
  23. public:
  24. StHbtTrackCut(){/* no-op */}; // default constructor. - Users should write their own
  25. StHbtTrackCut(const StHbtTrackCut&); // copy constructor
  26. virtual ~StHbtTrackCut(){/* no-op */}; // destructor
  27. virtual bool Pass(const StHbtTrack* track)=0; // true if passes, false if not
  28. virtual StHbtParticleType Type(){return hbtTrack;}
  29. virtual StHbtTrackCut* Clone() { return 0;}
  30. #ifdef __ROOT__
  31. ClassDef(StHbtTrackCut, 0)
  32. #endif
  33. };
  34. inline StHbtTrackCut::StHbtTrackCut(const StHbtTrackCut& c) : StHbtParticleCut(c) {
  35. #ifdef STHBTDEBUG
  36. cout << " StHbtTrackCut::StHbtTrackCut(const StHbtTrackCut& c) : StHbtParticleCut(c) " << endl;
  37. #endif
  38. }
  39. #endif