48 std::vector<G4double>* ptr =
nullptr;
49 if(
nullptr == p ||
nullptr == part) {
return ptr; }
57 ptr =
new std::vector<G4double>;
63 if(nbin < 4) { nbin = 4; }
67 for (
size_t i=0; i<n; ++i) {
68 auto mat = (*theMatTable)[i];
72 for(
G4int j=0; j<=nbin; ++j) {
77 e = (j+1 < nbin) ? e*x : emax;
96std::vector<G4TwoPeaksHadXS*>*
102 std::vector<G4TwoPeaksHadXS*>* ptr =
nullptr;
103 if(
nullptr == p) {
return ptr; }
111 ptr =
new std::vector<G4TwoPeaksHadXS*>;
112 ptr->resize(n,
nullptr);
114 G4double e1peak, e1deep, e2peak, e2deep, e3peak;
119 if(nbin < 4) { nbin = 4; }
122 for (
size_t i=0; i<n; ++i) {
123 auto mat = (*theMatTable)[i];
127 e1peak = e1deep = e2peak = e2deep = e3peak =
DBL_MAX;
128 for(
G4int j=0; j<=nbin; ++j) {
129 e = (j+1 < nbin) ? e*fact : emax;
198 for (
auto& x : *ptr) {
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
std::vector< G4Material * > G4MaterialTable
static std::vector< G4TwoPeaksHadXS * > * FillPeaksStructure(G4HadronicProcess *, const G4ParticleDefinition *, const G4double tmin, const G4double tmax)
static std::vector< G4double > * FindCrossSectionMax(G4HadronicProcess *, const G4ParticleDefinition *, const G4double tmin, const G4double tmax)
G4double ComputeCrossSection(const G4ParticleDefinition *, const G4Material *, const G4double kinEnergy)
static std::size_t GetNumberOfMaterials()
static G4MaterialTable * GetMaterialTable()