55 : zMin(minZ), zMax(maxZ)
59 LoadBiggsP(
"/doppler/p-biggs");
61 for (
G4int Z=zMin; Z<zMax+1; Z++)
63 LoadProfile(
"/doppler/profile",Z);
70 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::iterator pos;
71 for (pos = profileMap.begin(); pos != profileMap.end(); ++pos)
83 if (Z>= zMin && Z <= zMax) n = nShells[Z-1];
90 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::const_iterator pos;
91 if (Z < zMin || Z > zMax)
94 pos = profileMap.find(Z);
110 for (
G4int Z=zMin; Z<zMax; Z++)
118void G4DopplerProfile::LoadBiggsP(
const G4String& fileName)
120 std::ostringstream ost;
121 ost << fileName <<
".dat";
124 char* path = std::getenv(
"G4LEDATA");
134 std::ifstream file(dirFile);
135 std::filebuf* lsdp = file.rdbuf();
137 if (! (lsdp->is_open()) )
154 if (biggsP.size() != nBiggs)
160void G4DopplerProfile::LoadProfile(
const G4String& fileName,
G4int Z)
162 std::ostringstream ost;
163 ost << fileName <<
"-" << Z <<
".dat";
166 char* path = std::getenv(
"G4LEDATA");
169 G4String excep(
"G4LEDATA environment variable not set");
177 std::ifstream file(dirFile);
178 std::filebuf* lsdp = file.rdbuf();
180 if (! (lsdp->is_open()) )
203 for (
size_t i=0; i<nBiggs; i++)
207 biggs->push_back(biggsP[i]);
220 nShells.push_back(nShell);
222 profileMap[Z] = dataSetForZ;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
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
const char * name(G4int ptype)