X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=STEER%2FAliESDfriend.cxx;h=0bf592586862c5aedc4990a94f31925614ca8eae;hb=d345a2d8f455e1290ae9d68249b0a5fe0439b791;hp=9a878e0d14024c4ba1fbbdf04a2e26ff5bee058d;hpb=d75007f6092047c774d0109dd1613250488d1b8e;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliESDfriend.cxx b/STEER/AliESDfriend.cxx index 9a878e0d140..0bf59258686 100644 --- a/STEER/AliESDfriend.cxx +++ b/STEER/AliESDfriend.cxx @@ -24,23 +24,53 @@ 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; }