28#ifndef G4InterpolationManager_h
29#define G4InterpolationManager_h 1
57 if(start!=0)
delete [] start;
58 if(range!=0)
delete [] range;
59 if(scheme!=0)
delete [] scheme;
66 nRanges = aManager.nRanges;
67 nEntries = aManager.nEntries;
68 if(scheme!=0)
delete [] scheme;
69 if(start!=0)
delete [] start;
70 if(range!=0)
delete [] range;
72 start =
new G4int[nRanges];
73 range =
new G4int[nRanges];
74 for(
G4int i=0; i<nRanges; i++)
76 scheme[i]=aManager.scheme[i];
77 start[i]=aManager.start[i];
78 range[i]=aManager.range[i];
101 inline void Init(std::istream & aDataFile)
106 aDataFile >> nRanges;
107 start =
new G4int[nRanges];
108 range =
new G4int[nRanges];
112 for(
G4int i=0; i<nRanges; i++)
121 if(i!=0) start[i] = range[i-1];
126 nEntries = start[nRanges-1]+range[nRanges-1];
134 for(
G4int i=1; i<nRanges; i++)
136 if(index<start[i])
break;
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)