StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
evansPairCut.h
1 #ifndef evansPairCut_hh
2 #define evansPairCut_hh
3 
4 //#ifndef StMaker_H
5 //#include "StMaker.h"
6 //#endif
7 
8 #include "StHbtMaker/Base/StHbtPairCut.h"
9 #include "StHbtMaker/Infrastructure/StParityAnalysis.h"
10 #include "StHbtMaker/Infrastructure/StParityTypes.hh"
11 
12 class evansPairCut : public StHbtPairCut{
13 public:
14  evansPairCut();
15  evansPairCut(const evansPairCut&);
16  //~evansPairCut();
17 
18  virtual bool Pass(const StHbtPair*);
19  void SetAngleCut(double);
20  void SetPCutDistance(double);
21  virtual void ParityPairCuts(ParityBuff*, ParityBuff*);
22  virtual StHbtString Report();
23  evansPairCut* Clone();
24 
25 
26 private:
27  long mNPairsPassed;
28  long mNPairsFailed;
29  double AngleCut; // (In radians) see comments in .cxx code
30  double pCutDistance; // (In Meters ) see comments in .cxx code
31  double Bfield; // (In Tesla for the distance cut) (see .cxx code)
32 
33 
34 #ifdef __ROOT__
35  ClassDef(evansPairCut, 1)
36 #endif
37 };
38 
39 inline evansPairCut::evansPairCut(const evansPairCut& c) : StHbtPairCut(c) {
40  mNPairsPassed = 0;
41  mNPairsFailed = 0;
42 
43 }
44 
45 inline void evansPairCut::SetAngleCut(double CutValue) {
46  AngleCut = CutValue;
47 }
48 
49 inline void evansPairCut::SetPCutDistance(double CutValue) {
50  pCutDistance = CutValue;
51 }
52 
53 inline evansPairCut* evansPairCut::Clone() { evansPairCut* c = new evansPairCut(*this); return c;}
54 
55 #endif