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