Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4G3CutVector Class Reference

Vector of kinetic energy cut values with convenient set/get methods. More...

#include <TG4G3CutVector.h>

Public Member Functions

 TG4G3CutVector ()
 
 TG4G3CutVector (const TG4G3CutVector &right)
 
 ~TG4G3CutVector ()
 
TG4G3CutVectoroperator= (const TG4G3CutVector &right)
 
G4double operator[] (G4int index) const
 
void SetCut (TG4G3Cut cut, G4double cutValue)
 
void SetG3Defaults ()
 
void SetDeltaRaysOn (G4bool value)
 
G4String Format () const
 
void Print () const
 
G4double GetMinEkineForGamma (const G4Track &track) const
 
G4double GetMinEkineForElectron (const G4Track &track) const
 
G4double GetMinEkineForChargedHadron (const G4Track &track) const
 
G4double GetMinEkineForNeutralHadron (const G4Track &track) const
 
G4double GetMinEkineForMuon (const G4Track &track) const
 
G4double GetMinEtotPair () const
 
G4bool IsCut () const
 

Static Public Member Functions

static G4double Tolerance ()
 
static TG4G3Cut GetCut (const G4String &cutName)
 
static G4bool CheckCutValue (TG4G3Cut cut, G4double value)
 
static const G4String & GetCutName (TG4G3Cut cut)
 

Private Types

enum  IsBDCutIndex { kBE , kBM , kDE , kDM }
 local enumeration for the indices in the flags arrays More...
 
enum  ApplyBDCutIndex { kB , kBEM , kD , kDEM }
 local enumeration for the indices in the flags arrays More...
 

Static Private Member Functions

static void FillCutNameVector ()
 

Private Attributes

TG4doubleVector fCutVector
 vector of kinetic energy cut values
 
G4bool fDeltaRaysOn = true
 delta rays process control
 
G4bool fIsCut = false
 flag if any value is set
 
std::array< G4bool, 4 > fIsBDCut = { false, false, false, false}
 flag to prevent overwiting [B/D]CUT[E/M] cut if set by user
 
std::array< G4bool, 4 > fApplyBDCut = { false, false, false, false}
 flag set if [B/D]CUT[E/M] cut is different from CUT[ELE/GAM]
 

Static Private Attributes

static const G4double fgkDCUTEOff = 10. * TeV
 cut for delta rays by e- (if off)
 
static const G4double fgkDCUTMOff = 10. * TeV
 cut for delta rays by mu (if off)
 
static const G4double fgkTolerance = 1. * keV
 tolerance for comparing cuts
 
static TG4StringVector fgCutNameVector
 vector of cut parameters names
 

Detailed Description

Vector of kinetic energy cut values with convenient set/get methods.

Author
I. Hrivnacova; IPN, Orsay

Definition at line 31 of file TG4G3CutVector.h.

Member Enumeration Documentation

◆ IsBDCutIndex

local enumeration for the indices in the flags arrays

Enumerator
kBE 
kBM 
kDE 
kDM 

Definition at line 98 of file TG4G3CutVector.h.

◆ ApplyBDCutIndex

local enumeration for the indices in the flags arrays

Enumerator
kB 
kBEM 
kD 
kDEM 

Definition at line 106 of file TG4G3CutVector.h.

Constructor & Destructor Documentation

◆ TG4G3CutVector() [1/2]

TG4G3CutVector::TG4G3CutVector ( )

Default constructor

Definition at line 118 of file TG4G3CutVector.cxx.

◆ TG4G3CutVector() [2/2]

TG4G3CutVector::TG4G3CutVector ( const TG4G3CutVector & right)

Copy constructor

Definition at line 133 of file TG4G3CutVector.cxx.

◆ ~TG4G3CutVector()

TG4G3CutVector::~TG4G3CutVector ( )

Destructor

Definition at line 143 of file TG4G3CutVector.cxx.

Member Function Documentation

◆ operator=()

TG4G3CutVector & TG4G3CutVector::operator= ( const TG4G3CutVector & right)

Assignment operator

Definition at line 153 of file TG4G3CutVector.cxx.

◆ operator[]()

G4double TG4G3CutVector::operator[] ( G4int index) const

Element access operator

Definition at line 179 of file TG4G3CutVector.cxx.

◆ Tolerance()

G4double TG4G3CutVector::Tolerance ( )
inlinestatic

Return tolerance for comparing cuts

Definition at line 116 of file TG4G3CutVector.h.

Referenced by CheckCutValue(), TG4G3PhysicsManager::CheckCutWithTheVector(), and TG4G3Defaults::IsDefaultCut().

◆ GetCut()

TG4G3Cut TG4G3CutVector::GetCut ( const G4String & cutName)
static

Retrieve corresponding TG4G3Cut constant from the cutName.

Definition at line 44 of file TG4G3CutVector.cxx.

Referenced by TG4G3PhysicsManager::CheckCutWithTheVector(), TG4GeometryServices::PrintCuts(), and TG4PhysicsManager::SetCut().

◆ CheckCutValue()

G4bool TG4G3CutVector::CheckCutValue ( TG4G3Cut cut,
G4double value )
static

Check if the cut value is valid for given cut; if not return false. Currently only the PPCUTM value is tested if it is > 2 * mass of electron.

Definition at line 75 of file TG4G3CutVector.cxx.

Referenced by TG4G3PhysicsManager::CheckCutWithTheVector(), and TG4G3PhysicsManager::SetCut().

◆ GetCutName()

const G4String & TG4G3CutVector::GetCutName ( TG4G3Cut cut)
static

Return name of a specified cut.

Definition at line 103 of file TG4G3CutVector.cxx.

Referenced by TG4VRegionsManager::GetGlobalEnergyCut().

◆ SetCut()

void TG4G3CutVector::SetCut ( TG4G3Cut cut,
G4double cutValue )

Set the cutValue for the specified cut.

Definition at line 220 of file TG4G3CutVector.cxx.

Referenced by TG4G3PhysicsManager::SetCut(), TG4Limits::SetG3Cut(), and TG4G3Defaults::TG4G3Defaults().

◆ SetG3Defaults()

void TG4G3CutVector::SetG3Defaults ( )

Set G3 default values for all cuts.

Definition at line 284 of file TG4G3CutVector.cxx.

Referenced by TG4G3PhysicsManager::SetG3DefaultCuts(), and TG4Limits::SetG3DefaultCuts().

◆ SetDeltaRaysOn()

void TG4G3CutVector::SetDeltaRaysOn ( G4bool value)
inline

Return delta rays process control

Definition at line 122 of file TG4G3CutVector.h.

Referenced by TG4G3ControlVector::SetControl().

◆ Format()

G4String TG4G3CutVector::Format ( ) const

Format the output into a string.

Definition at line 296 of file TG4G3CutVector.cxx.

Referenced by Print().

◆ Print()

void TG4G3CutVector::Print ( ) const

Print the cuts.

Definition at line 333 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::Print(), and TG4ComposedPhysicsMessenger::SetNewValue().

◆ GetMinEkineForGamma()

G4double TG4G3CutVector::GetMinEkineForGamma ( const G4Track & track) const

Return the cut value for gamma:

  • BCUTE - if gamma is produced by e- Bremstrahlung
  • BCUTM - if gamma is produced by muon or hadron Bremstrahlung
  • CUTGAM - in all other cases

Cut is not applied for "opticalphoton" which is treated in G4 as a particle different from "gamma".

Definition at line 341 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::GetMinEkineForGamma().

◆ GetMinEkineForElectron()

G4double TG4G3CutVector::GetMinEkineForElectron ( const G4Track & track) const

Return the cut value for e-:

  • DCUTE - if e- is produced by e- ionisation and DRAY process is selected (default)
  • DCUTM - if e- is produced by muon ionisation and DRAY process is selected (default)
  • 10 TeV - if e- is produced by ionisation and DRAY process is switched off
  • CUTELE - in all other cases. The delta ray cuts are applied only in the track first step.

Definition at line 386 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::GetMinEkineForElectron().

◆ GetMinEkineForChargedHadron()

G4double TG4G3CutVector::GetMinEkineForChargedHadron ( const G4Track & track) const

Return the cut value for charged hadron (CUTHAD).

Definition at line 440 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::GetMinEkineForChargedHadron().

◆ GetMinEkineForNeutralHadron()

G4double TG4G3CutVector::GetMinEkineForNeutralHadron ( const G4Track & track) const

Return the cut value for neutral hadron (CUTNEU).

Definition at line 449 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::GetMinEkineForNeutralHadron().

◆ GetMinEkineForMuon()

G4double TG4G3CutVector::GetMinEkineForMuon ( const G4Track & track) const

Return the cut value for muon (CUTMUO)

Definition at line 458 of file TG4G3CutVector.cxx.

Referenced by TG4Limits::GetMinEkineForMuon().

◆ GetMinEtotPair()

G4double TG4G3CutVector::GetMinEtotPair ( ) const

Return the cut value for the pair production by muons (PPCUTM).

Definition at line 466 of file TG4G3CutVector.cxx.

Referenced by TG4SteppingAction::ProcessTrackIfBelowCut().

◆ IsCut()

G4bool TG4G3CutVector::IsCut ( ) const
inline

Return true if any of cuts is set.

Definition at line 128 of file TG4G3CutVector.h.

Referenced by TG4Limits::Initialize().

◆ FillCutNameVector()

void TG4G3CutVector::FillCutNameVector ( )
staticprivate

Define fCutNameVector.

Definition at line 197 of file TG4G3CutVector.cxx.

Referenced by GetCutName(), and TG4G3CutVector().

Member Data Documentation

◆ fgkDCUTEOff

const G4double TG4G3CutVector::fgkDCUTEOff = 10. * TeV
staticprivate

cut for delta rays by e- (if off)

Definition at line 74 of file TG4G3CutVector.h.

Referenced by Format(), and GetMinEkineForElectron().

◆ fgkDCUTMOff

const G4double TG4G3CutVector::fgkDCUTMOff = 10. * TeV
staticprivate

cut for delta rays by mu (if off)

Definition at line 77 of file TG4G3CutVector.h.

Referenced by Format().

◆ fgkTolerance

const G4double TG4G3CutVector::fgkTolerance = 1. * keV
staticprivate

tolerance for comparing cuts

Definition at line 80 of file TG4G3CutVector.h.

Referenced by Tolerance().

◆ fgCutNameVector

TG4StringVector TG4G3CutVector::fgCutNameVector
staticprivate

vector of cut parameters names

Definition at line 83 of file TG4G3CutVector.h.

Referenced by FillCutNameVector(), Format(), GetCut(), GetCutName(), and TG4G3CutVector().

◆ fCutVector

◆ fDeltaRaysOn

G4bool TG4G3CutVector::fDeltaRaysOn = true
private

delta rays process control

Definition at line 92 of file TG4G3CutVector.h.

Referenced by Format(), GetMinEkineForElectron(), operator=(), and SetDeltaRaysOn().

◆ fIsCut

G4bool TG4G3CutVector::fIsCut = false
private

flag if any value is set

Definition at line 95 of file TG4G3CutVector.h.

Referenced by IsCut(), operator=(), SetCut(), and SetG3Defaults().

◆ fIsBDCut

std::array<G4bool, 4> TG4G3CutVector::fIsBDCut = { false, false, false, false}
private

flag to prevent overwiting [B/D]CUT[E/M] cut if set by user

Definition at line 103 of file TG4G3CutVector.h.

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

◆ fApplyBDCut

std::array<G4bool, 4> TG4G3CutVector::fApplyBDCut = { false, false, false, false}
private

flag set if [B/D]CUT[E/M] cut is different from CUT[ELE/GAM]

Definition at line 111 of file TG4G3CutVector.h.

Referenced by GetMinEkineForElectron(), GetMinEkineForGamma(), operator=(), and SetCut().


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