diff --git a/NPAnalysis/10He_Riken/Analysis b/NPAnalysis/10He_Riken/Analysis index e9398425686fe76955511aabcdfd989585e265d7..4971deaa460a2813721916eea8cdb3f2d6cec81b 100755 Binary files a/NPAnalysis/10He_Riken/Analysis and b/NPAnalysis/10He_Riken/Analysis differ diff --git a/NPAnalysis/10He_Riken/include/ObjectManager.hh b/NPAnalysis/10He_Riken/include/ObjectManager.hh index 0e6cd2b569689527a0b221415fdd7ba0f6a3dd4e..01328403c184a28c276191c6bf3ee44d45d37992 100644 --- a/NPAnalysis/10He_Riken/include/ObjectManager.hh +++ b/NPAnalysis/10He_Riken/include/ObjectManager.hh @@ -106,23 +106,23 @@ namespace ENERGYLOSS // Declare your Energy loss here : EnergyLoss He3TargetWind = EnergyLoss ( "3He_Mylar.txt" , - 1000 , + 1000 , 1 , 3 ); - EnergyLoss He3TargetGaz = EnergyLoss ( "3He_D2gaz_1b_26K.txt" , + EnergyLoss He3TargetGaz = EnergyLoss ( "xxx.txt" , 1000 , 1 , 3 ); EnergyLoss He3StripAl = EnergyLoss ( "3He_Al.txt" , - 1000 , + 1000 , 1 , 3 ); EnergyLoss He3StripSi = EnergyLoss ( "3He_Si.txt" , - 1000 , - 1 , + 1000 , + 3 , 3 ); } diff --git a/NPAnalysis/10He_Riken/src/Analysis.cc b/NPAnalysis/10He_Riken/src/Analysis.cc index a5994dbe2e865ca321137b851fbd009dde41d0f6..0590389099f7fa15289dabc9fdcabb8f66eb1e05 100644 --- a/NPAnalysis/10He_Riken/src/Analysis.cc +++ b/NPAnalysis/10He_Riken/src/Analysis.cc @@ -78,25 +78,20 @@ double TrueE=0 ; double TrueTheta=0 ; TVector3 BeamDirection = TVector3(0,0,1) ; BeamDirection.SetTheta(BeamTheta) ; BeamDirection.SetPhi(BeamPhi) ; double Theta = ThetaCalculation ( HitDirection , BeamDirection ) ; double ThetaN = ThetaCalculation ( HitDirection , TVector3(0,0,1) ) ; - + double ThetaMM2Surface = ThetaCalculation ( HitDirection , M2 -> GetPositionOfInteraction() ); + if(E>-1000 && ThinSi>0 ) { - - //E=E+ThinSi; + E= He3StripAl.EvaluateInitialEnergy( E , // Energy of the detected particle + 2*0.4*micrometer , // Target Thickness at 0 degree + ThetaMM2Surface ); + E = E + ThinSi ; -// E= He3StripAl.EvaluateInitialEnergy( E , // Energy of the detected particle -// 2*2*0.4*micrometer , // One for ThinSi and one for Must -// 0 ); - - E= He3StripAl.EvaluateInitialEnergy( E , // Energy of the detected particle - 0.4*micrometer , // Target Thickness at 0 degree - 0 ); -// -// double Eb= He3StripSi.EvaluateInitialEnergy( E , // Energy of the detected particle -// 20*micrometer , // Target Thickness at 0 degree -// 0 ); + E= He3StripAl.EvaluateInitialEnergy( E , // Energy of the detected particle + 0.4*micrometer , // Target Thickness at 0 degree + ThetaMM2Surface ); - //cout << E << " " << Eb-E << " " << ThinSi << endl ; + // cout << E << " " << Eb-E << " " << ThinSi << endl ; E= He3TargetWind.EvaluateInitialEnergy( E , // Energy of the detected particle 15*micrometer , // Target Thickness at 0 degree @@ -138,12 +133,10 @@ double TrueE=0 ; double TrueTheta=0 ; else if(E>-1000 ) { - - - + E= He3StripAl.EvaluateInitialEnergy( E , // Energy of the detected particle - 0.4*micrometer , - 0 ); + 0.4*micrometer , // Target Thickness at 0 degree + ThetaMM2Surface ); E= He3TargetWind.EvaluateInitialEnergy( E , // Energy of the detected particle 15*micrometer , // Target Thickness at 0 degree diff --git a/NPLib/Tools/NPEnergyLoss.cxx b/NPLib/Tools/NPEnergyLoss.cxx index 360ffe49b9658c6f98ee63dc21954d0d6f59cf2a..f7bd696f5ab6999c5b120360e1422d6f3ea20392 100644 --- a/NPLib/Tools/NPEnergyLoss.cxx +++ b/NPLib/Tools/NPEnergyLoss.cxx @@ -238,7 +238,7 @@ double EnergyLoss::EvaluateInitialEnergy( double Energy , // Energy of the de for (int i = 0; i < fNumberOfSlice ; i++) { double de = fInter->Eval(Energy) * SliceThickness ; - Energy += de ; + Energy += de/fNumberOfMass ; } return (Energy*fNumberOfMass) ; diff --git a/NPSimulation/src/MUST2Array.cc b/NPSimulation/src/MUST2Array.cc index 2a8f46bf6cc86d82c5546232584735a52f8f2c18..78a36ec21be3071e8bf459482f26af4021321147 100644 --- a/NPSimulation/src/MUST2Array.cc +++ b/NPSimulation/src/MUST2Array.cc @@ -898,7 +898,6 @@ void MUST2Array::InitializeRootOutput() // Called at in the EventAction::EndOfEventAvtion void MUST2Array::ReadSensitive(const G4Event* event) { - bool checkSi = false ; G4String DetectorNumber ; m_Event->Clear() ; @@ -939,7 +938,6 @@ void MUST2Array::ReadSensitive(const G4Event* event) G4THitsMap<G4double>* CsIEnergyHitMap ; ////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// - checkSi = false; // Read the Scorer associate to the Silicon Strip @@ -1017,11 +1015,9 @@ void MUST2Array::ReadSensitive(const G4Event* event) G4int ETrackID = Energy_itr->first ; G4double E = *(Energy_itr->second) ; G4int N = 0 ; - checkSi = false ; if (E > 0) { - checkSi = true ; m_Event->SetMMStripXEEnergy(RandGauss::shoot(E, ResoStrip)) ; m_Event->SetMMStripYEEnergy(RandGauss::shoot(E, ResoStrip)) ; diff --git a/NPSimulation/src/ThinSi.cc b/NPSimulation/src/ThinSi.cc index 88e236f3fbb5029005967fb0747d278519f864d1..96794d603f1322e7a0af3e38fc7a6b865ac96f1d 100644 --- a/NPSimulation/src/ThinSi.cc +++ b/NPSimulation/src/ThinSi.cc @@ -588,7 +588,6 @@ void ThinSi::InitializeRootOutput() void ThinSi::ReadSensitive(const G4Event* event) { G4String DetectorNumber ; - bool checkSi = false ; m_Energy = 0 ; ////////////////////////////////////////////////////////////////////////////////////// //////////////////////// Used to Read Event Map of detector ////////////////////////// @@ -602,7 +601,7 @@ void ThinSi::ReadSensitive(const G4Event* event) ////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// - G4int HitNumber = 0; + G4int NumberOfDetector = m_DefinitionType.size() ; for (G4int i = 0 ; i < NumberOfDetector ; i++) { G4int k = i + 1; @@ -622,14 +621,9 @@ void ThinSi::ReadSensitive(const G4Event* event) G4double E = *(Energy_itr->second) ; if (E > 0) { - checkSi = true ; m_Energy = RandGauss::shoot(E, ResoEnergy); } - Energy_itr++; - if (checkSi) { - HitNumber++ ; - } } // clear map for next event EnergyHitMap ->clear() ;