From 2ac9e3fa9436cba693bd73d15d78d8e24828aba8 Mon Sep 17 00:00:00 2001
From: matta <matta@npt>
Date: Mon, 10 May 2010 00:31:06 +0000
Subject: [PATCH] * Fixing sever bug in NPS Target.cc 	- Pressure and some
 other critical element where read as int instead of float, occuring some
 problem for decimal value given by user

---
 NPSimulation/src/Target.cc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/NPSimulation/src/Target.cc b/NPSimulation/src/Target.cc
index f1cd88468..4d7973141 100644
--- a/NPSimulation/src/Target.cc
+++ b/NPSimulation/src/Target.cc
@@ -282,21 +282,21 @@ void Target::ReadConfiguration(string Path)
 	        else if (DataBuffer.compare(0, 2, "X=") == 0) {
 	        	check_X = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetX = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetX = atof(DataBuffer.c_str()) * mm;
 	            cout << "Target coordinate (mm): ( " << m_TargetX / mm << " ; ";
 	         }
 
 	        else if (DataBuffer.compare(0, 2, "Y=") == 0) {
 	        	check_Y = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetY = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetY = atof(DataBuffer.c_str()) * mm;
 	             cout << m_TargetY / mm << " ; ";
 	         }
 
 	        else if (DataBuffer.compare(0, 2, "Z=") == 0) {
 	        	check_Z = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetZ = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetZ = atof(DataBuffer.c_str()) * mm;
 	            cout  << m_TargetZ / mm << " )" << endl ;           
 	         }
 
@@ -343,13 +343,13 @@ void Target::ReadConfiguration(string Path)
 	        else if (DataBuffer.compare(0, 12, "TEMPERATURE=") == 0) {
 	        	check_Temperature = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetTemperature = atoi(DataBuffer.c_str());
+	            m_TargetTemperature = atof(DataBuffer.c_str());
 	         }
 
 	        else if (DataBuffer.compare(0, 9, "PRESSURE=") == 0) {
 	        	check_Pressure = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetPressure = atoi(DataBuffer.c_str());
+	            m_TargetPressure = atof(DataBuffer.c_str());
 	         }
 
 	        else if (DataBuffer.compare(0, 9, "MATERIAL=") == 0) {
@@ -362,7 +362,7 @@ void Target::ReadConfiguration(string Path)
 	        else if (DataBuffer.compare(0, 17, "WINDOWSTHICKNESS=") == 0) {
 	        	check_WinThickness = true ;
 	            ConfigFile >> DataBuffer;
-	            m_WindowsThickness = atoi(DataBuffer.c_str()) * micrometer;
+	            m_WindowsThickness = atof(DataBuffer.c_str()) * micrometer;
 	            cout << "Windows Thickness: " <<    m_WindowsThickness / micrometer << "um" << endl   ;
 	         }
 
@@ -376,21 +376,21 @@ void Target::ReadConfiguration(string Path)
 	        else if (DataBuffer.compare(0, 2, "X=") == 0) {
 	        	check_X = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetX = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetX = atof(DataBuffer.c_str()) * mm;
 	            cout << "Target coordinate (mm): ( " << m_TargetX / mm << " ; ";
 	         }
 
 	       else if (DataBuffer.compare(0, 2, "Y=") == 0) {
 	            check_Y = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetY = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetY = atof(DataBuffer.c_str()) * mm;
 	            cout << m_TargetY / mm << " ; ";
 	         }
 
 	        else if (DataBuffer.compare(0, 2, "Z=") == 0) {
 	            check_Z = true ;
 	            ConfigFile >> DataBuffer;
-	            m_TargetZ = atoi(DataBuffer.c_str()) * mm;
+	            m_TargetZ = atof(DataBuffer.c_str()) * mm;
 	            cout << m_TargetZ / mm << " )" << endl ;
 	         }
 
-- 
GitLab