ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4Physics2DVector Class Reference

#include <geant4/tree/geant4-10.6-release/source/global/management/include/G4Physics2DVector.hh>

+ Collaboration diagram for G4Physics2DVector:

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) const
 
G4bool Retrieve (std::ifstream &fIn)
 
void SetVerboseLevel (G4int value)
 

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
 
G4bool operator== (const G4Physics2DVector &right) const =delete
 
G4bool operator!= (const G4Physics2DVector &right) const =delete
 

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 61 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 61 of file G4Physics2DVector.hh

Constructor & Destructor Documentation

G4Physics2DVector::G4Physics2DVector ( )

Definition at line 43 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 43 of file G4Physics2DVector.cc

G4Physics2DVector::G4Physics2DVector ( size_t  nx,
size_t  ny 
)
explicit

Definition at line 51 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 51 of file G4Physics2DVector.cc

References PrepareVectors().

+ Here is the call graph for this function:

G4Physics2DVector::G4Physics2DVector ( const G4Physics2DVector right)

Definition at line 68 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 68 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 61 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 61 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 189 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 189 of file G4Physics2DVector.cc

References DerivativeX(), DerivativeXY(), DerivativeY(), dx, dy, f1, f2, f3, f4, GetValue(), h1, h12, h13, h2, incremental_prev_tag::idx, x1, x2, xVector, y1, y2, 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 122 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 122 of file G4Physics2DVector.cc

References numberOfYNodes.

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 131 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 131 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 361 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 361 of file G4Physics2DVector.cc

References bin, and z.

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.

View newest version in sPHENIX GitHub at line 377 of file G4Physics2DVector.cc

References FindBinLocationY(), InterpolateLinearX(), numberOfYNodes, x1, x2, y, 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 G4OpticalSurface::ReadDichroicFile(), G4ePairProduction::StreamProcessInfo(), and G4MuPairProduction::StreamProcessInfo().

+ Here is the caller graph for this function:

size_t G4Physics2DVector::GetLengthY ( ) const
inline

Referenced by G4OpticalSurface::ReadDichroicFile(), G4ePairProduction::StreamProcessInfo(), and G4MuPairProduction::StreamProcessInfo().

+ 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(), G4MuonVDNuclearModel::CalculateEMVertex(), G4OpticalSurface::ReadDichroicFile(), ScaleVector(), Store(), and Value().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::GetX ( size_t  index) const
inline

Referenced by G4MuonVDNuclearModel::CalculateEMVertex(), and G4OpticalSurface::ReadDichroicFile().

+ Here is the caller graph for this function:

G4double G4Physics2DVector::GetY ( size_t  index) const
inline

Referenced by G4OpticalSurface::ReadDichroicFile(), G4ePairProduction::StreamProcessInfo(), and G4MuPairProduction::StreamProcessInfo().

+ 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.

View newest version in sPHENIX GitHub at line 404 of file G4Physics2DVector.cc

References n1, G4InuclParticleNames::nn, xVector, and y.

Referenced by FindLinearX().

+ Here is the caller graph for this function:

G4bool G4Physics2DVector::operator!= ( const G4Physics2DVector right) const
privatedelete
G4Physics2DVector & G4Physics2DVector::operator= ( const G4Physics2DVector right)

Definition at line 87 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 87 of file G4Physics2DVector.cc

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

+ Here is the call graph for this function:

G4bool G4Physics2DVector::operator== ( const G4Physics2DVector right) const
privatedelete
void G4Physics2DVector::PrepareVectors ( )
protected

Definition at line 108 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 108 of file G4Physics2DVector.cc

References numberOfXNodes, numberOfYNodes, v, 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(), G4ChannelingECHARM::ReadFromECHARM(), 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 256 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 256 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(), and G4ChannelingECHARM::ReadFromECHARM().

+ Here is the caller graph for this function:

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

Referenced by G4MuPairProductionModel::MakeSamplingTables(), and G4ChannelingECHARM::ReadFromECHARM().

+ Here is the caller graph for this function:

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

Definition at line 302 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 302 of file G4Physics2DVector.cc

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Physics2DVector::ScaleVector ( G4double  factor)

Definition at line 347 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 347 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) const

Definition at line 273 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 273 of file G4Physics2DVector.cc

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

Referenced by G4MuPairProductionModel::StoreTables().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 147 of file G4Physics2DVector.cc.

View newest version in sPHENIX GitHub at line 147 of file G4Physics2DVector.cc

References BicubicInterpolation(), FindBinLocationX(), FindBinLocationY(), GetValue(), incremental_prev_tag::idx, numberOfXNodes, numberOfYNodes, useBicubic, x, x1, x2, xVector, xx, y, y1, y2, and yVector.

Referenced by G4LivermoreBremsstrahlungModel::ComputeDXSectionPerAtom(), G4SeltzerBergerModel::ComputeDXSectionPerAtom(), G4OpBoundaryProcess::DielectricDichroic(), G4MuPairProductionModel::FindScaledEnergy(), G4ChannelingECHARM::GetEC(), G4LivermoreBremsstrahlungModel::ReadData(), G4SeltzerBergerModel::ReadData(), G4SeltzerBergerModel::SampleEnergyTransfer(), 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

Definition at line 165 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 165 of file G4Physics2DVector.hh

Referenced by CopyData(), G4Physics2DVector(), operator=(), PrepareVectors(), PutVectors(), Retrieve(), ScaleVector(), Store(), and Value().

size_t G4Physics2DVector::numberOfYNodes
private

Definition at line 166 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 166 of file G4Physics2DVector.hh

Referenced by ClearVectors(), CopyData(), FindLinearX(), G4Physics2DVector(), operator=(), PrepareVectors(), PutVectors(), Retrieve(), ScaleVector(), Store(), and Value().

G4PhysicsVectorType G4Physics2DVector::type
private

Definition at line 163 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 163 of file G4Physics2DVector.hh

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

G4bool G4Physics2DVector::useBicubic
private

Definition at line 173 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 173 of file G4Physics2DVector.hh

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

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

Definition at line 170 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 170 of file G4Physics2DVector.hh

Referenced by CopyData().

G4int G4Physics2DVector::verboseLevel
private

Definition at line 172 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 172 of file G4Physics2DVector.hh

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

G4PV2DDataVector G4Physics2DVector::xVector
private

Definition at line 168 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 168 of file G4Physics2DVector.hh

Referenced by BicubicInterpolation(), CopyData(), G4Physics2DVector(), InterpolateLinearX(), PrepareVectors(), PutVectors(), Retrieve(), Store(), and Value().

G4PV2DDataVector G4Physics2DVector::yVector
private

Definition at line 169 of file G4Physics2DVector.hh.

View newest version in sPHENIX GitHub at line 169 of file G4Physics2DVector.hh

Referenced by BicubicInterpolation(), CopyData(), FindLinearX(), G4Physics2DVector(), PrepareVectors(), PutVectors(), Retrieve(), Store(), and Value().


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