diff --git a/source/trunk/src/ZAIMass.cxx b/source/trunk/src/ZAIMass.cxx
index b27fb719559ec859f6bab5a69e5df212e3ea80a3..e44d880af1bcf5ee42a53cc1e2e0413969d33bf5 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();
 }