82 const bool iselectron);
89 void BuildSamplingTables();
91 void InitSamplingTables();
95 void LoadSamplingTables(
G4int iz);
97 void ReadCompressedFile(
const G4String &fname, std::istringstream &iss);
111 std::vector<G4double> fCumCutValues;
113 std::vector<STPoint> fSTable;
118 struct SamplingTablePerZ {
119 SamplingTablePerZ() : fNumGammaCuts(0), fMinElEnergyIndx(-1), fMaxElEnergyIndx(-1) {}
120 size_t fNumGammaCuts;
121 G4int fMinElEnergyIndx;
122 G4int fMaxElEnergyIndx;
123 std::vector<STable*> fTablesPerEnergy;
125 std::vector<G4double> fGammaECuts;
126 std::vector<G4double> fLogGammaECuts;
128 std::vector<size_t> fMatCutIndxToGamCutIndx;
130 std::vector< std::vector<size_t> > fGamCutIndxToMatCutIndx;
134 G4int LinSearch(
const std::vector<STPoint>& vect,
152 std::vector<G4double> fElEnergyVect;
153 std::vector<G4double> fLElEnergyVect;
154 std::vector<G4double> fKappaVect;
155 std::vector<G4double> fLKappaVect;
158 std::vector<SamplingTablePerZ*> fSBSamplingTables;
double SampleEnergyTransfer(const G4double eekin, const G4double leekin, const G4double gcut, const G4double dielSupConst, const G4int izet, const G4int matCutIndx, const bool iselectron)