StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
anglePairCut.h
1 /***************************************************************************
2  *
3  * $Id: anglePairCut.h,v 1.1 2001/11/05 16:14:16 rcwells Exp $
4  *
5  * Author: Randall Wells, Ohio State, rcwells@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * cuts on the angle of the pair relative to the reaction plane
10  *
11  ***************************************************************************
12  *
13  * $Log: anglePairCut.h,v $
14  * Revision 1.1 2001/11/05 16:14:16 rcwells
15  * Adding anglePairCut class to cut on pair emission angle
16  *
17  *
18  **************************************************************************/
19 
20 
21 #ifndef anglePairCut_hh
22 #define anglePairCut_hh
23 
24 // do I need these lines ?
25 //#ifndef StMaker_H
26 //#include "StMaker.h"
27 //#endif
28 
29 #include "StHbtMaker/Base/StHbtPairCut.h"
30 #include "PhysicalConstants.h"
31 
32 class anglePairCut : public StHbtPairCut{
33 public:
34  anglePairCut();
35  anglePairCut(char* title);
36  anglePairCut(const anglePairCut&);
37  //~anglePairCut();
38 
39  void SetAngleCut(const double& angleLo, const double& angleHi);
40  void SetAngleCut(const double& angleLo1, const double& angleHi1,
41  const double& angleLo2, const double& angleHi2);
42  StHbt1DHisto* betaT();
43  StHbt1DHisto* betaL();
44  StHbt1DHisto* betaT2();
45  StHbt1DHisto* betaL2();
46  StHbt1DHisto* betaTL();
47 
48  double EmissionAngle(const StHbtPair*);
49 
50  virtual bool Pass(const StHbtPair*);
51  virtual StHbtString Report();
52  anglePairCut* Clone();
53 
54 private:
55  double mAngle1[2];
56  double mAngle2[2];
57  long mNPairsPassed;
58  long mNPairsFailed;
59  StHbt1DHisto* mBetaT;
60  StHbt1DHisto* mBetaL;
61  StHbt1DHisto* mBetaT2;
62  StHbt1DHisto* mBetaL2;
63  StHbt1DHisto* mBetaTL;
64 
65 #ifdef __ROOT__
66  ClassDef(anglePairCut, 1)
67 #endif
68 };
69 
70 inline anglePairCut::anglePairCut(const anglePairCut& c) : StHbtPairCut(c) {
71  mNPairsPassed = 0;
72  mNPairsFailed = 0;
73 
74 }
75 inline anglePairCut* anglePairCut::Clone() { anglePairCut* c = new anglePairCut(*this); return c;}
76 inline void anglePairCut::SetAngleCut(const double& angleLo, const double& angleHi){
77  mAngle1[0] = angleLo;
78  mAngle1[1] = angleHi;
79  mAngle2[0] = 999.0;
80  mAngle2[1] = 999.0;
81 }
82 inline void anglePairCut::SetAngleCut(const double& angleLo1, const double& angleHi1,
83  const double& angleLo2, const double& angleHi2){
84  mAngle1[0] = angleLo1;
85  mAngle1[1] = angleHi1;
86  mAngle2[0] = angleLo2;
87  mAngle2[1] = angleHi2;
88 }
89 inline StHbt1DHisto* anglePairCut::betaT(){return mBetaT;}
90 inline StHbt1DHisto* anglePairCut::betaL(){return mBetaL;}
91 inline StHbt1DHisto* anglePairCut::betaT2(){return mBetaT2;}
92 inline StHbt1DHisto* anglePairCut::betaL2(){return mBetaL2;}
93 inline StHbt1DHisto* anglePairCut::betaTL(){return mBetaTL;}
94 
95 #endif
96 
97 
98 
99 
100