List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
G4XTankSimulatorAG::G4XTankFastCerenkov Class Reference

#include <G4XTankFastCerenkov.h>

Inheritance diagram for G4XTankSimulatorAG::G4XTankFastCerenkov:
Inheritance graph
[legend]

Public Member Functions

G4VParticleChange * AlongStepDoIt (const G4Track &, const G4Step &)
 
void DumpPhysicsTable () const
 
 G4XTankFastCerenkov (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)
 
 ~G4XTankFastCerenkov ()
 

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 PropogateInDome (G4int &)
 
template<int pmtId>
G4bool PropogateInInterface (G4int &)
 
void PropogateInTank (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
 
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 70 of file G4XTankFastCerenkov.h.

Constructor & Destructor Documentation

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

Definition at line 113 of file G4XTankFastCerenkov.cc.

References fThePhysicsTable.

Member Function Documentation

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

Definition at line 1445 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum.

Referenced by ScatterOffFloor(), ScatterOffRoof(), and ScatterOffWall().

void G4XTankFastCerenkov::BuildThePhysicsTable ( )
private

Definition at line 427 of file G4XTankFastCerenkov.cc.

References fThePhysicsTable.

Referenced by G4XTankFastCerenkov().

void G4XTankFastCerenkov::DiffuseScatterHorizontal ( const G4ThreeVector &  Normal)
private

Definition at line 1475 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum, fPhotonPolarization, utl::kPi, and sqrt().

Referenced by ScatterOffFloor(), and ScatterOffRoof().

void G4XTankFastCerenkov::DiffuseScatterVertical ( const G4ThreeVector &  Normal)
private

Definition at line 1453 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum, fPhotonPolarization, utl::kPi, and sqrt().

Referenced by ScatterOffWall().

void G4XTankFastCerenkov::DoRayleighScatter ( )
private
void G4XTankFastCerenkov::DumpPhysicsTable ( ) const

Definition at line 238 of file G4XTankFastCerenkov.cc.

References fThePhysicsTable.

G4double G4XTankFastCerenkov::GetAverageNumberOfPhotons ( const G4DynamicParticle *  aParticle,
const G4Material *  aMaterial,
const G4MaterialPropertyVector *  Rindex 
) const
private
G4double G4XTankFastCerenkov::GetContinuousStepLimit ( const G4Track &  aTrack,
G4double  ,
G4double  ,
G4double &   
)

Definition at line 508 of file G4XTankFastCerenkov.cc.

References fMaxPhotons, and GetAverageNumberOfPhotons().

void G4XTankFastCerenkov::GetDataFromConstruction ( )
static

Definition at line 125 of file G4XTankFastCerenkov.cc.

References galactic::eV, fDomeAbsLength, fDomeRadius, fDomeRadiusSq, fDomeRadiusz, fDomeRadiuszSq, fDomeRIndex, G4XTankSimulatorAG::G4XTankConstruction::fDomeRmax, G4XTankSimulatorAG::G4XTankConstruction::fDomeRzmax, fHeightz, G4XTankSimulatorAG::G4XTankConstruction::fHeightz, fInterfaceAbsLength, G4XTankSimulatorAG::G4XTankConstruction::fInterfaceABSORPTION, fInterfaceRadius, fInterfaceRadiusSq, fInterfaceRadiusz, fInterfaceRadiuszSq, fInterfaceRIndex, G4XTankSimulatorAG::G4XTankConstruction::fInterfaceRINDEX, G4XTankSimulatorAG::G4XTankConstruction::fInterfaceRmax, G4XTankSimulatorAG::G4XTankConstruction::fInterfaceRzmax, fLinerBackscatter, G4XTankSimulatorAG::G4XTankConstruction::fLinerBACKSCATTERCONSTANT, fLinerReflectivity, G4XTankSimulatorAG::G4XTankConstruction::fLinerREFLECTIVITY, fLinerSpecularLobe, G4XTankSimulatorAG::G4XTankConstruction::fLinerSPECULARLOBECONSTANT, fLinerSpecularSpike, G4XTankSimulatorAG::G4XTankConstruction::fLinerSPECULARSPIKECONSTANT, G4XTankSimulatorAG::G4XTankConstruction::fPmt1, G4XTankSimulatorAG::G4XTankConstruction::fPmt2, G4XTankSimulatorAG::G4XTankConstruction::fPmt3, G4XTankSimulatorAG::G4XTankConstruction::fPmtdomeABSORPTION, G4XTankSimulatorAG::G4XTankConstruction::fPmtdomeRINDEX, fPMTPos, fPMTRadius, fPMTRadiusSq, fPMTRadiusz, fPMTRadiuszSq, G4XTankSimulatorAG::G4XTankConstruction::fPmtRmax, G4XTankSimulatorAG::G4XTankConstruction::fPmtRzmax, fQE, fRoofPos, G4XTankSimulatorAG::G4XTankConstruction::fSIGMA_ALPHA, fSigmaAlpha, G4XTankSimulatorAG::G4XTankConstruction::fTankHalfHeight, fTankHalfHeight, fTankHeight, G4XTankSimulatorAG::G4XTankConstruction::fTankRadius, fTankRadius, fTankRadiusSq, G4XTankSimulatorAG::G4XTankConstruction::fTankThickness, fTankThickness, fWaterAbsLength, G4XTankSimulatorAG::G4XTankConstruction::fWaterABSORPTION, sdet::PMT::GetCollectionEfficiency(), utl::BasicVector< HepVector >::GetCoordinateSystem(), G4XTankSimulatorAG::G4XTankSimulator::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().

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

Definition at line 232 of file G4XTankFastCerenkov.cc.

References fThePhysicsTable.

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

Definition at line 214 of file G4XTankFastCerenkov.cc.

void G4XTankFastCerenkov::LobeScatterHorizontal ( const G4ThreeVector &  Normal)
private

Definition at line 1544 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum, fPhotonPolarization, fSigmaAlpha, and utl::kPi.

Referenced by ScatterOffFloor(), and ScatterOffRoof().

void G4XTankFastCerenkov::LobeScatterVertical ( const G4ThreeVector &  Normal)
private

Definition at line 1503 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum, fPhotonPolarization, fSigmaAlpha, utl::kPi, and sqrt().

Referenced by ScatterOffWall().

template<int pmtId>
G4bool G4XTankFastCerenkov::PropogateInDome ( G4int &  flag)
private
template<int pmtId>
G4bool G4XTankFastCerenkov::PropogateInInterface ( G4int &  flag)
private
void G4XTankFastCerenkov::PropogateInTank ( G4int  flag)
private
G4bool G4XTankFastCerenkov::ScatterOffFloor ( void  )
private
G4bool G4XTankFastCerenkov::ScatterOffRoof ( void  )
private
G4bool G4XTankFastCerenkov::ScatterOffWall ( void  )
private
void G4XTankFastCerenkov::SetMaxNumPhotonsPerStep ( const G4int  numPhotons)
void G4XTankFastCerenkov::SetTrackSecondariesFirst ( const G4bool  state)
void G4XTankFastCerenkov::SpikeScatter ( const G4ThreeVector &  Normal)
private

Definition at line 1492 of file G4XTankFastCerenkov.cc.

References fPhotonMomentum, and fPhotonPolarization.

Referenced by ScatterOffFloor(), ScatterOffRoof(), and ScatterOffWall().

void G4XTankFastCerenkov::TrackPhotonInTank ( void  )
private
template<int pmtId>
G4bool G4XTankFastCerenkov::TransitionToDome ( G4int  flag)
private
template<int pmtId>
G4bool G4XTankFastCerenkov::TransitionToInterface ( G4int &  flag)
private

Member Data Documentation

G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fAbsorbFrac
private

Definition at line 124 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt().

utl::TabulatedFunction G4XTankFastCerenkov::fDomeAbsLength
staticprivate

Definition at line 139 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction(), and PropogateInDome().

double G4XTankFastCerenkov::fDomeRadius
staticprivate
double G4XTankFastCerenkov::fDomeRadiusSq
staticprivate
double G4XTankFastCerenkov::fDomeRadiusz
staticprivate
double G4XTankFastCerenkov::fDomeRadiuszSq
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fDomeRIndex
staticprivate
double G4XTankFastCerenkov::fHeightz
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fInterfaceAbsLength
staticprivate

Definition at line 139 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction(), and PropogateInInterface().

double G4XTankFastCerenkov::fInterfaceRadius
staticprivate
double G4XTankFastCerenkov::fInterfaceRadiusSq
staticprivate
double G4XTankFastCerenkov::fInterfaceRadiusz
staticprivate
double G4XTankFastCerenkov::fInterfaceRadiuszSq
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fInterfaceRIndex
staticprivate
G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fInvMFP
private

Definition at line 124 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), and PropogateInTank().

utl::TabulatedFunction G4XTankFastCerenkov::fLinerBackscatter
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fLinerReflectivity
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fLinerSpecularLobe
staticprivate
utl::TabulatedFunction G4XTankFastCerenkov::fLinerSpecularSpike
staticprivate
G4int G4XTankSimulatorAG::G4XTankFastCerenkov::fMaxPhotons
private
G4ThreeVector G4XTankSimulatorAG::G4XTankFastCerenkov::fPhotonMomentum
private
G4ThreeVector G4XTankSimulatorAG::G4XTankFastCerenkov::fPhotonPolarization
private
G4ThreeVector G4XTankSimulatorAG::G4XTankFastCerenkov::fPhotonPosition
private
G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fPhotonTime
private
G4ThreeVector G4XTankFastCerenkov::fPMTPos
staticprivate
double G4XTankFastCerenkov::fPMTRadius
staticprivate

Definition at line 127 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction(), and PropogateInInterface().

double G4XTankFastCerenkov::fPMTRadiusSq
staticprivate

Definition at line 129 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction(), and TrackPhotonInTank().

double G4XTankFastCerenkov::fPMTRadiusz
staticprivate
double G4XTankFastCerenkov::fPMTRadiuszSq
staticprivate

Definition at line 130 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction(), and TrackPhotonInTank().

utl::TabulatedFunction G4XTankFastCerenkov::fQE
staticprivate

Definition at line 134 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), and GetDataFromConstruction().

G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fRayleighConst
private

Definition at line 150 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), and G4XTankFastCerenkov().

G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fRayleighFrac
private

Definition at line 124 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), and PropogateInTank().

double G4XTankFastCerenkov::fRoofPos
staticprivate
G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fSampledMomentum
private
G4double G4XTankSimulatorAG::G4XTankFastCerenkov::fSampledRI
private

Definition at line 149 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), PropogateInTank(), and TransitionToDome().

double G4XTankFastCerenkov::fSigmaAlpha
staticprivate
double G4XTankFastCerenkov::fTankHalfHeight
staticprivate

Definition at line 126 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction().

double G4XTankFastCerenkov::fTankHeight
staticprivate
double G4XTankFastCerenkov::fTankRadius
staticprivate

Definition at line 126 of file G4XTankFastCerenkov.h.

Referenced by GetDataFromConstruction().

double G4XTankFastCerenkov::fTankRadiusSq
staticprivate

Definition at line 126 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), GetDataFromConstruction(), and PropogateInTank().

double G4XTankFastCerenkov::fTankThickness
staticprivate
G4PhysicsTable* G4XTankSimulatorAG::G4XTankFastCerenkov::fThePhysicsTable
protected
G4bool G4XTankSimulatorAG::G4XTankFastCerenkov::fTrackSecondariesFirst
private

Definition at line 119 of file G4XTankFastCerenkov.h.

Referenced by G4XTankFastCerenkov(), and SetTrackSecondariesFirst().

utl::TabulatedFunction G4XTankFastCerenkov::fWaterAbsLength
staticprivate

Definition at line 136 of file G4XTankFastCerenkov.h.

Referenced by AlongStepDoIt(), and GetDataFromConstruction().


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

, generated on Tue Sep 26 2023.