14 #ifndef SST_CORE_TIMELORD_H
15 #define SST_CORE_TIMELORD_H
17 #include <sst/core/sst_types.h>
22 #include <sst/core/simulation.h>
23 #include <sst/core/unitAlgebra.h>
24 #include <sst/core/threadsafe.h>
26 extern int main(
int argc,
char **argv);
37 typedef std::map<SimTime_t,TimeConverter*> TimeConverterMap_t;
38 typedef std::map<std::string,TimeConverter*> StringToTCMap_t;
63 SimTime_t
getSimCycles(std::string timeString, std::string where);
78 friend int ::main(
int argc,
char **argv);
80 void init(std::string timeBaseString);
89 TimeLord(TimeLord
const&);
90 void operator=(TimeLord
const&);
93 std::recursive_mutex slock;
96 std::string timeBaseString;
97 TimeConverterMap_t tcMap;
101 StringToTCMap_t parseCache;
104 TimeConverter* micro;
105 TimeConverter* milli;
111 #endif //SST_CORE_TIMELORD_H
Main control class for a SST Simulation.
Definition: simulation.h:72
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(std::string timeString, std::string where)
Not a Public API.
Definition: timeLord.cc:113
TimeConverter * getNano()
Return a TimeConverter which represents Nanoseconds.
Definition: timeLord.h:70
UnitAlgebra getTimeBase() const
Return the Time Base of the TimeLord.
Definition: timeLord.h:67
TimeConverter * getMicro()
Return a TimeConverter which represents Microseconds.
Definition: timeLord.h:72
TimeConverter * getTimeConverter(std::string ts)
Create a new TimeConverter object using specified SI Units.
Definition: timeLord.cc:28
TimeConverter * getMilli()
Return a TimeConverter which represents Milliseconds.
Definition: timeLord.h:74
Class for creating and managing TimeConverter objects.
Definition: timeLord.h:36
Performs Unit math in full precision.
Definition: unitAlgebra.h:104