28#ifndef G4InterpolationManager_h
29#define G4InterpolationManager_h 1
64 if (
this != &aManager) {
65 nRanges = aManager.nRanges;
66 nEntries = aManager.nEntries;
71 start =
new G4int[nRanges];
72 range =
new G4int[nRanges];
73 for (
G4int i = 0; i < nRanges; i++) {
74 scheme[i] = aManager.scheme[i];
75 start[i] = aManager.start[i];
76 range[i] = aManager.range[i];
99 inline void Init(std::istream& aDataFile)
104 aDataFile >> nRanges;
105 start =
new G4int[nRanges];
106 range =
new G4int[nRanges];
110 for (
G4int i = 0; i < nRanges; i++) {
111 aDataFile >> range[i];
118 if (i != 0) start[i] = range[i - 1];
123 nEntries = start[nRanges - 1] + range[nRanges - 1];
131 for (
G4int i = 1; i < nRanges; i++) {
132 if (index < start[i])
break;
147 if (result ==
HISTO) {
150 else if (result ==
LINLOG) {
153 else if (result ==
LOGLIN) {
156 else if (result ==
CHISTO) {
165 else if (result ==
UHISTO) {
void AppendScheme(G4int aPoint, const G4InterpolationScheme &aScheme)
G4InterpolationScheme MakeScheme(G4int it)
void Init(G4int aScheme, G4int aRange)
~G4InterpolationManager()
void Init(std::istream &aDataFile)
G4InterpolationScheme GetScheme(G4int index) const
G4InterpolationManager & operator=(const G4InterpolationManager &aManager)
void Init(G4InterpolationScheme aScheme, G4int aRange)
G4InterpolationScheme GetInverseScheme(G4int index)