45 #ifndef G4MoleculeCounter_h 
   46 #define G4MoleculeCounter_h 
   72 #if __cplusplus > 199711L && !defined __clang__ 
   73 #define stdunique_ptr std::unique_ptr 
   75 #define stdunique_ptr std::auto_ptr 
  120 #ifdef MOLECULE_COUNTER_TESTING 
stdunique_ptr< Search > fpLastSearch
 
int SearchUpperBoundTime(double time, bool sameTypeOfMolecule)
 
virtual void AddAMoleculeAtTime(const G4Molecule &, G4double)
 
CounterMapType fCounterMap
 
std::set< G4double >::iterator RecordedTimesIterator
 
static G4MoleculeCounter * GetMoleculeCounter()
 
G4bool SearchTimeMap(const G4Molecule &molecule)
 
int GetNMoleculesAtTime(const G4Molecule &molecule, double time)
 
std::map< const G4MoleculeDefinition *, G4bool > fDontRegister
 
virtual void RegisterAll()
 
RecordedMolecules GetRecordedMolecules()
 
virtual void DontRegister(const G4MoleculeDefinition *)
 
virtual ~G4MoleculeCounter()
 
static G4MoleculeCounter * Instance()
 
stdunique_ptr< std::set< G4double > > RecordedTimes
 
void Use(G4bool flag=true)
 
bool operator()(const double &a, const double &b) const 
 
CounterMapType::iterator fLastMoleculeSearched
 
virtual void ResetCounter()
 
static G4ThreadLocal double fPrecision
 
NbMoleculeAgainstTime::iterator fLowerBoundTime
 
std::map< G4Molecule, NbMoleculeAgainstTime > CounterMapType
 
static G4ThreadLocal G4MoleculeCounter * fpInstance
 
stdunique_ptr< std::vector< G4Molecule > > RecordedMolecules
 
std::map< G4double, G4int, compDoubleWithPrecision > NbMoleculeAgainstTime
 
static void InitializeInstance()
 
RecordedTimes GetRecordedTimes()
 
Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer...
 
virtual void RemoveAMoleculeAtTime(const G4Molecule &, G4double)
 
const NbMoleculeAgainstTime & GetNbMoleculeAgainstTime(const G4Molecule &molecule)
 
void SetTimeSlice(double)
 
static void DeleteInstance()