45 #ifndef G4MoleculeCounter_h    46 #define G4MoleculeCounter_h   104       fLowerBoundSet = 
false;
   113 #ifdef MOLECULE_COUNTER_TESTING   122   virtual void AddAMoleculeAtTime(G4MolecularConfiguration*,
   125   virtual void RemoveAMoleculeAtTime(G4MolecularConfiguration*,
   130   static void DeleteInstance();
   134   static void InitializeInstance();
   136   G4bool SearchTimeMap(G4MolecularConfiguration* molecule);
   137   int SearchUpperBoundTime(
double time, 
bool sameTypeOfMolecule);
   139   int GetNMoleculesAtTime(G4MolecularConfiguration* molecule, 
double time);
   141   GetNbMoleculeAgainstTime(G4MolecularConfiguration* molecule);
   143   RecordedMolecules GetRecordedMolecules();
   151   inline virtual void RegisterAll();
   158   static void Use(
G4bool flag = 
true);
   161   inline void SetVerbose(
G4int);
   162   inline G4int GetVerbose();
   167   void SetTimeSlice(
double);
   169   virtual void ResetCounter();
   175     return fCheckTimeIsConsistentWithScheduler;
   180     fCheckTimeIsConsistentWithScheduler = flag;
   188       G4cout << 
" ---> G4MoleculeCounter::ResetCounter" << 
G4endl;
   191   fpLastSearch.reset(0);
   197   return fCounterMap[molecule];
   212   fDontRegister[molDef] = 
true;
   217   if(fDontRegister.find(molDef) == fDontRegister.end()) 
return true;
   223   fDontRegister.clear();
 
void CheckTimeForConsistency(G4bool flag)
 
bool operator()(const double &a, const double &b) const
 
CounterMapType fCounterMap
 
std::set< G4double >::iterator RecordedTimesIterator
 
std::unique_ptr< std::vector< G4MolecularConfiguration * > > RecordedMolecules
 
std::map< const G4MoleculeDefinition *, G4bool > fDontRegister
 
std::unique_ptr< Search > fpLastSearch
 
virtual void RegisterAll()
 
virtual void DontRegister(const G4MoleculeDefinition *)
 
const NbMoleculeAgainstTime & GetNbMoleculeAgainstTime(G4MolecularConfiguration *molecule)
 
G4bool IsTimeCheckedForConsistency() const
 
G4GLOB_DLL std::ostream G4cout
 
std::map< G4MolecularConfiguration *, NbMoleculeAgainstTime > CounterMapType
 
CounterMapType::iterator fLastMoleculeSearched
 
virtual void ResetCounter()
 
std::unique_ptr< std::set< G4double > > RecordedTimes
 
virtual bool IsRegistered(const G4MoleculeDefinition *)
 
static G4ThreadLocal double fPrecision
 
NbMoleculeAgainstTime::iterator fLowerBoundTime
 
static G4ThreadLocal G4MoleculeCounter * fpInstance
 
std::map< G4double, G4int, compDoubleWithPrecision > NbMoleculeAgainstTime
 
G4bool fCheckTimeIsConsistentWithScheduler