56 : zMin(minZ), zMax(maxZ)
60 LoadBiggsP(
"/doppler/p-biggs");
62 for (
G4int Z=zMin; Z<zMax+1; Z++)
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);
111 for (
G4int Z=zMin; Z<zMax; Z++)
119void G4DopplerProfile::LoadBiggsP(
const G4String& fileName)
121 std::ostringstream ost;
122 ost << fileName <<
".dat";
125 char* path = getenv(
"G4LEDATA");
134 G4String dirFile = pathString + name;
135 std::ifstream file(dirFile);
136 std::filebuf* lsdp = file.rdbuf();
138 if (! (lsdp->is_open()) )
155 if (biggsP.size() != nBiggs)
161void 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");
177 G4String dirFile = pathString + name;
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
size_t NumberOfProfiles(G4int Z) const
G4DopplerProfile(G4int minZ=1, G4int maxZ=100)
const G4VEMDataSet * Profile(G4int Z, G4int ShellIndex) const
G4double RandomSelectMomentum(G4int Z, G4int shellIndex) const
virtual G4VDataSetAlgorithm * Clone() const =0
virtual const G4VEMDataSet * GetComponent(G4int componentId) const =0
virtual G4double RandomSelect(G4int componentId=0) const =0
virtual void AddComponent(G4VEMDataSet *dataSet)=0
virtual void PrintData(void) const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)