X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliLHCDipValT.h;h=c6ebfbebb499eb0b7fa6d700a28d8c9e8b4b9252;hb=a5856bc0ef9f1a86f34a9402efa310102c944a57;hp=e9cf810363b35ae963cbed0cf37a163ba72c6cb7;hpb=3760aa6b2e602942298cfa43a8d9a6aa28fa09c8;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliLHCDipValT.h b/STEER/AliLHCDipValT.h index e9cf810363b..c6ebfbebb49 100755 --- a/STEER/AliLHCDipValT.h +++ b/STEER/AliLHCDipValT.h @@ -42,11 +42,11 @@ template class AliLHCDipValT : public TObject void SetValues(const Element *v, Int_t n); void SetTimeStamp(Double_t v) {fTimeStamp = v;} // - Int_t GetSizeTotal() const {return GetUniqueID();} + Int_t GetSizeTotal() const {return fSizeTot;} Element GetValue(Int_t i=0) const; Element* GetValues() const {return (Element*)fArray;} Double_t GetTimeStamp() const {return fTimeStamp;} - Char_t* GetTimeAsString() const {return TimeAsString(fTimeStamp);} + Char_t* GetTimeAsString(Bool_t utc=kTRUE) const {return TimeAsString(fTimeStamp,utc);} // void SetProcessed1(Bool_t v=kTRUE) {SetBit(kProcessed1,v);} void SetLastSpecial(Bool_t v=kTRUE) {SetBit(kLastSpecial,v);} @@ -60,12 +60,13 @@ template class AliLHCDipValT : public TObject virtual void Clear(const Option_t *opt=""); virtual void Print(const Option_t *opt="") const; // - static Char_t* TimeAsString(double t); + static Char_t* TimeAsString(double t,Bool_t utc=kTRUE); // protected: // Double_t fTimeStamp; // timestamp of the entry - Element* fArray; //[fUniqueID] array of entries + Int_t fSizeTot; // vector total size (including special slots, like for errors) + Element* fArray; //[fSizeTot] array of entries // ClassDef(AliLHCDipValT,1) }; @@ -74,7 +75,7 @@ template class AliLHCDipValT : public TObject //__________________________________________________________________________ template AliLHCDipValT::AliLHCDipValT(Int_t size,Double_t t) -: fTimeStamp(t),fArray(0) +: fTimeStamp(t),fSizeTot(0),fArray(0) { //def. constructor SetSize(size); @@ -87,10 +88,9 @@ AliLHCDipValT::AliLHCDipValT(Int_t size,Double_t t) //__________________________________________________________________________ template AliLHCDipValT::AliLHCDipValT(const AliLHCDipValT &src) -: TObject(src),fTimeStamp(src.fTimeStamp),fArray(0) +: TObject(src),fTimeStamp(src.fTimeStamp),fSizeTot(0),fArray(0) { //copy constructor - SetUniqueID(0); SetSize(src.GetSizeTotal()); memcpy(fArray,src.fArray,GetSizeTotal()*sizeof(Element)); } @@ -102,7 +102,6 @@ AliLHCDipValT& AliLHCDipValT::operator=(const AliLHCDipValToperator=(src); - SetUniqueID(0); if (GetSizeTotal()!=src.GetSizeTotal()) SetSize(src.GetSizeTotal()); SetTimeStamp(src.GetTimeStamp()); memcpy(fArray,src.fArray,GetSizeTotal()*sizeof(Element)); @@ -112,12 +111,15 @@ AliLHCDipValT& AliLHCDipValT::operator=(const AliLHCDipValT -Char_t* AliLHCDipValT::TimeAsString(double t) +Char_t* AliLHCDipValT::TimeAsString(double t, Bool_t utc) { + // time as string in UTC or local format + static char buff[22]; time_t tt = (time_t) t; - char* st = ctime(&tt); - *(strchr(st,'\n')) = 0; - return st; + struct tm *time = utc ? gmtime(&tt) : localtime(&tt); + sprintf(buff,"%02d:%02d:%02d %02d/%02d/%04d",time->tm_hour,time->tm_min,time->tm_sec, + time->tm_mday,time->tm_mon+1,time->tm_year+1900); + return (char*)buff; } //__________________________________________________________________________ @@ -190,11 +192,12 @@ void AliLHCDipValT::SetSize(Int_t sz) if (nc::Print(const Option_t *opt) const TString str = opt; str.ToLower(); if (str.Contains("raw")) printf("%.1f ",GetTimeStamp()); - else printf("[%s] ",GetTimeAsString()); + else printf("[%s] ",GetTimeAsString(!str.Contains("loc"))); // TString tp = typeid(fArray).name(); if ( tp==typeid(Char_t*).name() ) printf(": %s\n",(Char_t*)fArray); @@ -215,7 +218,16 @@ void AliLHCDipValT::Print(const Option_t *opt) const if (sz>1) printf("\n"); Bool_t eolOK = kFALSE; for (int i=0;i>j)&0x1); + printf(" |"); + } + + } else if (tp == typeid(Double_t*).name() || tp == typeid(Float_t*).name()) printf(" %+.3e |",(Float_t)fArray[i]); else printf(" "); eolOK = kFALSE;