]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliRawEventHeaderBase.cxx
Improving the time performance of alimdc: 1. disabling support for pointer tracking...
[u/mrichter/AliRoot.git] / RAW / AliRawEventHeaderBase.cxx
index b70c775c6ec894ea71150e0433b089ef01458c40..dccd36a8099fef98e13417c52fe33a5d72f7e944 100644 (file)
@@ -49,7 +49,8 @@ fVersion(0),
 fExtendedDataSize(0),
 fExtendedAllocSize(0),
 fExtendedData(NULL),
-fIsSwapped(kFALSE)
+fIsSwapped(kFALSE),
+fHeaderSize(0)
 {
   // Default constructor
 }
@@ -76,6 +77,8 @@ Int_t AliRawEventHeaderBase::HeaderSize() const
   // Returns the size of the data members list
   // beyond the base class data members
 
+  if (fHeaderSize) return fHeaderSize;
+
   Int_t size = 0;
 
   TList *datalist = IsA()->GetListOfDataMembers();
@@ -91,6 +94,8 @@ Int_t AliRawEventHeaderBase::HeaderSize() const
       for(UInt_t i=0;i<ndim;i++) size += member->GetMaxIndex(i)*unitsize;
   }
 
+  const_cast<AliRawEventHeaderBase*>(this)->fHeaderSize = size;
+
   return size;
 }