]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliRawEventHeaderBase.cxx
ATO-78 a.) adding aliases used for gain correction fitting \n b)Kr and QA prefix...
[u/mrichter/AliRoot.git] / RAW / AliRawEventHeaderBase.cxx
index 10beea21dc32ee14552e36d0beba1bf3f7d8dd88..bdaa25bc496eb9c8c1047a2e2c41669d59f9f272 100644 (file)
 #include <TDataMember.h>
 #include <TList.h>
 #include <TMethodCall.h>
+#include <TDataType.h>
 
 #include "AliLog.h"
 #include "AliRawEventHeaderBase.h"
 
 #include <Riostream.h>
 
+using std::cout;
+using std::endl;
 ClassImp(AliRawEventHeaderBase)
 
 //______________________________________________________________________________
@@ -70,7 +73,7 @@ void *AliRawEventHeaderBase::HeaderBegin() const
   TIter next(datalist);                           
   TDataMember *member = (TDataMember *)next();
 
-  if(!strcmp(member->GetTypeName(),"TClass"))
+  if(strstr(member->GetTypeName(),"TClass"))
     member = (TDataMember *)next();
 
   void *ptr = (void *)((char *)this+member->GetOffset());
@@ -93,7 +96,7 @@ Int_t AliRawEventHeaderBase::HeaderSize() const
   TIter next(datalist);                           
   TDataMember *member;
   while ((member=(TDataMember *)next()) != 0x0) {
-    if (!strcmp(member->GetTypeName(),"TClass")) continue;
+    if (strstr(member->GetTypeName(),"TClass")) continue;
     UInt_t unitsize = member->GetUnitSize();
     UInt_t ndim = member->GetArrayDim();
     if (ndim == 0)
@@ -369,7 +372,7 @@ UInt_t AliRawEventHeaderBase::Get(const char *datamember) const
   // in front
 
   char buf[256] = "f";
-  strcat(buf,datamember);
+  strncat(buf,datamember,sizeof(buf)-2);
 
   TDataMember *member = IsA()->GetDataMember(buf);
   if (!member) {
@@ -382,7 +385,8 @@ UInt_t AliRawEventHeaderBase::Get(const char *datamember) const
     return 0;
   }
 
-  if (strcmp(member->GetTypeName(),"UInt_t") != 0) {
+  TDataType * dataType = member->GetDataType();
+  if (!dataType || dataType->GetType() != kUInt_t) {
     AliFatal(Form("Member %s is not of type UInt_t!",buf));
     return 0;
   }
@@ -402,7 +406,7 @@ const UInt_t* AliRawEventHeaderBase::GetP(const char *datamember) const
   // in front
 
   char buf[256] = "f";
-  strcat(buf,datamember);
+  strncat(buf,datamember,sizeof(buf)-2);
 
   TDataMember *member = IsA()->GetDataMember(buf);
   if (!member) {
@@ -415,7 +419,8 @@ const UInt_t* AliRawEventHeaderBase::GetP(const char *datamember) const
   //    return 0;
   //  }
 
-  if (strcmp(member->GetTypeName(),"UInt_t") != 0) {
+  TDataType * dataType = member->GetDataType();
+  if (!dataType || dataType->GetType() != kUInt_t) {
     AliFatal(Form("Member %s is not of type UInt_t*!",buf));
     return 0;
   }
@@ -458,31 +463,3 @@ void AliRawEventHeaderBase::Reset()
 {
   fFirstEqIndex = fLastEqIndex = -1;
 }
-
-//______________________________________________________________________________
-void AliRawEventHeaderBase::Streamer(TBuffer &R__b)
-{
-   // Stream an object of class AliRawEventHeaderBase.
-
-   if (R__b.IsReading()) {
-      UInt_t R__s, R__c;
-      Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
-      if (R__v > 3) {
-       R__b.ReadClassBuffer(AliRawEventHeaderBase::Class(),this,R__v,R__s,R__c);
-       return;
-      }
-      TObject::Streamer(R__b);
-      R__b >> fSize;
-      R__b >> fMagic;
-      R__b >> fHeadSize;
-      R__b >> fVersion;
-      R__b >> fExtendedDataSize;
-      delete [] fExtendedData;
-      fExtendedData = new char[fExtendedDataSize];
-      R__b.ReadFastArray(fExtendedData,fExtendedDataSize);
-      R__b >> fIsSwapped;
-      R__b.CheckByteCount(R__s, R__c, AliRawEventHeaderBase::IsA());
-   } else {
-      R__b.WriteClassBuffer(AliRawEventHeaderBase::Class(),this);
-   }
-}