List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
G4TankSimulatorOG::G4TankFastCerenkov Class Reference

#include <G4TankFastCerenkov.h>

Inheritance diagram for G4TankSimulatorOG::G4TankFastCerenkov:
Inheritance graph
[legend]

Public Member Functions

G4VParticleChange * AlongStepDoIt (const G4Track &, const G4Step &)
 
void DumpPhysicsTable () const
 
 G4TankFastCerenkov (const G4String &processName="Cerenkov")
 
G4double GetContinuousStepLimit (const G4Track &, G4double, G4double, G4double &)
 
G4PhysicsTable * GetPhysicsTable () const
 
G4bool IsApplicable (const G4ParticleDefinition &)
 
void SetMaxNumPhotonsPerStep (const G4int)
 
void SetTrackSecondariesFirst (const G4bool)
 
 ~G4TankFastCerenkov ()
 

Static Public Member Functions

static void GetDataFromConstruction ()
 

Protected Attributes

G4PhysicsTable * fThePhysicsTable
 

Private Member Functions

void BackScatter ()
 
void BuildThePhysicsTable ()
 
void DiffuseScatterHorizontal (const G4ThreeVector &)
 
void DiffuseScatterVertical (const G4ThreeVector &)
 
void DoRayleighScatter ()
 
G4double GetAverageNumberOfPhotons (const G4DynamicParticle *, const G4Material *, const G4MaterialPropertyVector *) const
 
G4double GetEllipsoidIntersect (const G4ThreeVector &, const G4double, const G4double) const
 
G4double GetSphereIntersect (const G4ThreeVector &, const G4double) const
 
void LobeScatterHorizontal (const G4ThreeVector &)
 
void LobeScatterVertical (const G4ThreeVector &)
 
template<int pmtId>
G4bool PropagateInDome (G4int &)
 
template<int pmtId>
G4bool PropagateInInterface (G4int &)
 
void PropagateInTank (G4int)
 
G4bool ScatterOffFloor ()
 
G4bool ScatterOffRoof ()
 
G4bool ScatterOffWall ()
 
void SpikeScatter (const G4ThreeVector &)
 
void TrackPhotonInTank ()
 
template<int pmtId>
G4bool TransitionToDome (G4int)
 
template<int pmtId>
G4bool TransitionToInterface (G4int &)
 

Private Attributes

G4double fAbsorbFrac
 
G4TankSimulatorfG4TankSimulator
 
G4double fInvMFP
 
G4int fMaxPhotons
 
G4ThreeVector fPhotonMomentum
 
G4ThreeVector fPhotonPolarization
 
G4ThreeVector fPhotonPosition
 
G4double fPhotonTime
 
G4double fRayleighConst
 
G4double fRayleighFrac
 
G4double fSampledMomentum
 
G4double fSampledRI
 
G4bool fTrackSecondariesFirst
 

Static Private Attributes

static utl::TabulatedFunction fDomeAbsLength
 
static double fDomeRadius
 
static double fDomeRadiusSq
 
static double fDomeRadiusz
 
static double fDomeRadiuszSq
 
static utl::TabulatedFunction fDomeRIndex
 
static double fHeightz
 
static utl::TabulatedFunction fInterfaceAbsLength
 
static double fInterfaceRadius
 
static double fInterfaceRadiusSq
 
static double fInterfaceRadiusz
 
static double fInterfaceRadiuszSq
 
static utl::TabulatedFunction fInterfaceRIndex
 
static utl::TabulatedFunction fLinerBackscatter
 
static utl::TabulatedFunction fLinerReflectivity
 
static utl::TabulatedFunction fLinerSpecularLobe
 
static utl::TabulatedFunction fLinerSpecularSpike
 
static G4ThreeVector fPMTPos [4]
 
static double fPMTRadius
 
static double fPMTRadiusSq
 
static double fPMTRadiusz
 
static double fPMTRadiuszSq
 
static utl::TabulatedFunction fQE
 
static G4double fRoofPos [4]
 
static double fSigmaAlpha
 
static double fTankHalfHeight
 
static double fTankHeight
 
static double fTankRadius
 
static double fTankRadiusSq
 
static double fTankThickness
 
static utl::TabulatedFunction fWaterAbsLength
 

Detailed Description

Definition at line 72 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Constructor & Destructor Documentation

G4TankFastCerenkov::G4TankFastCerenkov ( const G4String &  processName = "Cerenkov")
G4TankFastCerenkov::~G4TankFastCerenkov ( )

Definition at line 118 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

References fThePhysicsTable.

Member Function Documentation

G4VParticleChange * G4TankFastCerenkov::AlongStepDoIt ( const G4Track &  aTrack,
const G4Step &  aStep 
)
void G4TankFastCerenkov::BackScatter ( void  )
private
void G4TankFastCerenkov::BuildThePhysicsTable ( )
private

Definition at line 432 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

References fThePhysicsTable.

Referenced by G4TankFastCerenkov().

void G4TankFastCerenkov::DiffuseScatterHorizontal ( const G4ThreeVector &  Normal)
private
void G4TankFastCerenkov::DiffuseScatterVertical ( const G4ThreeVector &  Normal)
private
void G4TankFastCerenkov::DoRayleighScatter ( )
private
void G4TankFastCerenkov::DumpPhysicsTable ( ) const

Definition at line 243 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

References fThePhysicsTable.

G4double G4TankFastCerenkov::GetAverageNumberOfPhotons ( const G4DynamicParticle *  aParticle,
const G4Material *  aMaterial,
const G4MaterialPropertyVector *  Rindex 
) const
private
G4double G4TankFastCerenkov::GetContinuousStepLimit ( const G4Track &  aTrack,
G4double  ,
G4double  ,
G4double &   
)
void G4TankFastCerenkov::GetDataFromConstruction ( )
static

Definition at line 130 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

References galactic::eV, fDomeAbsLength, fDomeRadius, fDomeRadiusSq, fDomeRadiusz, fDomeRadiuszSq, fDomeRIndex, G4TankSimulatorOG::G4TankConstruction::fDomeRmax, G4TankSimulatorOG::G4TankConstruction::fDomeRzmax, fHeightz, G4TankSimulatorOG::G4TankConstruction::fHeightz, fInterfaceAbsLength, G4TankSimulatorOG::G4TankConstruction::fInterfaceABSORPTION, fInterfaceRadius, fInterfaceRadiusSq, fInterfaceRadiusz, fInterfaceRadiuszSq, fInterfaceRIndex, G4TankSimulatorOG::G4TankConstruction::fInterfaceRINDEX, G4TankSimulatorOG::G4TankConstruction::fInterfaceRmax, G4TankSimulatorOG::G4TankConstruction::fInterfaceRzmax, fLinerBackscatter, G4TankSimulatorOG::G4TankConstruction::fLinerBACKSCATTERCONSTANT, fLinerReflectivity, G4TankSimulatorOG::G4TankConstruction::fLinerREFLECTIVITY, fLinerSpecularLobe, G4TankSimulatorOG::G4TankConstruction::fLinerSPECULARLOBECONSTANT, fLinerSpecularSpike, G4TankSimulatorOG::G4TankConstruction::fLinerSPECULARSPIKECONSTANT, G4TankSimulatorOG::G4TankConstruction::fPmt1, G4TankSimulatorOG::G4TankConstruction::fPmt2, G4TankSimulatorOG::G4TankConstruction::fPmt3, G4TankSimulatorOG::G4TankConstruction::fPmtdomeABSORPTION, G4TankSimulatorOG::G4TankConstruction::fPmtdomeRINDEX, fPMTPos, fPMTRadius, fPMTRadiusSq, fPMTRadiusz, fPMTRadiuszSq, G4TankSimulatorOG::G4TankConstruction::fPmtRmax, G4TankSimulatorOG::G4TankConstruction::fPmtRzmax, fQE, fRoofPos, G4TankSimulatorOG::G4TankConstruction::fSIGMA_ALPHA, fSigmaAlpha, G4TankSimulatorOG::G4TankConstruction::fTankHalfHeight, fTankHalfHeight, fTankHeight, G4TankSimulatorOG::G4TankConstruction::fTankRadius, fTankRadius, fTankRadiusSq, G4TankSimulatorOG::G4TankConstruction::fTankThickness, fTankThickness, fWaterAbsLength, G4TankSimulatorOG::G4TankConstruction::fWaterABSORPTION, sdet::PMT::GetCollectionEfficiency(), utl::BasicVector< HepVector >::GetCoordinateSystem(), G4TankSimulatorOG::G4TankSimulator::GetCurrentDetectorStation(), sdet::Station::GetPMT(), sdet::PMT::GetQuantumEfficiency(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), utl::m, utl::TabulatedFunction::XBegin(), utl::TabulatedFunction::XEnd(), utl::TabulatedFunction::YBegin(), and utl::TabulatedFunction::YEnd().

Referenced by G4TankSimulatorOG::G4TankSimulator::RunFast().

G4double G4TankFastCerenkov::GetEllipsoidIntersect ( const G4ThreeVector &  Pos,
const G4double  r1,
const G4double  r2 
) const
inlineprivate
G4PhysicsTable * G4TankFastCerenkov::GetPhysicsTable ( ) const

Definition at line 237 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

References fThePhysicsTable.

G4double G4TankFastCerenkov::GetSphereIntersect ( const G4ThreeVector &  Pos,
const G4double  r 
) const
inlineprivate
G4bool G4TankFastCerenkov::IsApplicable ( const G4ParticleDefinition &  aParticle)

Definition at line 219 of file G4TankSimulatorOG/G4TankFastCerenkov.cc.

void G4TankFastCerenkov::LobeScatterHorizontal ( const G4ThreeVector &  Normal)
private
void G4TankFastCerenkov::LobeScatterVertical ( const G4ThreeVector &  Normal)
private
template<int pmtId>
G4bool G4TankFastCerenkov::PropagateInDome ( G4int &  flag)
private
template<int pmtId>
G4bool G4TankFastCerenkov::PropagateInInterface ( G4int &  flag)
private
void G4TankFastCerenkov::PropagateInTank ( G4int  flag)
private
G4bool G4TankFastCerenkov::ScatterOffFloor ( void  )
private
G4bool G4TankFastCerenkov::ScatterOffRoof ( void  )
private
G4bool G4TankFastCerenkov::ScatterOffWall ( void  )
private
void G4TankFastCerenkov::SetMaxNumPhotonsPerStep ( const G4int  numPhotons)
void G4TankFastCerenkov::SetTrackSecondariesFirst ( const G4bool  state)
void G4TankFastCerenkov::SpikeScatter ( const G4ThreeVector &  Normal)
private
void G4TankFastCerenkov::TrackPhotonInTank ( void  )
private
template<int pmtId>
G4bool G4TankFastCerenkov::TransitionToDome ( G4int  flag)
private
template<int pmtId>
G4bool G4TankFastCerenkov::TransitionToInterface ( G4int &  flag)
private

Member Data Documentation

G4double G4TankSimulatorOG::G4TankFastCerenkov::fAbsorbFrac
private

Definition at line 126 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by AlongStepDoIt().

utl::TabulatedFunction G4TankFastCerenkov::fDomeAbsLength
staticprivate
double G4TankFastCerenkov::fDomeRadius
staticprivate
double G4TankFastCerenkov::fDomeRadiusSq
staticprivate
double G4TankFastCerenkov::fDomeRadiusz
staticprivate
double G4TankFastCerenkov::fDomeRadiuszSq
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fDomeRIndex
staticprivate
G4TankSimulator* G4TankSimulatorOG::G4TankFastCerenkov::fG4TankSimulator
private
double G4TankFastCerenkov::fHeightz
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fInterfaceAbsLength
staticprivate
double G4TankFastCerenkov::fInterfaceRadius
staticprivate
double G4TankFastCerenkov::fInterfaceRadiusSq
staticprivate
double G4TankFastCerenkov::fInterfaceRadiusz
staticprivate
double G4TankFastCerenkov::fInterfaceRadiuszSq
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fInterfaceRIndex
staticprivate
G4double G4TankSimulatorOG::G4TankFastCerenkov::fInvMFP
private

Definition at line 126 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by AlongStepDoIt(), and PropagateInTank().

utl::TabulatedFunction G4TankFastCerenkov::fLinerBackscatter
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fLinerReflectivity
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fLinerSpecularLobe
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fLinerSpecularSpike
staticprivate
G4int G4TankSimulatorOG::G4TankFastCerenkov::fMaxPhotons
private
G4ThreeVector G4TankSimulatorOG::G4TankFastCerenkov::fPhotonMomentum
private
G4ThreeVector G4TankSimulatorOG::G4TankFastCerenkov::fPhotonPolarization
private
G4ThreeVector G4TankSimulatorOG::G4TankFastCerenkov::fPhotonPosition
private
G4double G4TankSimulatorOG::G4TankFastCerenkov::fPhotonTime
private
G4ThreeVector G4TankFastCerenkov::fPMTPos
staticprivate
double G4TankFastCerenkov::fPMTRadius
staticprivate
double G4TankFastCerenkov::fPMTRadiusSq
staticprivate
double G4TankFastCerenkov::fPMTRadiusz
staticprivate
double G4TankFastCerenkov::fPMTRadiuszSq
staticprivate
utl::TabulatedFunction G4TankFastCerenkov::fQE
staticprivate
G4double G4TankSimulatorOG::G4TankFastCerenkov::fRayleighConst
private

Definition at line 152 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by AlongStepDoIt(), and G4TankFastCerenkov().

G4double G4TankSimulatorOG::G4TankFastCerenkov::fRayleighFrac
private

Definition at line 126 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by AlongStepDoIt(), and PropagateInTank().

double G4TankFastCerenkov::fRoofPos
staticprivate
G4double G4TankSimulatorOG::G4TankFastCerenkov::fSampledMomentum
private
G4double G4TankSimulatorOG::G4TankFastCerenkov::fSampledRI
private
double G4TankFastCerenkov::fSigmaAlpha
staticprivate
double G4TankFastCerenkov::fTankHalfHeight
staticprivate

Definition at line 128 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by GetDataFromConstruction().

double G4TankFastCerenkov::fTankHeight
staticprivate
double G4TankFastCerenkov::fTankRadius
staticprivate

Definition at line 128 of file G4TankSimulatorOG/G4TankFastCerenkov.h.

Referenced by GetDataFromConstruction().

double G4TankFastCerenkov::fTankRadiusSq
staticprivate
double G4TankFastCerenkov::fTankThickness
staticprivate
G4PhysicsTable* G4TankSimulatorOG::G4TankFastCerenkov::fThePhysicsTable
protected
G4bool G4TankSimulatorOG::G4TankFastCerenkov::fTrackSecondariesFirst
private
utl::TabulatedFunction G4TankFastCerenkov::fWaterAbsLength
staticprivate

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

, generated on Tue Sep 26 2023.