diff --git a/Inputs/Reaction/10He.reaction b/Inputs/Reaction/10He.reaction index 88131ef7337071f599fcae8529eee4cf6e2856e6..9b4a9fc288d643bebd07e0bdcf4ecffbb2344e40 100644 --- a/Inputs/Reaction/10He.reaction +++ b/Inputs/Reaction/10He.reaction @@ -7,13 +7,13 @@ TransfertToResonance Target= 2H Light= 3He Heavy= 10He - ExcitationEnergy= 5.0 + ExcitationEnergy= 1.0 BeamEnergy= 550 BeamEnergySpread= 0 BeamFWHMX= 6.232 BeamFWHMY= 9.069 - BeamEmmitanceTheta= 0.69 - BeamEmmitancePhi= 0 + BeamEmmitanceTheta= 0.01208 + BeamEmmitancePhi= 0.01681 ResonanceDecayZ= 2 ResonanceDecayA= 8 CrossSectionPath= 11Li(d,3He)10He.txt diff --git a/NPAnalysis/10He_Riken/Analysis b/NPAnalysis/10He_Riken/Analysis index e4e550e76ef53467904d0205641e15791e9579a0..f5b004c15c19c002bffe3614626ee9f880d82d44 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 e0a66004be5b8c354e8e3f7175613fbd2c625d7a..f42981842a9a40aebd4476f7087cedfc4e020c5d 100644 --- a/NPAnalysis/10He_Riken/include/ObjectManager.hh +++ b/NPAnalysis/10He_Riken/include/ObjectManager.hh @@ -104,10 +104,11 @@ namespace ENERGYLOSS { // Declare your Energy loss here : - /* EnergyLoss ProtonTarget = EnergyLoss ( "CD2.txt" , - 100 , - 1 ); - */ + EnergyLoss He3Target = EnergyLoss ( "3He_Mylar.txt" , + 100 , + 1 , + 3 ); + } using namespace ENERGYLOSS ; diff --git a/NPAnalysis/10He_Riken/src/Analysis.cc b/NPAnalysis/10He_Riken/src/Analysis.cc index a86e9e19e3bc3581e41e6a8bd98326ad45e49b69..e23f787f3ca8e0b569b3066483ca515d8356bce2 100644 --- a/NPAnalysis/10He_Riken/src/Analysis.cc +++ b/NPAnalysis/10He_Riken/src/Analysis.cc @@ -39,8 +39,9 @@ int main(int argc,char** argv) RootOutput::getInstance()->GetTree()->Branch("Y",&Y,"Y/D") ; // Open the ThinSi Branch - RootInput::getInstance() -> GetTree()->SetBranchStatus(ThinSi,true) ; - RootInput::getInstance() -> GetTree()->SetBranchAddress(ThinSiEnergy,true) ; + RootInput::getInstance() -> GetChain()->SetBranchStatus("ThinSiEnergy",true) ; + double ThinSi=-1 ; + RootInput::getInstance() -> GetChain()->SetBranchAddress("ThinSiEnergy",&ThinSi) ; // Get Must2 Pointer: MUST2Array* M2 = (MUST2Array*) myDetector -> m_Detector["MUST2"] ; @@ -58,7 +59,15 @@ int main(int argc,char** argv) double E = M2 -> GetEnergyDeposit(); TVector3 A = M2 -> GetPositionOfInteraction(); + + if(ThinSi > 0) E = E + ThinSi ; + double Theta = ThetaCalculation ( A , TVector3(0,0,1) ) ; + + E= He3Target.EvaluateInitialEnergy( E , // Energy of the detected particle + 15*micrometer , // Target Thickness at 0 degree + Theta ); + if(E>-1000) Ex = myReaction -> ReconstructRelativistic( E , Theta ) ; else Ex = -100 ; EE = E ; TT = Theta/deg ; @@ -68,6 +77,7 @@ int main(int argc,char** argv) else{X = -1000 ; Y = -1000;} RootOutput::getInstance()->GetTree()->Fill() ; + ThinSi = -1 ; } cout << "A total of " << i << " event has been annalysed " << endl ; diff --git a/NPLib/Tools/NPEnergyLoss.cxx b/NPLib/Tools/NPEnergyLoss.cxx index db84d18f9ff3330df88e2ab45110b4ea35665af8..d478a388fb6903425f7c49b5668cde500fa7e964 100644 --- a/NPLib/Tools/NPEnergyLoss.cxx +++ b/NPLib/Tools/NPEnergyLoss.cxx @@ -31,8 +31,16 @@ EnergyLoss::~EnergyLoss() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... EnergyLoss::EnergyLoss(string Path , int NumberOfSlice=100 , int LiseColumn=0 , int NumberOfMass=1) { + fNumberOfSlice = NumberOfSlice ; fNumberOfMass = NumberOfMass ; + + string globalPath = getenv("NPTOOL"); + Path = globalPath + "/Inputs/dEdX/" + Path; + + cout << "///////////////////////////////// " << endl ; + cout << "Initialising an EnergyLoss object " << endl ; + //If LiseColumn is set to 0 File type is expected to be from SRIM if (LiseColumn == 0) { @@ -91,7 +99,9 @@ EnergyLoss::EnergyLoss(string Path , int NumberOfSlice=100 , int LiseColumn=0 , { cout << "Reading Energy Loss File: " << Path << endl ; // Reading Data double energy=0, energyloss=0; - string dummy; + string dummy; + // skipping comment first line + getline(TableFile,dummy); while ( TableFile >> energy ) { @@ -110,6 +120,8 @@ EnergyLoss::EnergyLoss(string Path , int NumberOfSlice=100 , int LiseColumn=0 , } + + cout << "///////////////////////////////// " << endl ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/NPLib/Tools/NPReaction.cxx b/NPLib/Tools/NPReaction.cxx index 872dae270797801a67d34f525f64399cea83353d..8517a5a33272de6e489d019c79c75d30186786f7 100644 --- a/NPLib/Tools/NPReaction.cxx +++ b/NPLib/Tools/NPReaction.cxx @@ -265,8 +265,8 @@ void Reaction::ReadConfigurationFile(string Path) ////////////////////////////////////////////////////////////////////////////////////////// ifstream ReactionFile; - string GlobalPath = getenv("NPTOOL"); - Path = GlobalPath + "/Inputs/Reaction/" + Path; + string GlobalPath = getenv("NPTOOL"); + Path = GlobalPath + "/Inputs/Reaction/" + Path; ReactionFile.open(Path.c_str()); if (ReactionFile.is_open()) {cout << "Reading Reaction File " << Path << endl ;}