StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StuCutTrack.hh
1 //
3 // $Id: StuCutTrack.hh,v 1.3 2003/09/02 17:58:09 perev Exp $
4 //
5 // Author: Art Poskanzer, LBNL, Dec 1999
6 //
7 // Description: Class for applying track cuts.
8 // If lo >= hi no cut is applied.
9 // All functions and data members are static.
10 // Therefor, no need to instantiate.
11 // Just use StuCutTrack::func();
12 //
14 //
15 // $Log: StuCutTrack.hh,v $
16 // Revision 1.3 2003/09/02 17:58:09 perev
17 // gcc 3.2 updates + WarnOff
18 //
19 // Revision 1.2 1999/12/21 16:12:26 posk
20 // Updates.
21 //
22 // Revision 1.1 1999/12/17 00:07:09 posk
23 // Classes for StEvent cuts.
24 //
25 // Revision 1.0 posk
26 // First versions of StEvent cut classes.
27 //
29 
30 #ifndef _StuCutTrack_INCLUDED_
31 #define _StuCutTrack_INCLUDED_
32 #include <Stiostream.h>
33 #include <stdlib.h>
34 #include "Rtypes.h"
35 class StPrimaryTrack;
36 
37 class StuCutTrack {
38 
39  public:
40 
41  StuCutTrack();
42  virtual ~StuCutTrack();
43 
44  static Int_t CheckTrack(StPrimaryTrack* pTrack);
45  static void PrintCutList();
46  static UInt_t EtaSymPos();
47  static UInt_t EtaSymNeg();
48  static void EtaSymClear();
49  static void SetFitPts(Int_t lo, Int_t hi);
50  static void SetFitOverMaxPts(Float_t lo, Float_t hi);
51 
52  private:
53 
54  static UInt_t mTrackN; // number of tracks
55  static UInt_t mGoodTrackN; // number of accepted tracks
56  static UInt_t mEtaSymPosN; // number of positive Eta tracks
57  static UInt_t mEtaSymNegN; // number of negative Eta tracks
58 
59  static UInt_t mFitPtsCutN; // number not accepted
60  static Int_t mFitPtsCuts[2]; // range
61 
62  static UInt_t mFitOverMaxCutN; // number not accepted
63  static Float_t mFitOverMaxCuts[2]; // range
64 
65  ClassDef(StuCutTrack,1) // macro for rootcint
66 };
67 
68 inline UInt_t StuCutTrack::EtaSymPos() { return mEtaSymPosN; }
69 
70 inline UInt_t StuCutTrack::EtaSymNeg() { return mEtaSymNegN; }
71 
72 inline void StuCutTrack::EtaSymClear() { mEtaSymPosN = 0; mEtaSymNegN = 0; }
73 
74 inline void StuCutTrack::SetFitPts(Int_t lo, Int_t hi) {
75  mFitPtsCuts[0] = lo; mFitPtsCuts[1] = hi; }
76 
77 inline void StuCutTrack::SetFitOverMaxPts(Float_t lo, Float_t hi) {
78  mFitOverMaxCuts[0] = lo; mFitOverMaxCuts[1] = hi; }
79 
80 #endif