Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

EusoTimeOrbit - source file

// 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)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:57:39 2005 Wed Nov 16 16:29:22 2005