00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "StHbtMaker/Base/StHbtThPair.hh"
00018 #include "StHbtMaker/ThCorrFctn/StHbtFsiQuantStat.h"
00019 #include "StarClassLibrary/PhysicalConstants.h"
00020 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00021
00022 #ifdef __ROOT__
00023 ClassImp(StHbtFsiQuantStat)
00024 #endif
00025 double StHbtFsiQuantStat::GetWeight(const StHbtThPair* aThPair){
00026
00027 if (aThPair->GetPid1()==aThPair->GetPid2()){
00028 int tSpin=abs(aThPair->GetPid1())%10;
00029 if (tSpin==0) return 1;
00030 double tSpinFactor=-::pow(-1.,tSpin)/tSpin;
00031 StHbtLorentzVector q= *(aThPair->GetRealMomentum1())-
00032 *(aThPair->GetRealMomentum2());
00033 StHbtLorentzVector r=*(aThPair->GetEmPoint1())-
00034 *(aThPair->GetEmPoint2());
00035 double wei=(1.+tSpinFactor*cos((double)(q*r)*fermi/hbarc));
00036 return wei;
00037 } else {
00038 return 1;
00039 }
00040 }
00041
00042
00043