Geant4  10.00.p02
G4Physics2DVector Class Reference

#include <G4Physics2DVector.hh>

Public Member Functions

 G4Physics2DVector ()
 
 G4Physics2DVector (size_t nx, size_t ny)
 
 G4Physics2DVector (const G4Physics2DVector &)
 
G4Physics2DVectoroperator= (const G4Physics2DVector &)
 
 ~G4Physics2DVector ()
 
G4double Value (G4double x, G4double y, size_t &lastidx, size_t &lastidy) const
 
G4double Value (G4double x, G4double y) const
 
void PutX (size_t idx, G4double value)
 
void PutY (size_t idy, G4double value)
 
void PutValue (size_t idx, size_t idy, G4double value)
 
void PutVectors (const std::vector< G4double > &vecX, const std::vector< G4double > &vecY)
 
void ScaleVector (G4double factor)
 
G4double FindLinearX (G4double rand, G4double y, size_t &lastidy) const
 
G4double FindLinearX (G4double rand, G4double y) const
 
G4double GetX (size_t index) const
 
G4double GetY (size_t index) const
 
G4double GetValue (size_t idx, size_t idy) const
 
size_t FindBinLocationX (G4double x, size_t lastidx) const
 
size_t FindBinLocationY (G4double y, size_t lastidy) const
 
size_t GetLengthX () const
 
size_t GetLengthY () const
 
G4PhysicsVectorType GetType () const
 
void SetBicubicInterpolation (G4bool)
 
void Store (std::ofstream &fOut)
 
G4bool Retrieve (std::ifstream &fIn)
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Protected Member Functions

void PrepareVectors ()
 
void ClearVectors ()
 
void CopyData (const G4Physics2DVector &vec)
 
G4double BicubicInterpolation (G4double x, G4double y, size_t idx, size_t idy) const
 
size_t FindBinLocation (G4double z, const G4PV2DDataVector &) const
 
size_t FindBin (G4double z, const G4PV2DDataVector &, size_t idz, size_t idzmax) const
 

Private Member Functions

G4double InterpolateLinearX (G4PV2DDataVector &v, G4double rand) const
 
G4double DerivativeX (size_t idx, size_t idy, G4double fac) const
 
G4double DerivativeY (size_t idx, size_t idy, G4double fac) const
 
G4double DerivativeXY (size_t idx, size_t idy, G4double fac) const
 
G4int operator== (const G4Physics2DVector &right) const
 
G4int operator!= (const G4Physics2DVector &right) const
 

Private Attributes

G4PhysicsVectorType type
 
size_t numberOfXNodes
 
size_t numberOfYNodes
 
G4PV2DDataVector xVector
 
G4PV2DDataVector yVector
 
std::vector< G4PV2DDataVector * > value
 
G4int verboseLevel
 
G4bool useBicubic
 

Detailed Description

Definition at line 62 of file G4Physics2DVector.hh.

Constructor & Destructor Documentation

G4Physics2DVector::G4Physics2DVector ( )

Definition at line 47 of file G4Physics2DVector.cc.

G4Physics2DVector::G4Physics2DVector ( size_t  nx,
size_t  ny 
)

Definition at line 55 of file G4Physics2DVector.cc.

References PrepareVectors().

+ Here is the call graph for this function:

G4Physics2DVector::G4Physics2DVector ( const G4Physics2DVector right)

Definition at line 72 of file G4Physics2DVector.cc.

References CopyData(), numberOfXNodes, numberOfYNodes, PrepareVectors(), type, useBicubic, verboseLevel, xVector, and yVector.

+ Here is the call graph for this function:

G4Physics2DVector::~G4Physics2DVector ( )

Definition at line 65 of file G4Physics2DVector.cc.

References ClearVectors().

+ Here is the call graph for this function:

Member Function Documentation

G4double G4Physics2DVector::BicubicInterpolation ( G4double  x,
G4double  y,
size_t  idx,
size_t  idy 
) const
protected

Definition at line 193 of file G4Physics2DVector.cc.

References DerivativeX(), DerivativeXY(), DerivativeY(), f1, f2, f3, f4, GetValue(), xVector, and yVector.

Referenced by Value().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Physics2DVector::ClearVectors ( )
protected

Definition at line 126 of file G4Physics2DVector.cc.

References numberOfYNodes, and value.

Referenced by operator=(), PutVectors(), Retrieve(), and ~G4Physics2DVector().

+ Here is the caller graph for this function:

void G4Physics2DVector::CopyData ( const G4Physics2DVector vec)
protected

Definition at line 135 of file G4Physics2DVector.cc.

References numberOfXNodes, numberOfYNodes, PutValue(), value, xVector, and yVector.

Referenced by G4Physics2DVector(), and operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Physics2DVector::DerivativeX ( size_t  idx,
size_t  idy,
G4double  fac 
) const
inlineprivate

Referenced by BicubicInterpolation().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::DerivativeXY ( size_t  idx,
size_t  idy,
G4double  fac 
) const
inlineprivate

Referenced by BicubicInterpolation().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::DerivativeY ( size_t  idx,
size_t  idy,
G4double  fac 
) const
inlineprivate

Referenced by BicubicInterpolation().

+ Here is the caller graph for this function:

size_t G4Physics2DVector::FindBin ( G4double  z,
const G4PV2DDataVector ,
size_t  idz,
size_t  idzmax 
) const
inlineprotected
size_t G4Physics2DVector::FindBinLocation ( G4double  z,
const G4PV2DDataVector v 
) const
protected

Definition at line 359 of file G4Physics2DVector.cc.

size_t G4Physics2DVector::FindBinLocationX ( G4double  x,
size_t  lastidx 
) const
inline

Referenced by Value().

+ Here is the caller graph for this function:

size_t G4Physics2DVector::FindBinLocationY ( G4double  y,
size_t  lastidy 
) const
inline

Referenced by FindLinearX(), and Value().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::FindLinearX ( G4double  rand,
G4double  y,
size_t &  lastidy 
) const

Definition at line 377 of file G4Physics2DVector.cc.

References FindBinLocationY(), InterpolateLinearX(), numberOfYNodes, value, and yVector.

Referenced by G4MuPairProductionModel::FindScaledEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Physics2DVector::FindLinearX ( G4double  rand,
G4double  y 
) const
inline
size_t G4Physics2DVector::GetLengthX ( ) const
inline

Referenced by G4MuPairProduction::PrintInfo(), and G4OpticalSurface::ReadDichroicFile().

+ Here is the caller graph for this function:

size_t G4Physics2DVector::GetLengthY ( ) const
inline

Referenced by G4MuPairProduction::PrintInfo(), and G4OpticalSurface::ReadDichroicFile().

+ Here is the caller graph for this function:

G4PhysicsVectorType G4Physics2DVector::GetType ( ) const
inline
G4double G4Physics2DVector::GetValue ( size_t  idx,
size_t  idy 
) const
inline

Referenced by BicubicInterpolation(), G4OpticalSurface::ReadDichroicFile(), ScaleVector(), Store(), and Value().

+ Here is the caller graph for this function:

G4int G4Physics2DVector::GetVerboseLevel ( ) const
inline
G4double G4Physics2DVector::GetX ( size_t  index) const
inline

Referenced by G4OpticalSurface::ReadDichroicFile().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::GetY ( size_t  index) const
inline

Referenced by G4MuPairProduction::PrintInfo(), and G4OpticalSurface::ReadDichroicFile().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::InterpolateLinearX ( G4PV2DDataVector v,
G4double  rand 
) const
private

Definition at line 404 of file G4Physics2DVector.cc.

References G4InuclParticleNames::nn, and xVector.

Referenced by FindLinearX().

+ Here is the caller graph for this function:

G4int G4Physics2DVector::operator!= ( const G4Physics2DVector right) const
private
G4Physics2DVector & G4Physics2DVector::operator= ( const G4Physics2DVector right)

Definition at line 91 of file G4Physics2DVector.cc.

References ClearVectors(), CopyData(), numberOfXNodes, numberOfYNodes, PrepareVectors(), type, useBicubic, and verboseLevel.

+ Here is the call graph for this function:

G4int G4Physics2DVector::operator== ( const G4Physics2DVector right) const
private
void G4Physics2DVector::PrepareVectors ( )
protected

Definition at line 112 of file G4Physics2DVector.cc.

References numberOfXNodes, numberOfYNodes, value, xVector, and yVector.

Referenced by G4Physics2DVector(), operator=(), PutVectors(), and Retrieve().

+ Here is the caller graph for this function:

void G4Physics2DVector::PutValue ( size_t  idx,
size_t  idy,
G4double  value 
)
inline

Referenced by CopyData(), G4MuPairProductionModel::MakeSamplingTables(), Retrieve(), and ScaleVector().

+ Here is the caller graph for this function:

void G4Physics2DVector::PutVectors ( const std::vector< G4double > &  vecX,
const std::vector< G4double > &  vecY 
)

Definition at line 260 of file G4Physics2DVector.cc.

References ClearVectors(), numberOfXNodes, numberOfYNodes, PrepareVectors(), xVector, and yVector.

+ Here is the call graph for this function:

void G4Physics2DVector::PutX ( size_t  idx,
G4double  value 
)
inline

Referenced by G4MuPairProductionModel::MakeSamplingTables().

+ Here is the caller graph for this function:

void G4Physics2DVector::PutY ( size_t  idy,
G4double  value 
)
inline

Referenced by G4MuPairProductionModel::MakeSamplingTables().

+ Here is the caller graph for this function:

G4bool G4Physics2DVector::Retrieve ( std::ifstream &  fIn)

Definition at line 306 of file G4Physics2DVector.cc.

References ClearVectors(), INT_MAX, numberOfXNodes, numberOfYNodes, PrepareVectors(), PutValue(), type, xVector, and yVector.

Referenced by G4LivermoreBremsstrahlungModel::ReadData(), G4SeltzerBergerModel::ReadData(), and G4OpticalSurface::ReadDichroicFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Physics2DVector::ScaleVector ( G4double  factor)

Definition at line 345 of file G4Physics2DVector.cc.

References GetValue(), numberOfXNodes, numberOfYNodes, and PutValue().

+ Here is the call graph for this function:

void G4Physics2DVector::SetBicubicInterpolation ( G4bool  )
inline

Referenced by G4LivermoreBremsstrahlungModel::ReadData(), and G4SeltzerBergerModel::ReadData().

+ Here is the caller graph for this function:

void G4Physics2DVector::SetVerboseLevel ( G4int  value)
inline
void G4Physics2DVector::Store ( std::ofstream &  fOut)

Definition at line 277 of file G4Physics2DVector.cc.

References G4endl, GetValue(), numberOfXNodes, numberOfYNodes, CLHEP::prec, type, xVector, and yVector.

+ Here is the call graph for this function:

G4double G4Physics2DVector::Value ( G4double  x,
G4double  y,
size_t &  lastidx,
size_t &  lastidy 
) const

Definition at line 151 of file G4Physics2DVector.cc.

References BicubicInterpolation(), FindBinLocationX(), FindBinLocationY(), GetValue(), numberOfXNodes, numberOfYNodes, useBicubic, xVector, and yVector.

Referenced by G4LivermoreBremsstrahlungModel::ComputeDXSectionPerAtom(), G4SeltzerBergerModel::ComputeDXSectionPerAtom(), G4OpBoundaryProcess::DielectricDichroic(), G4MuPairProductionModel::FindScaledEnergy(), G4SeltzerBergerModel::ReadData(), G4LivermoreBremsstrahlungModel::ReadData(), G4SeltzerBergerModel::SampleSecondaries(), and G4LivermoreBremsstrahlungModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Physics2DVector::Value ( G4double  x,
G4double  y 
) const

Member Data Documentation

size_t G4Physics2DVector::numberOfXNodes
private
size_t G4Physics2DVector::numberOfYNodes
private
G4PhysicsVectorType G4Physics2DVector::type
private

Definition at line 168 of file G4Physics2DVector.hh.

Referenced by G4Physics2DVector(), operator=(), Retrieve(), and Store().

G4bool G4Physics2DVector::useBicubic
private

Definition at line 178 of file G4Physics2DVector.hh.

Referenced by G4Physics2DVector(), operator=(), and Value().

std::vector<G4PV2DDataVector*> G4Physics2DVector::value
private

Definition at line 175 of file G4Physics2DVector.hh.

Referenced by ClearVectors(), CopyData(), FindLinearX(), and PrepareVectors().

G4int G4Physics2DVector::verboseLevel
private

Definition at line 177 of file G4Physics2DVector.hh.

Referenced by G4Physics2DVector(), and operator=().


The documentation for this class was generated from the following files: