ClassImp(AliESDfriend)
-AliESDfriend::AliESDfriend(): TObject(), fTracks("AliESDfriendTrack",15000)
+AliESDfriend::AliESDfriend(): TObject(), fTracks("AliESDfriendTrack",15000),
+ fESDVZEROfriend(NULL)
{
//
// Default constructor
//
}
-AliESDfriend::AliESDfriend(const AliESDfriend &f):TObject(f),fTracks(f.fTracks)
+AliESDfriend::AliESDfriend(const AliESDfriend &f) :
+ TObject(f),
+ fTracks(f.fTracks),
+ fESDVZEROfriend(f.fESDVZEROfriend ? new AliESDVZEROfriend(*f.fESDVZEROfriend) : NULL)
{
//
// Copy constructor
//
}
+AliESDfriend& AliESDfriend::operator=(const AliESDfriend& esd)
+{
+
+ // Assignment operator
+ if(&esd == this) return *this;
+ TObject::operator=(esd);
+ fTracks = esd.fTracks;
+
+ delete fESDVZEROfriend; fESDVZEROfriend = NULL;
+ if (!esd.fESDVZEROfriend) fESDVZEROfriend = new AliESDVZEROfriend(*esd.fESDVZEROfriend);
+
+ return *this;
+}
+
+
+
AliESDfriend::~AliESDfriend() {
//
// Destructor
//
fTracks.Delete();
+ delete fESDVZEROfriend;
+}
+
+void AliESDfriend::SetVZEROfriend(AliESDVZEROfriend * obj)
+{
+ //
+ // Set the VZERO friend data object
+ // (complete raw data)
+ if (!fESDVZEROfriend) fESDVZEROfriend = new AliESDVZEROfriend();
+ if (obj) *fESDVZEROfriend = *obj;
}