32#ifndef G4ParticleHPContAngularPar_h
33#define G4ParticleHPContAngularPar_h 1
60 : fresh(
true),currentMeanEnergy(-2.0),remaining_energy(0.0),
61 theTargetCode(-1.0),theTarget(0),thePrimary(0) {}
76 nDiscreteEnergies = -1;
77 nAngularParameters = -1;
84 theEnergy = val.theEnergy;
85 nEnergies = val.nEnergies;
86 nDiscreteEnergies = val.nDiscreteEnergies;
87 nAngularParameters= val.nAngularParameters;
88 theProjectile = val.theProjectile;
89 theManager = val.theManager;
91 adjustResult = val.adjustResult;
92 theMinEner = val.theMinEner;
93 theMaxEner = val.theMaxEner;
94 theEnergiesTransformed = val.theEnergiesTransformed;
95 theDiscreteEnergies = val.theDiscreteEnergies;
96 theDiscreteEnergiesOwn = val.theDiscreteEnergiesOwn;
99 for(
G4int ie=0;ie<nEnergies;++ie) {
101 for(
G4int ip=0;ip<nAngularParameters;++ip) {
111 if (theAngular !=0 )
delete [] theAngular;
112 if (fCache.
Get() != 0)
delete fCache.
Get();
127 fCache.
Get()->thePrimary = aPrimary;
132 fCache.
Get()->theTarget = aTarget;
137 fCache.
Get()->theTargetCode = aTargetCode;
142 theManager.
Init(theInterpolation, nEnergies);
155 if(fCache.
Get()->currentMeanEnergy<-1)
162 result = fCache.
Get()->currentMeanEnergy;
164 fCache.
Get()->currentMeanEnergy = -2;
174 return nDiscreteEnergies;
178 return theEnergiesTransformed;
182 return (
G4int)theEnergiesTransformed.size();
194 return theDiscreteEnergiesOwn;
203 if ( fCache.
Get() == 0 ) cacheInit();
204 fCache.
Get()->fresh =
true;
216 G4int nDiscreteEnergies;
218 G4int nAngularParameters;
231 toBeCached* val =
new toBeCached;
232 val->currentMeanEnergy = -2;
233 val->remaining_energy = 0;
246 std::set<G4double> theEnergiesTransformed;
247 std::set<G4double> theDiscreteEnergies;
248 std::map<G4double,G4int> theDiscreteEnergiesOwn;
void Put(const value_type &val) const
void Init(G4int aScheme, G4int aRange)
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass, G4int angularRep, G4int interpol)
void PrepareTableInterpolation()
G4ParticleHPList * GetAngDataList() const
G4int GetNEnergies() const
void Init(std::istream &aDataFile, G4ParticleDefinition *projectile)
std::map< G4double, G4int > GetDiscreteEnergiesOwn() const
void SetPrimary(G4ReactionProduct *aPrimary)
void SetTarget(G4ReactionProduct *aTarget)
void SetInterpolation(G4int theInterpolation)
G4int GetNDiscreteEnergies() const
G4double GetEnergy() const
G4ParticleHPContAngularPar(G4ParticleHPContAngularPar &val)
~G4ParticleHPContAngularPar()
G4double MeanEnergyOfThisInteraction()
std::set< G4double > GetEnergiesTransformed() const
void SetTargetCode(G4double aTargetCode)
G4double GetMinEner() const
G4ParticleHPContAngularPar()
void BuildByInterpolation(G4double anEnergy, G4InterpolationScheme aScheme, G4ParticleHPContAngularPar &store1, G4ParticleHPContAngularPar &store2)
G4double GetMaxEner() const
G4int GetNEnergiesTransformed() const
void SetLabel(G4double aLabel)
void SetValue(G4int i, G4double y)
G4double GetValue(G4int i)