// ESAF : Euso Simulation and Analysis Framework
// $Id: EusoTimeOrbit.cc,v 1.4 2004/06/14 09:16:25 thea Exp $
// M. Pallavicini created May, 7 2003
// FIXME: very preliminary version
// mostly to be done!!
#include "EusoTimeOrbit.hh"
#include "Config.hh"
EusoTimeOrbit *EusoTimeOrbit::me = NULL;
// ctor
EusoTimeOrbit::EusoTimeOrbit() {
SetRunDate();
SetEventTime("00:00:00"); // hh:mm:ss
}
// dtor
EusoTimeOrbit::~EusoTimeOrbit() {
}
// instance
EusoTimeOrbit* EusoTimeOrbit::Get() {
if ( me == NULL )
me = new EusoTimeOrbit();
return me;
}
// get run date
const string& EusoTimeOrbit::GetRunDate() {
struct tm *ts = gmtime(&fTime);
char s[100];
strftime(s,95,"%d-%b-%Y",ts);
fStringBuffer = s;
return fStringBuffer;
}
// set date via time_t
void EusoTimeOrbit::SetRunDate(time_t *pT) {
if ( pT ) {
fTime = *pT;
}
else {
string s = Config::Get()->GetCF("General","Run")->GetStr("Run.fRunDate");
if ( s == "now" ) {
fTime = time(NULL);
// FIXME: need to set hour to 00:00:00 ....
} else {
// FIXME: need to parse string from file and set fTime ...
}
}
}
// to be done
void EusoTimeOrbit::SetRunDate(const string& s) {
}
// to be done
void EusoTimeOrbit::SetRunDate(const char* s) {
}
// event UTC time
const string& EusoTimeOrbit::GetEventTime() {
return fStringBuffer;
}
// set time via time_t
void EusoTimeOrbit::SetEventTime(time_t* pT) {
if ( pT ) {
fTime = *pT;
} else {
fTime = time( NULL );
}
}
// set time via time_t
void EusoTimeOrbit::SetEventTime(const string& s) {
}
// set time via time_t
void EusoTimeOrbit::SetEventTime(const char* s) {
}
ClassImp(EusoTimeOrbit)