diff --git a/NPAnalysis/10He_Riken/Analysis b/NPAnalysis/10He_Riken/Analysis deleted file mode 100755 index 801b0f0f9e7cdb9d7fa1f5354098e6f1415ab2d4..0000000000000000000000000000000000000000 Binary files a/NPAnalysis/10He_Riken/Analysis and /dev/null differ diff --git a/NPAnalysis/Gaspard/include/ObjectManager.hh b/NPAnalysis/Gaspard/include/ObjectManager.hh index beaa696da29c95da8214bffd50b8990f0cd8217e..c1a4d0cb2f862efe906208f311a9735b3c616095 100644 --- a/NPAnalysis/Gaspard/include/ObjectManager.hh +++ b/NPAnalysis/Gaspard/include/ObjectManager.hh @@ -104,7 +104,9 @@ using namespace NPL ; namespace ENERGYLOSS { // Declare your Energy loss here - EnergyLoss DeutonTargetCD2 = EnergyLoss("deuton_cd2.txt", 100, 1, 2); +// EnergyLoss LightTargetCD2 = EnergyLoss("proton_cd2.txt", 100, 1, 1); // LISE++ + EnergyLoss LightTarget = EnergyLoss("proton_CD2.G4table", "G4Table", 1000); // G4 + EnergyLoss BeamTarget = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000); // G4 } using namespace ENERGYLOSS ; diff --git a/NPAnalysis/Gaspard/src/Analysis.cc b/NPAnalysis/Gaspard/src/Analysis.cc index fd5fa023e10a1a60c23a092593a36c8a452ced69..9239da4a9b48fd1cb0ab68758d86146c590a6bc7 100644 --- a/NPAnalysis/Gaspard/src/Analysis.cc +++ b/NPAnalysis/Gaspard/src/Analysis.cc @@ -30,8 +30,14 @@ int main(int argc,char** argv) NPA::DetectorManager* myDetector = new DetectorManager; myDetector->ReadConfigurationFile(detectorfileName); - // Print target thickness - cout << myDetector->GetTargetThickness() << endl; + // nominal beam energy + Double_t BeamEnergyNominal = myReaction->GetBeamEnergy() * MeV; + cout << BeamEnergyNominal << endl; + // slow beam at target middle + Double_t BeamEnergy = BeamEnergyNominal - BeamTarget.Slow(BeamEnergyNominal, myDetector->GetTargetThickness()/2 * micrometer, 0); + cout << BeamEnergy << endl; + // set energy beam at target middle + myReaction->SetBeamEnergy(BeamEnergy); // Attach more branch to the output double Ex = 0 ; double ExNoStrips = 0 ; double EE = 0 ; double TT = 0 ; double X = 0 ; double Y = 0 ; int det ; @@ -81,7 +87,7 @@ int main(int argc,char** argv) ThetaStrip = ThetaCalculation (A ,TVector3(0,0,1)); // Correct for energy loss in the target - E = DeutonTargetCD2.EvaluateInitialEnergy(E, 5.15*micrometer, ThetaStrip); + E = LightTarget.EvaluateInitialEnergy(E, myDetector->GetTargetThickness()/2 * micrometer, ThetaStrip); // Calculate excitation energy if (Theta/deg > 90) { diff --git a/NPLib/Makefile b/NPLib/Makefile index b9158c7b7aac4171648a27652076a40eefd30898..39b24f4098774d6cd05912264b62e00345601712 100644 --- a/NPLib/Makefile +++ b/NPLib/Makefile @@ -425,6 +425,7 @@ endif make distclean -C ./InteractionCoordinates make distclean -C ./InitialConditions make distclean -C ./DummyDetector + make distclean -C ./Plastic .SUFFIXES: .$(SrcSuf) ### diff --git a/NPSimulation/src/EventGeneratorTransfert.cc b/NPSimulation/src/EventGeneratorTransfert.cc index 894f882a5727d920bd1ac0f2b1f87dc7c838b37c..e30585f7f0bace34e7f3eeea56fda8ba6e05d8da 100644 --- a/NPSimulation/src/EventGeneratorTransfert.cc +++ b/NPSimulation/src/EventGeneratorTransfert.cc @@ -62,18 +62,20 @@ EventGeneratorTransfert::EventGeneratorTransfert() m_ShootLight = 0; m_ShootHeavy = 0; } + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void EventGeneratorTransfert::SetTarget(Target* Target) - { - if(Target!=0) - { - m_Target = Target; - G4int LightZ = m_Reaction->GetNucleus3()->GetZ() ; - G4int LightA = m_Reaction->GetNucleus3()->GetA() ; - m_Target->WriteDEDXTable(G4ParticleTable::GetParticleTable()->GetIon(LightZ,LightA, 0.) ,0, m_BeamEnergy); - } - +void EventGeneratorTransfert::SetTarget(Target* Target) +{ + if (Target != 0) { + m_Target = Target; + G4int LightZ = m_Reaction->GetNucleus3()->GetZ(); + G4int LightA = m_Reaction->GetNucleus3()->GetA(); + m_Target->WriteDEDXTable(G4ParticleTable::GetParticleTable()->GetIon(LightZ,LightA, 0.) ,0, m_BeamEnergy); } +} + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... EventGeneratorTransfert::~EventGeneratorTransfert() { @@ -384,16 +386,16 @@ void EventGeneratorTransfert::GenerateEvent(G4Event* anEvent , G4ParticleGun* pa G4double FinalBeamEnergy = 0 ; G4double InitialBeamEnergy = RandGauss::shoot(m_BeamEnergy, m_BeamEnergySpread); - m_Target->CalculateBeamInteraction( 0, m_SigmaX, 0, m_SigmaThetaX, - 0, m_SigmaY, 0, m_SigmaPhiY, - InitialBeamEnergy, - BeamName, - InterCoord, Beam_thetaX, Beam_phiY, - Beam_theta, Beam_phi, - FinalBeamEnergy); + m_Target->CalculateBeamInteraction(0, m_SigmaX, 0, m_SigmaThetaX, + 0, m_SigmaY, 0, m_SigmaPhiY, + InitialBeamEnergy, + BeamName, + InterCoord, Beam_thetaX, Beam_phiY, + Beam_theta, Beam_phi, + FinalBeamEnergy); - m_Reaction->SetBeamEnergy(FinalBeamEnergy); - m_InitConditions->SetICIncidentEnergy(FinalBeamEnergy / MeV); + m_Reaction->SetBeamEnergy(FinalBeamEnergy); + m_InitConditions->SetICIncidentEnergy(FinalBeamEnergy / MeV); // write vertex position to ROOT file G4double x0 = InterCoord.x(); diff --git a/NPSimulation/src/Target.cc b/NPSimulation/src/Target.cc index 51eba32448deaa208974316e2729fddc5e7b8902..09bf750a14c7532cd4fd669bcb26abaf43467de1 100644 --- a/NPSimulation/src/Target.cc +++ b/NPSimulation/src/Target.cc @@ -292,7 +292,7 @@ void Target::ReadConfiguration(string Path) cout << m_TargetZ / mm << " )" << endl ; } - else if (DataBuffer.compare(0, 9, "NbLayers=") == 0) { + else if (DataBuffer.compare(0, 9, "NBLAYERS=") == 0) { check_m_TargetNbLayers = true ; ConfigFile >> DataBuffer; m_TargetNbLayers = atoi(DataBuffer.c_str()); @@ -386,7 +386,7 @@ void Target::ReadConfiguration(string Path) cout << m_TargetZ / mm << " )" << endl ; } - else if (DataBuffer.compare(0, 9, "m_TargetNbLayers=") == 0) { + else if (DataBuffer.compare(0, 9, "NBLAYERS=") == 0) { check_m_TargetNbLayers = true ; ConfigFile >> DataBuffer; m_TargetNbLayers = atoi(DataBuffer.c_str());