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