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

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/dna/molecules/management/include/G4MoleculeCounter.hh>

+ Inheritance diagram for G4MoleculeCounter:
+ Collaboration diagram for G4MoleculeCounter:

Classes

struct  Search
 

Public Types

using ReactantList = std::vector< Reactant * >
 
using CounterMapType = std::map< Reactant *, NbMoleculeAgainstTime >
 
using RecordedMolecules = std::unique_ptr< ReactantList >
 
- Public Types inherited from G4VMoleculeCounter
using Reactant = const G4MolecularConfiguration
 

Public Member Functions

void Initialize () override
 
void ResetCounter () override
 
void DontRegister (const G4MoleculeDefinition *) override
 
bool IsRegistered (const G4MoleculeDefinition *) override
 
void RegisterAll () override
 
int GetNMoleculesAtTime (Reactant *molecule, double time)
 
const NbMoleculeAgainstTimeGetNbMoleculeAgainstTime (Reactant *molecule)
 
RecordedMolecules GetRecordedMolecules ()
 
RecordedTimes GetRecordedTimes ()
 
void SetVerbose (G4int)
 
G4int GetVerbose ()
 
void Dump ()
 
G4bool IsTimeCheckedForConsistency () const
 
void CheckTimeForConsistency (G4bool flag)
 
- Public Member Functions inherited from G4VMoleculeCounter
virtual void AddAMoleculeAtTime (Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1)=0
 
virtual void RemoveAMoleculeAtTime (Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1)=0
 

Static Public Member Functions

static G4MoleculeCounterInstance ()
 
static void SetTimeSlice (double)
 
- Static Public Member Functions inherited from G4VMoleculeCounter
static void SetInstance (G4VMoleculeCounter *)
 
static void DeleteInstance ()
 
static G4VMoleculeCounterInstance ()
 
static void InitializeInstance ()
 
static void Use (G4bool flag=true)
 
static G4bool InUse ()
 

Protected Member Functions

void AddAMoleculeAtTime (Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1) override
 
void RemoveAMoleculeAtTime (Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1) override
 
G4bool SearchTimeMap (Reactant *molecule)
 
int SearchUpperBoundTime (double time, bool sameTypeOfMolecule)
 
 G4MoleculeCounter ()
 
 ~G4MoleculeCounter () override
 
- Protected Member Functions inherited from G4VMoleculeCounter
 G4VMoleculeCounter ()=default
 
virtual ~G4VMoleculeCounter ()=default
 

Protected Attributes

CounterMapType fCounterMap
 
std::map< const
G4MoleculeDefinition *, G4bool
fDontRegister
 
G4int fVerbose
 
G4bool fCheckTimeIsConsistentWithScheduler
 
std::unique_ptr< SearchfpLastSearch
 

Friends

class G4Molecule
 
class G4VMoleculeCounter
 

Additional Inherited Members

- Static Protected Attributes inherited from G4VMoleculeCounter
static G4ThreadLocal
G4VMoleculeCounter
fpInstance = nullptr
 
static G4bool fUse = false
 

Detailed Description

Definition at line 69 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 69 of file G4MoleculeCounter.hh

Member Typedef Documentation

Definition at line 74 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 74 of file G4MoleculeCounter.hh

Definition at line 73 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 73 of file G4MoleculeCounter.hh

Definition at line 75 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 75 of file G4MoleculeCounter.hh

Constructor & Destructor Documentation

G4MoleculeCounter::G4MoleculeCounter ( )
protected

Definition at line 71 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 71 of file G4MoleculeCounter.cc

G4MoleculeCounter::~G4MoleculeCounter ( )
overrideprotecteddefault

Member Function Documentation

void G4MoleculeCounter::AddAMoleculeAtTime ( Reactant ,
G4double  time,
const G4ThreeVector position = nullptr,
int  number = 1 
)
overrideprotected

Definition at line 208 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 208 of file G4MoleculeCounter.cc

References FatalException, G4::MoleculeCounter::TimePrecision::fPrecision, G4BestUnit, G4cout, G4endl, G4Exception(), G4MolecularConfiguration::GetDefinition(), G4MolecularConfiguration::GetName(), G4Scheduler::Instance(), molecule(), and Acts::VectorHelpers::time().

+ Here is the call graph for this function:

void G4MoleculeCounter::CheckTimeForConsistency ( G4bool  flag)

Definition at line 509 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 509 of file G4MoleculeCounter.cc

void G4MoleculeCounter::DontRegister ( const G4MoleculeDefinition molDef)
overridevirtual

Reimplemented from G4VMoleculeCounter.

Definition at line 481 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 481 of file G4MoleculeCounter.cc

void G4MoleculeCounter::Dump ( )

Definition at line 430 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 430 of file G4MoleculeCounter.cc

References G4BestUnit, G4cout, G4endl, and it.

const NbMoleculeAgainstTime & G4MoleculeCounter::GetNbMoleculeAgainstTime ( Reactant molecule)

Definition at line 460 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 460 of file G4MoleculeCounter.cc

References molecule().

+ Here is the call graph for this function:

int G4MoleculeCounter::GetNMoleculesAtTime ( Reactant molecule,
double  time 
)

Definition at line 199 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 199 of file G4MoleculeCounter.cc

Referenced by ScoreSpecies::EndOfEvent().

+ Here is the caller graph for this function:

G4MoleculeCounter::RecordedMolecules G4MoleculeCounter::GetRecordedMolecules ( )

Definition at line 370 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 370 of file G4MoleculeCounter.cc

References G4cout, G4endl, and it.

Referenced by ScoreSpecies::EndOfEvent().

+ Here is the caller graph for this function:

RecordedTimes G4MoleculeCounter::GetRecordedTimes ( )

Definition at line 388 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 388 of file G4MoleculeCounter.cc

References it.

G4int G4MoleculeCounter::GetVerbose ( )

Definition at line 474 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 474 of file G4MoleculeCounter.cc

void G4MoleculeCounter::Initialize ( )
overridevirtual

Implements G4VMoleculeCounter.

Definition at line 83 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 83 of file G4MoleculeCounter.cc

References G4MoleculeTable::GetConfigurationIterator(), and G4MoleculeTable::Instance().

+ Here is the call graph for this function:

G4MoleculeCounter * G4MoleculeCounter::Instance ( void  )
static

Definition at line 60 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 60 of file G4MoleculeCounter.cc

Referenced by ScoreSpecies::EndOfEvent().

+ Here is the caller graph for this function:

bool G4MoleculeCounter::IsRegistered ( const G4MoleculeDefinition molDef)
overridevirtual

Reimplemented from G4VMoleculeCounter.

Definition at line 488 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 488 of file G4MoleculeCounter.cc

G4bool G4MoleculeCounter::IsTimeCheckedForConsistency ( ) const

Definition at line 504 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 504 of file G4MoleculeCounter.cc

void G4MoleculeCounter::RegisterAll ( )
overridevirtual

Reimplemented from G4VMoleculeCounter.

Definition at line 499 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 499 of file G4MoleculeCounter.cc

void G4MoleculeCounter::RemoveAMoleculeAtTime ( Reactant pMolecule,
G4double  time,
const G4ThreeVector position = nullptr,
int  number = 1 
)
overrideprotected

Definition at line 268 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 268 of file G4MoleculeCounter.cc

References FatalErrorInArgument, FatalException, G4::MoleculeCounter::TimePrecision::fPrecision, G4BestUnit, G4cout, G4endl, G4Exception(), G4MolecularConfiguration::GetDefinition(), G4MolecularConfiguration::GetName(), G4Scheduler::Instance(), it, G4MolecularConfiguration::PrintState(), and Acts::VectorHelpers::time().

+ Here is the call graph for this function:

void G4MoleculeCounter::ResetCounter ( )
overridevirtual

Implements G4VMoleculeCounter.

Definition at line 448 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 448 of file G4MoleculeCounter.cc

References G4cout, and G4endl.

Referenced by ScoreSpecies::EndOfEvent().

+ Here is the caller graph for this function:

G4bool G4MoleculeCounter::SearchTimeMap ( Reactant molecule)
protected

Definition at line 106 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 106 of file G4MoleculeCounter.cc

int G4MoleculeCounter::SearchUpperBoundTime ( double  time,
bool  sameTypeOfMolecule 
)
protected

Definition at line 140 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 140 of file G4MoleculeCounter.cc

void G4MoleculeCounter::SetTimeSlice ( double  timeSlice)
static

Definition at line 99 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 99 of file G4MoleculeCounter.cc

References G4::MoleculeCounter::TimePrecision::fPrecision.

void G4MoleculeCounter::SetVerbose ( G4int  level)

Definition at line 467 of file G4MoleculeCounter.cc.

View newest version in sPHENIX GitHub at line 467 of file G4MoleculeCounter.cc

Friends And Related Function Documentation

friend class G4Molecule
friend

Definition at line 148 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 148 of file G4MoleculeCounter.hh

friend class G4VMoleculeCounter
friend

Definition at line 149 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 149 of file G4MoleculeCounter.hh

Member Data Documentation

G4bool G4MoleculeCounter::fCheckTimeIsConsistentWithScheduler
protected

Definition at line 133 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 133 of file G4MoleculeCounter.hh

CounterMapType G4MoleculeCounter::fCounterMap
protected

Definition at line 129 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 129 of file G4MoleculeCounter.hh

std::map<const G4MoleculeDefinition*, G4bool> G4MoleculeCounter::fDontRegister
protected

Definition at line 130 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 130 of file G4MoleculeCounter.hh

std::unique_ptr<Search> G4MoleculeCounter::fpLastSearch
protected

Definition at line 146 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 146 of file G4MoleculeCounter.hh

G4int G4MoleculeCounter::fVerbose
protected

Definition at line 132 of file G4MoleculeCounter.hh.

View newest version in sPHENIX GitHub at line 132 of file G4MoleculeCounter.hh


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