57 : zMin(minZ), zMax(maxZ)
61 LoadBiggsP(
"/doppler/p-biggs");
65 LoadProfile(
"/doppler/profile",
Z);
72 std::map<G4int,G4RDVEMDataSet*,std::less<G4int> >::iterator pos;
73 for (pos = profileMap.begin(); pos != profileMap.end(); ++pos)
85 if (Z>= zMin && Z <= zMax) n = nShells[Z-1];
92 std::map<G4int,G4RDVEMDataSet*,std::less<G4int> >::const_iterator pos;
93 if (Z < zMin || Z > zMax)
94 G4Exception(
"G4RDDopplerProfile::Profiles()",
"OutOfRange",
96 pos = profileMap.find(Z);
120 void G4RDDopplerProfile::LoadBiggsP(
const G4String& fileName)
122 std::ostringstream ost;
123 ost << fileName <<
".dat";
126 char* path = getenv(
"G4LEDATA");
129 G4String excep(
"G4LEDATA environment variable not set!");
136 std::ifstream
file(dirFile);
137 std::filebuf* lsdp =
file.rdbuf();
139 if (! (lsdp->is_open()) )
156 if (biggsP.size() != nBiggs)
157 G4Exception(
"G4RDDopplerProfile::LoadBiggsP()",
"InvalidCondition",
162 void G4RDDopplerProfile::LoadProfile(
const G4String& fileName,
G4int Z)
164 std::ostringstream ost;
165 ost << fileName <<
"-" << Z <<
".dat";
168 char* path = getenv(
"G4LEDATA");
171 G4String excep(
"G4LEDATA environment variable not set!");
178 std::ifstream
file(dirFile);
179 std::filebuf* lsdp =
file.rdbuf();
181 if (! (lsdp->is_open()) )
204 for (
size_t i=0; i<nBiggs; i++)
208 biggs->push_back(biggsP[i]);
221 nShells.push_back(nShell);
223 profileMap[
Z] = dataSetForZ;
G4RDDopplerProfile(G4int minZ=1, G4int maxZ=100)
virtual G4RDVDataSetAlgorithm * Clone() const =0
const G4RDVEMDataSet * Profile(G4int Z, G4int ShellIndex) const
virtual const G4RDVEMDataSet * GetComponent(G4int componentId) const =0
size_t NumberOfProfiles(G4int Z) const
const G4RDVEMDataSet * Profiles(G4int Z) const
virtual void PrintData(void) const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double RandomSelectMomentum(G4int Z, G4int shellIndex) const
const XML_Char int const XML_Char * value
virtual G4double RandomSelect(G4int componentId=0) const =0
virtual void AddComponent(G4RDVEMDataSet *dataSet)=0