StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StuCutEvent.hh
1 //
3 // $Id: StuCutEvent.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 event cuts.
8 // If lo >= hi no cut is applied.
9 // All functions and data members are static.
10 // Therefore, no need to instantiate.
11 // Just use StuCutEvent::func();
12 //
14 //
15 // $Log: StuCutEvent.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:25 posk
20 // Updates.
21 //
22 // Revision 1.1 1999/12/17 00:07:05 posk
23 // Classes for StEvent cuts.
24 //
25 // Revision 1.0 posk
26 // First versions of StEvent cut classes.
27 //
29 
30 #ifndef _StuCutEvent_INCLUDED_
31 #define _StuCutEvent_INCLUDED_
32 #include <Stiostream.h>
33 #include <stdlib.h>
34 #include "Rtypes.h"
35 class StEvent;
36 
37 class StuCutEvent {
38 
39  public:
40 
41  StuCutEvent();
42  virtual ~StuCutEvent();
43 
44  static Int_t CheckEvent(StEvent* pEvent);
45  static Int_t CheckEtaSymmetry();
46  static void PrintCutList();
47  static void SetMult(const Int_t lo, const Int_t hi);
48  static void SetVertexX(const Float_t lo, const Float_t hi);
49  static void SetVertexY(const Float_t lo, const Float_t hi);
50  static void SetVertexZ(const Float_t lo, const Float_t hi);
51  static void SetEtaSym(Float_t lo, Float_t hi);
52 
53  private:
54 
55  static UInt_t mEventN; // number of events
56  static UInt_t mGoodEventN; // number of accepted events
57 
58  static UInt_t mMultCut; // number of not accepted events
59  static Int_t mMultCuts[2]; // range of multiplicity
60 
61  static UInt_t mVertexXCut; // number of not accepted events
62  static Float_t mVertexXCuts[2]; // range of X vertex position
63 
64  static UInt_t mVertexYCut; // number of not accepted events
65  static Float_t mVertexYCuts[2]; // range of Y vertex position
66 
67  static UInt_t mVertexZCut; // number of not accepted events
68  static Float_t mVertexZCuts[2]; // range of Z vertex position
69 
70  static UInt_t mEtaSymCutN; // number not accepted
71  static Float_t mEtaSymCuts[2]; // range
72 
73  ClassDef(StuCutEvent,1) // macro for rootcint
74 };
75 
76 inline void StuCutEvent::SetMult(const Int_t lo, const Int_t hi) {
77  mMultCuts[0] = lo; mMultCuts[1] = hi; }
78 
79 inline void StuCutEvent::SetVertexX(const Float_t lo, const Float_t hi) {
80  mVertexXCuts[0] = lo; mVertexXCuts[1] = hi; }
81 
82 inline void StuCutEvent::SetVertexY(const Float_t lo, const Float_t hi) {
83  mVertexYCuts[0] = lo; mVertexYCuts[1] = hi; }
84 
85 inline void StuCutEvent::SetVertexZ(const Float_t lo, const Float_t hi) {
86  mVertexZCuts[0] = lo; mVertexZCuts[1] = hi; }
87 
88 inline void StuCutEvent::SetEtaSym(Float_t lo, Float_t hi) {
89  mEtaSymCuts[0] = lo; mEtaSymCuts[1] = hi; }
90 
91 #endif