added fractions for 34 and 14 lines for anisotropic Mu
This commit is contained in:
@ -114,8 +114,10 @@ PSimulateMuTransition::PSimulateMuTransition(UInt_t seed)
|
||||
fMuonDecayTime = 0.;
|
||||
fAsymmetry = 0.27;
|
||||
fMuFraction = 0.;
|
||||
fMuFractionState12 = 0.;
|
||||
fMuFractionState23 = 0.;
|
||||
fMuFractionState12 = 0.25;
|
||||
fMuFractionState34 = 0.25;
|
||||
fMuFractionState23 = 0.25;
|
||||
fMuFractionState14 = 0.25;
|
||||
fDebugFlag = kFALSE;
|
||||
}
|
||||
|
||||
@ -159,7 +161,9 @@ void PSimulateMuTransition::PrintSettings() const
|
||||
cout << endl << "Decay asymmetry = " << fAsymmetry;
|
||||
cout << endl << "Muonium fraction = " << fMuFraction;
|
||||
cout << endl << "Muonium fraction state12 = " << fMuFractionState12;
|
||||
cout << endl << "Muonium fraction state34 = " << fMuFractionState34;
|
||||
cout << endl << "Muonium fraction state23 = " << fMuFractionState23;
|
||||
cout << endl << "Muonium fraction state14 = " << fMuFractionState14;
|
||||
cout << endl << "Number of particles to simulate = " << fNmuons;
|
||||
cout << endl << "Initial muon spin phase (degree) = " << fInitialPhase;
|
||||
cout << endl << "Debug flag = " << fDebugFlag;
|
||||
@ -287,13 +291,11 @@ TComplex PSimulateMuTransition::GTFunction(const Double_t &time, const TString c
|
||||
complexPol = TComplex::Exp(-TComplex::I()*twoPi*fMuonPrecFreq*time);
|
||||
else{
|
||||
complexPol =
|
||||
0.5 * fMuFractionState12 *
|
||||
(TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq12*time) +
|
||||
TComplex::Exp(-TComplex::I()*twoPi*fMuPrecFreq34*time))
|
||||
(fMuFractionState12 * TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq12*time) +
|
||||
fMuFractionState34 * TComplex::Exp(-TComplex::I()*twoPi*fMuPrecFreq34*time))
|
||||
+
|
||||
0.5 * fMuFractionState23 *
|
||||
(TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq23*time) +
|
||||
TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq14*time));
|
||||
(fMuFractionState23 * TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq23*time) +
|
||||
fMuFractionState14 * TComplex::Exp(TComplex::I()*twoPi*fMuPrecFreq14*time));
|
||||
}
|
||||
|
||||
return complexPol;
|
||||
|
@ -60,7 +60,9 @@ class PSimulateMuTransition : public TObject
|
||||
virtual void SetDecayAsymmetry(Double_t value){ fAsymmetry = value; } //!< muon decay asymmetry
|
||||
virtual void SetMuFraction(Double_t value){ fMuFraction = value; } //!< Muonium fraction
|
||||
virtual void SetMuFractionState12(Double_t value){ fMuFractionState12 = value; }
|
||||
virtual void SetMuFractionState34(Double_t value){ fMuFractionState34 = value; }
|
||||
virtual void SetMuFractionState23(Double_t value){ fMuFractionState23 = value; }
|
||||
virtual void SetMuFractionState14(Double_t value){ fMuFractionState14 = value; }
|
||||
|
||||
virtual Bool_t IsValid() { return fValid; }
|
||||
virtual void SetSeed(UInt_t seed);
|
||||
@ -88,8 +90,10 @@ class PSimulateMuTransition : public TObject
|
||||
Double_t fMuonPhase; //!< phase of muon spin
|
||||
Double_t fAsymmetry; //!< muon decay asymmetry
|
||||
Double_t fMuFraction; //!< total Mu fraction [0,1]
|
||||
Double_t fMuFractionState12; //!< fraction of Mu in state 12, 34
|
||||
Double_t fMuFractionState23; //!< fraction of Mu in state 23, 14
|
||||
Double_t fMuFractionState12; //!< fraction of Mu in state 12
|
||||
Double_t fMuFractionState34; //!< fraction of Mu in state 34
|
||||
Double_t fMuFractionState23; //!< fraction of Mu in state 23
|
||||
Double_t fMuFractionState14; //!< fraction of Mu in state 14
|
||||
Int_t fNmuons; //!< number of muons to simulate
|
||||
Bool_t fDebugFlag; //!< debug flag
|
||||
|
||||
|
@ -65,8 +65,10 @@ void runMuSimulation()
|
||||
Double_t Freq23 = 256.245; //Mu freq of the 23 transition
|
||||
Double_t Freq14 = 356.245; //Mu freq of the 14 transition
|
||||
Double_t MuFrac = 1.0; //total Mu fraction
|
||||
Double_t MuFrac12 = 2*0.487; //Mu in states 12 and 34
|
||||
Double_t MuFrac23 = 2*0.013; //Mu in states 23 and 14
|
||||
Double_t MuFrac12 = 0.487; //weight of transition 12
|
||||
Double_t MuFrac34 = 0.487; //weight of transition 34
|
||||
Double_t MuFrac23 = 0.013; //weight of transition 23
|
||||
Double_t MuFrac14 = 0.013; //weight of transition 14
|
||||
Int_t Nmuons = 5e6; //number of muons
|
||||
Double_t Asym = 0.27; //muon decay asymmetry
|
||||
Int_t debugFlag = 0; //print debug information on screen
|
||||
@ -90,8 +92,10 @@ void runMuSimulation()
|
||||
simulateMuTransition->SetMuPrecFreq23(Freq23); // MHz
|
||||
simulateMuTransition->SetMuPrecFreq14(Freq14); // MHz
|
||||
simulateMuTransition->SetMuFraction(MuFrac); // initial Mu fraction
|
||||
simulateMuTransition->SetMuFractionState12(MuFrac12); // Mu in states 12, 34
|
||||
simulateMuTransition->SetMuFractionState23(MuFrac23); // Mu in states 23, 14
|
||||
simulateMuTransition->SetMuFractionState12(MuFrac12);
|
||||
simulateMuTransition->SetMuFractionState34(MuFrac34);
|
||||
simulateMuTransition->SetMuFractionState23(MuFrac23);
|
||||
simulateMuTransition->SetMuFractionState14(MuFrac14);
|
||||
simulateMuTransition->SetBfield(B/10000.); // Tesla
|
||||
simulateMuTransition->SetCaptureRate(capRate); // MHz
|
||||
simulateMuTransition->SetIonizationRate(ionRate); // MHz
|
||||
@ -169,7 +173,9 @@ void runMuSimulation()
|
||||
header->Set("Simulation/Mu0 Precession frequency 14", Freq14);
|
||||
header->Set("Simulation/Mu0 Fraction", MuFrac);
|
||||
header->Set("Simulation/Mu0 Fraction 12", MuFrac12);
|
||||
header->Set("Simulation/Mu0 Fraction 34", MuFrac34);
|
||||
header->Set("Simulation/Mu0 Fraction 23", MuFrac23);
|
||||
header->Set("Simulation/Mu0 Fraction 14", MuFrac14);
|
||||
header->Set("Simulation/muon Capture Rate", capRate);
|
||||
header->Set("Simulation/Mu0 Ionization Rate", ionRate);
|
||||
header->Set("Simulation/Mu0 Spin Flip Rate", spinFlipRate);
|
||||
|
Reference in New Issue
Block a user