00001 #ifndef evansPairCut_hh
00002 #define evansPairCut_hh
00003
00004
00005
00006
00007
00008 #include "StHbtMaker/Base/StHbtPairCut.h"
00009 #include "StHbtMaker/Infrastructure/StParityAnalysis.h"
00010 #include "StHbtMaker/Infrastructure/StParityTypes.hh"
00011
00012 class evansPairCut : public StHbtPairCut{
00013 public:
00014 evansPairCut();
00015 evansPairCut(const evansPairCut&);
00016
00017
00018 virtual bool Pass(const StHbtPair*);
00019 void SetAngleCut(double);
00020 void SetPCutDistance(double);
00021 virtual void ParityPairCuts(ParityBuff*, ParityBuff*);
00022 virtual StHbtString Report();
00023 evansPairCut* Clone();
00024
00025
00026 private:
00027 long mNPairsPassed;
00028 long mNPairsFailed;
00029 double AngleCut;
00030 double pCutDistance;
00031 double Bfield;
00032
00033
00034 #ifdef __ROOT__
00035 ClassDef(evansPairCut, 1)
00036 #endif
00037 };
00038
00039 inline evansPairCut::evansPairCut(const evansPairCut& c) : StHbtPairCut(c) {
00040 mNPairsPassed = 0;
00041 mNPairsFailed = 0;
00042
00043 }
00044
00045 inline void evansPairCut::SetAngleCut(double CutValue) {
00046 AngleCut = CutValue;
00047 }
00048
00049 inline void evansPairCut::SetPCutDistance(double CutValue) {
00050 pCutDistance = CutValue;
00051 }
00052
00053 inline evansPairCut* evansPairCut::Clone() { evansPairCut* c = new evansPairCut(*this); return c;}
00054
00055 #endif