56 : zMin(minZ), zMax(maxZ)
60 LoadBiggsP(
"/doppler/p-biggs");
64 LoadProfile(
"/doppler/profile",
Z);
71 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::iterator pos;
72 for (pos = profileMap.begin(); pos != profileMap.end(); ++pos)
84 if (Z>= zMin && Z <= zMax) n = nShells[Z-1];
91 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::const_iterator pos;
92 if (Z < zMin || Z > zMax)
95 pos = profileMap.find(Z);
119 void G4DopplerProfile::LoadBiggsP(
const G4String& fileName)
121 std::ostringstream ost;
122 ost << fileName <<
".dat";
125 char* path = getenv(
"G4LEDATA");
135 std::ifstream
file(dirFile);
136 std::filebuf* lsdp =
file.rdbuf();
138 if (! (lsdp->is_open()) )
155 if (biggsP.size() != nBiggs)
161 void G4DopplerProfile::LoadProfile(
const G4String& fileName,
G4int Z)
163 std::ostringstream ost;
164 ost << fileName <<
"-" << Z <<
".dat";
167 char* path = getenv(
"G4LEDATA");
170 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;
const G4VEMDataSet * Profiles(G4int Z) const
virtual G4VDataSetAlgorithm * Clone() const =0
size_t NumberOfProfiles(G4int Z) const
virtual const G4VEMDataSet * GetComponent(G4int componentId) const =0
const G4VEMDataSet * Profile(G4int Z, G4int ShellIndex) const
virtual void AddComponent(G4VEMDataSet *dataSet)=0
virtual G4double RandomSelect(G4int componentId=0) const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual void PrintData(void) const =0
G4DopplerProfile(G4int minZ=1, G4int maxZ=100)
const XML_Char int const XML_Char * value
G4double RandomSelectMomentum(G4int Z, G4int shellIndex) const