14 #ifndef SST_CORE_TIMELORD_H
15 #define SST_CORE_TIMELORD_H
17 #include "sst/core/sst_types.h"
23 #include "sst/core/unitAlgebra.h"
24 #include "sst/core/threadsafe.h"
26 extern int main(
int argc,
char **argv);
31 class Simulation_impl;
39 typedef std::map<SimTime_t,TimeConverter*> TimeConverterMap_t;
40 typedef std::map<std::string,TimeConverter*> StringToTCMap_t;
77 SimTime_t
getSimCycles(
const std::string& timeString,
const std::string& where);
83 friend int ::main(
int argc,
char **argv);
85 void init(
const std::string& timeBaseString);
94 TimeLord(TimeLord
const&);
95 void operator=(TimeLord
const&);
98 std::recursive_mutex slock;
101 std::string timeBaseString;
102 TimeConverterMap_t tcMap;
103 UnitAlgebra timeBase;
106 StringToTCMap_t parseCache;
109 TimeConverter* micro;
110 TimeConverter* milli;
116 #endif //SST_CORE_TIMELORD_H
TimeConverter * getTimeConverter(const std::string &ts)
Create a new TimeConverter object using specified SI Units.
Definition: timeLord.cc:30
Main control class for a SST Simulation.
Definition: simulation.h:38
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:25
SimTime_t getSimCycles(const std::string &timeString, const std::string &where)
Not a Public API.
Definition: timeLord.cc:115
TimeConverter * getNano()
Return a TimeConverter which represents Nanoseconds.
Definition: timeLord.h:68
UnitAlgebra getTimeBase() const
Return the Time Base of the TimeLord.
Definition: timeLord.h:65
TimeConverter * getMicro()
Return a TimeConverter which represents Microseconds.
Definition: timeLord.h:70
TimeConverter * getMilli()
Return a TimeConverter which represents Milliseconds.
Definition: timeLord.h:72
Main control class for a SST Simulation.
Definition: simulation_impl.h:72
Class for creating and managing TimeConverter objects.
Definition: timeLord.h:38
Performs Unit math in full precision.
Definition: unitAlgebra.h:107