]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDfriend.cxx
Setting the class name meta-data field in the constructor
[u/mrichter/AliRoot.git] / STEER / AliESDfriend.cxx
index 9a878e0d14024c4ba1fbbdf04a2e26ff5bee058d..0bf592586862c5aedc4990a94f31925614ca8eae 100644 (file)
 
 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;
 }