00001
00002
00003 #include <string>
00004 #include <iostream>
00005 #include <fstream>
00006
00007 #include "L2DbTime.h"
00008
00009
00010
00011
00012
00013
00014
00015
00016 L2DbTime::L2DbTime()
00017 {
00018
00019 Int_t mydate=-1111;
00020 Int_t mytime=-1111;
00021
00022 mTag=mPedFile=mMaskFile="EMPTY";
00023 mDateStart=mydate;
00024 mDateFinish=mydate;
00025 mTimeStart=mytime;
00026 mTimeFinish=mytime;
00027 }
00028
00029 Bool_t L2DbTime::valid( Int_t mydate, Int_t mytime )
00030 {
00031
00032 Bool_t inRange = mydate >= mDateStart && mydate <= mDateFinish;
00033 if ( mydate==mDateStart ) inRange &= mytime >= mTimeStart;
00034 if ( mydate==mDateFinish ) inRange &= mytime < mTimeFinish;
00035 return inRange;
00036
00037 }
00038
00039 Bool_t L2DbTime::eof()
00040 {
00041 return mTag.Contains("EndOfFile") || mTag.Contains("EOF");
00042 }
00043
00044 Bool_t L2DbTime::comment()
00045 {
00046 return mTag.Contains("#");
00047 }
00048
00049 std::ifstream &L2DbTime::read( std::ifstream &in )
00050 {
00051 Char_t buf1[128], buf2[128], buf3[128];
00052 READ:
00053 if ( in.eof() ) return in;
00054
00055 in >> buf1; mTag=buf1;
00056 if ( !TString(mTag).Contains(":") ) goto READ;
00057 in >> mDateStart;
00058 in >> mTimeStart;
00059 in >> mDateFinish;
00060 in >> mTimeFinish;
00061 in >> buf2; mPedFile=buf2;
00062 in >> buf3; mMaskFile=buf3;
00063
00064 return in;
00065 }
00066
00067 void L2DbTime::print()
00068 {
00069 std::cout << Form(" L2DbTime::=%s=\t%7i.%i\t%7i.%i\t%s\t%s",mTag.Data(),mDateStart,mTimeStart,mDateFinish,mTimeFinish,mPedFile.Data(),mMaskFile.Data()) << std::endl;
00070 }
00071