From e52636989ab7a317e622ad2e05aa4d38956b6584 Mon Sep 17 00:00:00 2001
From: Baptiste LENIAU <baptiste.leniau@subatech.in2p3.fr>
Date: Wed, 21 May 2014 13:03:32 +0000
Subject: [PATCH] Change ZAIMass object in order to read
 $CLASS_PATH/source/data/Mass.dat and fill the fZAIMass map rather than set by
 hand each mass.

git-svn-id: svn+ssh://svn.in2p3.fr/class@249 0e7d625b-0364-4367-a6be-d5be4a48d228
---
 source/trunk/src/ZAIMass.cxx | 41 +++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/source/trunk/src/ZAIMass.cxx b/source/trunk/src/ZAIMass.cxx
index b27fb7195..e44d880af 100644
--- a/source/trunk/src/ZAIMass.cxx
+++ b/source/trunk/src/ZAIMass.cxx
@@ -1,5 +1,5 @@
 #include "ZAIMass.hxx"
-
+#include "CLASSHeaders.hxx"
 	//________________________________________________________________________
 	//
 	//		ZAI
@@ -14,28 +14,31 @@
 
 ZAIMass::ZAIMass()
 {
-	fZAIMass.insert( pair< ZAI,double >( ZAI(90,232,0), 232000000e-6 ) );
-	
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,232,0), 232000000e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,233,0), 233000000e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,234,0), 234000000e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,235,0), 235043929.918e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,236,0), 236000000e-6 ) );	
-	fZAIMass.insert( pair< ZAI,double >( ZAI(92,238,0), 238050788.247e-6 ) );
-
-	fZAIMass.insert( pair< ZAI,double >( ZAI(94,238,0), 238049559.894e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(94,239,0), 239052163.381e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(94,240,0), 240053813.545e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(94,241,0), 241056851.456e-6 ) );
-	fZAIMass.insert( pair< ZAI,double >( ZAI(94,242,0), 242058742.611e-6 ) );
-	
-	fZAIMass.insert( pair< ZAI,double >( ZAI(95,241,0), 241056829.144e-6 ) );
-	
+	string  CLASSPATH = getenv("CLASS_PATH");
+	string	MassDataFile = CLASSPATH +"/source/data/Mass.dat";
+	ifstream infile(MassDataFile.c_str());	
+	if(!infile.good())
+	{	
+		cout<<"ZAIMass Error.\n can't find/open file "<<MassDataFile<<endl;
+		exit(1);
+	}
+
+	int Z,A;
+	string Name;
+	double MassUnity,MassDec,error;
+	while (infile>>Z>>A>>Name>>MassUnity>>MassDec>>error)
+	{
+		double Masse=MassUnity+MassDec*1e-6;
+		fZAIMass.insert( pair< ZAI,double >( ZAI(Z,A,0), Masse ) );
+	}
+
+	infile.close();
+
 }
 
 
 ZAIMass::~ZAIMass()
 {
-	
+	fZAIMass.clear();
 }
 
-- 
GitLab