delete fRawData;
}
+//______________________________________________________________________________
+void AliRawEquipment::CloneRawData()
+{
+ // Load raw-data part of the object via the TRef
+ // flush the Tref and clone the raw data
+
+ if (!fRawData) {
+ if (fRawDataRef.IsValid())
+ fRawData = (AliRawData*)fRawDataRef.GetObject();
+ }
+ fRawDataRef = NULL;
+ if (fRawData) fRawData = (AliRawData*)fRawData->Clone();
+}
+
//______________________________________________________________________________
void AliRawEquipment::Streamer(TBuffer &R__b)
{
virtual AliRawEquipmentHeader *GetEquipmentHeader();
virtual AliRawData *GetRawData();
-private:
+ virtual void CloneRawData();
+
+ private:
AliRawEquipmentHeader *fEqpHdr; // equipment header
AliRawData *fRawData; // raw data container
TRef fRawDataRef; // reference to raw data container
return raw;
}
+
+//______________________________________________________________________________
+void AliRawEquipmentV2::CloneRawData()
+{
+ // Load raw-data part of the object via the TRef
+ // flush the Tref and clone the raw data
+
+ GetRawData();
+ fRawDataRef = NULL;
+ if (fRawData) fRawData = (AliRawData*)fRawData->Clone();
+}
void Reset();
AliRawData *NextRawData(AliRawDataArrayV2 *array);
+ virtual void CloneRawData();
+
private:
AliRawEquipmentHeader fEqpHdr; // equipment header
AliRawData *fRawData; //! raw data container
virtual AliRawEquipmentHeader *GetEquipmentHeader() = 0;
virtual AliRawData *GetRawData() = 0;
+ virtual void CloneRawData() = 0;
+
private:
AliRawVEquipment(const AliRawVEquipment& eq);