Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VMoleculeCounter Class Referenceabstract

#include <G4VMoleculeCounter.hh>

Inheritance diagram for G4VMoleculeCounter:

Classes

struct  G4VMoleculeCounterIndex

Public Types

enum  MoleculeCounterType { Other , Basic , Mesoscopic }

Public Member Functions

 ~G4VMoleculeCounter () override=default
virtual std::unique_ptr< G4VMoleculeCounterIndexBuildIndex (const G4Track *) const =0
virtual std::unique_ptr< G4VMoleculeCounterIndexBuildIndex (const G4Track *, const G4StepPoint *) const =0
virtual std::unique_ptr< G4VMoleculeCounterIndexBuildSimpleIndex (const G4MolecularConfiguration *) const =0
virtual void AddMolecule (std::unique_ptr< G4VMoleculeCounterIndex >, G4double, G4int=1)=0
virtual void RemoveMolecule (std::unique_ptr< G4VMoleculeCounterIndex >, G4double, G4int=1)=0
virtual std::set< const G4MolecularConfiguration * > GetRecordedMolecules () const =0
std::set< G4doubleGetRecordedTimes () const override=0
virtual void SchedulerFinalizedTracking ()=0
MoleculeCounterType GetType () const
G4bool GetSensitiveToStepping () const
void SetSensitiveToStepping (G4bool=true)
G4bool GetNegativeCountsAreFatal () const
void IgnoreMolecule (const G4MoleculeDefinition *)
void IgnoreReactant (const G4MolecularConfiguration *)
void RegisterAll ()
G4bool IsReactantIgnored (const G4MoleculeDefinition *) const
G4bool IsReactantIgnored (const G4MolecularConfiguration *) const
Public Member Functions inherited from G4VMoleculeCounterInternalBase
virtual ~G4VMoleculeCounterInternalBase ()=default
virtual void Initialize ()=0
virtual void InitializeUser ()=0
virtual void ResetCounter ()=0
virtual void Dump () const =0
virtual void DumpCounterMapIndices () const =0
virtual void AbsorbCounter (const G4VMoleculeCounterInternalBase *)=0
G4int GetId () const
void SetManagedId (G4int)
G4int GetManagedId () const
const G4StringGetName () const
G4int GetVerbose () const
void SetVerbose (G4int)
G4double GetActiveLowerBound () const
void SetActiveLowerBound (G4double, G4bool=true)
G4double GetActiveUpperBound () const
void SetActiveUpperBound (G4double, G4bool=true)
G4bool GetActiveLowerBoundInclusive () const
G4bool GetActiveUpperBoundInclusive () const
G4bool IsTimeBelowLowerBound (G4double) const
G4bool IsTimeAboveUpperBound (G4double) const
G4bool IsActiveAtGlobalTime (G4double) const
G4bool GetCheckTimeConsistencyWithScheduler () const
void SetCheckTimeConsistencyWithScheduler (G4bool=true)
G4bool GetCheckRecordedTimeConsistency () const
void SetCheckRecordedTimeConsistency (G4bool=true)
const G4MoleculeCounterTimeComparerGetTimeComparer () const
void SetTimeComparer (const G4MoleculeCounterTimeComparer &)

Protected Member Functions

void SetNegativeCountsAreFatal (G4bool)

Protected Attributes

MoleculeCounterType fType {MoleculeCounterType::Other}
G4bool fSensitiveToStepping {false}
G4bool fNegativeCountsAreFatal {true}
std::set< const G4MoleculeDefinition * > fIgnoredMolecules {}
std::set< const G4MolecularConfiguration * > fIgnoredReactants {}
Protected Attributes inherited from G4VMoleculeCounterInternalBase
G4bool fIsInitialized {false}
G4int fId
G4int fManagedId {-1}
G4String fName {}
G4int fVerbose {0}
G4double fActiveLowerBound {0}
G4double fActiveUpperBound {std::numeric_limits<G4double>::max()}
G4bool fActiveLowerBoundInclusive {true}
G4bool fActiveUpperBoundInclusive {true}
G4bool fCheckTimeIsConsistentWithScheduler {true}
G4bool fCheckRecordedTimesAreConsistent {true}
G4MoleculeCounterTimeComparer fTimeComparer {}

Friends

template<typename>
class G4VUserMoleculeCounter

Additional Inherited Members

Static Public Member Functions inherited from G4VMoleculeCounterInternalBase
static void SetFixedTimePrecision (G4double)

Detailed Description

Definition at line 49 of file G4VMoleculeCounter.hh.

Member Enumeration Documentation

◆ MoleculeCounterType

Enumerator
Other 
Basic 
Mesoscopic 

Definition at line 55 of file G4VMoleculeCounter.hh.

Constructor & Destructor Documentation

◆ ~G4VMoleculeCounter()

G4VMoleculeCounter::~G4VMoleculeCounter ( )
overridedefault

Member Function Documentation

◆ AddMolecule()

virtual void G4VMoleculeCounter::AddMolecule ( std::unique_ptr< G4VMoleculeCounterIndex > ,
G4double ,
G4int = 1 )
pure virtual

◆ BuildIndex() [1/2]

virtual std::unique_ptr< G4VMoleculeCounterIndex > G4VMoleculeCounter::BuildIndex ( const G4Track * ) const
pure virtual

◆ BuildIndex() [2/2]

virtual std::unique_ptr< G4VMoleculeCounterIndex > G4VMoleculeCounter::BuildIndex ( const G4Track * ,
const G4StepPoint *  ) const
pure virtual

◆ BuildSimpleIndex()

virtual std::unique_ptr< G4VMoleculeCounterIndex > G4VMoleculeCounter::BuildSimpleIndex ( const G4MolecularConfiguration * ) const
pure virtual

◆ GetNegativeCountsAreFatal()

G4bool G4VMoleculeCounter::GetNegativeCountsAreFatal ( ) const
inline

Definition at line 134 of file G4VMoleculeCounter.hh.

135{
137}

◆ GetRecordedMolecules()

virtual std::set< const G4MolecularConfiguration * > G4VMoleculeCounter::GetRecordedMolecules ( ) const
pure virtual

◆ GetRecordedTimes()

std::set< G4double > G4VMoleculeCounter::GetRecordedTimes ( ) const
overridepure virtual

◆ GetSensitiveToStepping()

G4bool G4VMoleculeCounter::GetSensitiveToStepping ( ) const
inline

Definition at line 129 of file G4VMoleculeCounter.hh.

130{
132}

◆ GetType()

G4VMoleculeCounter::MoleculeCounterType G4VMoleculeCounter::GetType ( ) const
inline

Definition at line 124 of file G4VMoleculeCounter.hh.

125{
126 return fType;
127}
MoleculeCounterType fType

Referenced by G4VUserMoleculeCounter< TIndex >::AbsorbCounter().

◆ IgnoreMolecule()

void G4VMoleculeCounter::IgnoreMolecule ( const G4MoleculeDefinition * molecule)
inline

Definition at line 143 of file G4VMoleculeCounter.hh.

144{
145 fIgnoredMolecules.insert(molecule);
146}
std::set< const G4MoleculeDefinition * > fIgnoredMolecules

◆ IgnoreReactant()

void G4VMoleculeCounter::IgnoreReactant ( const G4MolecularConfiguration * reactant)
inline

Definition at line 148 of file G4VMoleculeCounter.hh.

149{
150 fIgnoredReactants.insert(reactant);
151}
std::set< const G4MolecularConfiguration * > fIgnoredReactants

◆ IsReactantIgnored() [1/2]

G4bool G4VMoleculeCounter::IsReactantIgnored ( const G4MolecularConfiguration * reactant) const

Definition at line 69 of file G4VMoleculeCounter.cc.

70{
72}
G4bool Contains(const std::set< T > &_set, const T &_value)

◆ IsReactantIgnored() [2/2]

G4bool G4VMoleculeCounter::IsReactantIgnored ( const G4MoleculeDefinition * molecule) const

Definition at line 62 of file G4VMoleculeCounter.cc.

63{
65}

◆ RegisterAll()

void G4VMoleculeCounter::RegisterAll ( )
inline

Definition at line 153 of file G4VMoleculeCounter.hh.

154{
155 fIgnoredMolecules.clear();
156 fIgnoredReactants.clear();
157}

◆ RemoveMolecule()

virtual void G4VMoleculeCounter::RemoveMolecule ( std::unique_ptr< G4VMoleculeCounterIndex > ,
G4double ,
G4int = 1 )
pure virtual

◆ SchedulerFinalizedTracking()

virtual void G4VMoleculeCounter::SchedulerFinalizedTracking ( )
pure virtual

◆ SetNegativeCountsAreFatal()

void G4VMoleculeCounter::SetNegativeCountsAreFatal ( G4bool flag)
inlineprotected

Definition at line 138 of file G4VMoleculeCounter.hh.

139{
141}

◆ SetSensitiveToStepping()

void G4VMoleculeCounter::SetSensitiveToStepping ( G4bool flag = true)

Definition at line 49 of file G4VMoleculeCounter.cc.

50{
51 if (fType == MoleculeCounterType::Basic && flag) {
53 errMsg << "Cannot set a molecule counter of type 'Basic' to be sensitive to stepping!"
54 << G4endl;
55 G4Exception("G4VMoleculeCounter::SetSensitiveToStepping", "NOT_ALLOWED", FatalException, errMsg);
56 }
58}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4endl
Definition G4ios.hh:67

◆ G4VUserMoleculeCounter

template<typename>
friend class G4VUserMoleculeCounter
friend

Definition at line 52 of file G4VMoleculeCounter.hh.

Referenced by G4VUserMoleculeCounter.

Member Data Documentation

◆ fIgnoredMolecules

std::set<const G4MoleculeDefinition*> G4VMoleculeCounter::fIgnoredMolecules {}
protected

◆ fIgnoredReactants

std::set<const G4MolecularConfiguration*> G4VMoleculeCounter::fIgnoredReactants {}
protected

◆ fNegativeCountsAreFatal

G4bool G4VMoleculeCounter::fNegativeCountsAreFatal {true}
protected

◆ fSensitiveToStepping

G4bool G4VMoleculeCounter::fSensitiveToStepping {false}
protected

Definition at line 96 of file G4VMoleculeCounter.hh.

96{false};

Referenced by GetSensitiveToStepping(), and SetSensitiveToStepping().

◆ fType

MoleculeCounterType G4VMoleculeCounter::fType {MoleculeCounterType::Other}
protected

Definition at line 94 of file G4VMoleculeCounter.hh.

Referenced by GetType(), and SetSensitiveToStepping().


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