ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//====================================================================================================================================================
//
//      ESD Event with MUON+MFT muon tracks (AliMuonForwardTrack)
//
//      Contact author: antonio.uras@cern.ch
//
//====================================================================================================================================================

#include "AliESDEvent.h"
#include "TClonesArray.h"
#include "AliMuonForwardTrack.h"
#include "AliESDEventMFT.h"

ClassImp(AliESDEventMFT)

//====================================================================================================================================================

AliESDEventMFT::AliESDEventMFT():
  AliESDEvent(), 
  fMuonForwardTracks(0x0)
{

  // default constructor 
  fMuonForwardTracks = new TClonesArray("AliMuonForwardTrack", 0);
  AddObject(fMuonForwardTracks);

}

//====================================================================================================================================================

AliESDEventMFT::AliESDEventMFT(AliESDEvent &esdEvent):
  AliESDEvent(esdEvent), 
  fMuonForwardTracks(0x0)
{

  AliDebug(1, "building array of muon tracks");
  fMuonForwardTracks = new TClonesArray("AliMuonForwardTrack");
  AliDebug(1, "adding array of muon tracks to list");
  AddObject(fMuonForwardTracks);
  AliDebug(1, "event created!");
    
}

//====================================================================================================================================================

AliESDEventMFT::AliESDEventMFT(const AliESDEventMFT &esdEventMFT): 
  AliESDEvent(esdEventMFT),
  fMuonForwardTracks(NULL)
{

  // copy constructor
  fMuonForwardTracks      = new TClonesArray(*(esdEventMFT.fMuonForwardTracks));
  fMuonForwardTracks->SetOwner(kTRUE);
  AddObject(fMuonForwardTracks);

}

//====================================================================================================================================================

AliESDEventMFT& AliESDEventMFT::operator=(const AliESDEventMFT &esdEventMFT) {

  // Asignment operator

  // check assignement to self
  if (this == &esdEventMFT) return *this;

  // base class assignement
  AliESDEvent::operator=(esdEventMFT);
  
  // clear memory
  Clear("");
  
  fMuonForwardTracks      = new TClonesArray(*(esdEventMFT.fMuonForwardTracks));
  fMuonForwardTracks->SetOwner(kTRUE);
  AddObject(fMuonForwardTracks);

  return *this;

}

//====================================================================================================================================================

AliESDEventMFT::~AliESDEventMFT() {

  // destructor

  delete fMuonForwardTracks;

}

//====================================================================================================================================================

void AliESDEventMFT::AddMuonForwardTrack(const AliMuonForwardTrack *muonForwardTrack) {

    TClonesArray &myMuonForwardTracks = *fMuonForwardTracks;
    new (myMuonForwardTracks[fMuonForwardTracks->GetEntriesFast()]) AliMuonForwardTrack(*muonForwardTrack);

}

//====================================================================================================================================================
 AliESDEventMFT.cxx:1
 AliESDEventMFT.cxx:2
 AliESDEventMFT.cxx:3
 AliESDEventMFT.cxx:4
 AliESDEventMFT.cxx:5
 AliESDEventMFT.cxx:6
 AliESDEventMFT.cxx:7
 AliESDEventMFT.cxx:8
 AliESDEventMFT.cxx:9
 AliESDEventMFT.cxx:10
 AliESDEventMFT.cxx:11
 AliESDEventMFT.cxx:12
 AliESDEventMFT.cxx:13
 AliESDEventMFT.cxx:14
 AliESDEventMFT.cxx:15
 AliESDEventMFT.cxx:16
 AliESDEventMFT.cxx:17
 AliESDEventMFT.cxx:18
 AliESDEventMFT.cxx:19
 AliESDEventMFT.cxx:20
 AliESDEventMFT.cxx:21
 AliESDEventMFT.cxx:22
 AliESDEventMFT.cxx:23
 AliESDEventMFT.cxx:24
 AliESDEventMFT.cxx:25
 AliESDEventMFT.cxx:26
 AliESDEventMFT.cxx:27
 AliESDEventMFT.cxx:28
 AliESDEventMFT.cxx:29
 AliESDEventMFT.cxx:30
 AliESDEventMFT.cxx:31
 AliESDEventMFT.cxx:32
 AliESDEventMFT.cxx:33
 AliESDEventMFT.cxx:34
 AliESDEventMFT.cxx:35
 AliESDEventMFT.cxx:36
 AliESDEventMFT.cxx:37
 AliESDEventMFT.cxx:38
 AliESDEventMFT.cxx:39
 AliESDEventMFT.cxx:40
 AliESDEventMFT.cxx:41
 AliESDEventMFT.cxx:42
 AliESDEventMFT.cxx:43
 AliESDEventMFT.cxx:44
 AliESDEventMFT.cxx:45
 AliESDEventMFT.cxx:46
 AliESDEventMFT.cxx:47
 AliESDEventMFT.cxx:48
 AliESDEventMFT.cxx:49
 AliESDEventMFT.cxx:50
 AliESDEventMFT.cxx:51
 AliESDEventMFT.cxx:52
 AliESDEventMFT.cxx:53
 AliESDEventMFT.cxx:54
 AliESDEventMFT.cxx:55
 AliESDEventMFT.cxx:56
 AliESDEventMFT.cxx:57
 AliESDEventMFT.cxx:58
 AliESDEventMFT.cxx:59
 AliESDEventMFT.cxx:60
 AliESDEventMFT.cxx:61
 AliESDEventMFT.cxx:62
 AliESDEventMFT.cxx:63
 AliESDEventMFT.cxx:64
 AliESDEventMFT.cxx:65
 AliESDEventMFT.cxx:66
 AliESDEventMFT.cxx:67
 AliESDEventMFT.cxx:68
 AliESDEventMFT.cxx:69
 AliESDEventMFT.cxx:70
 AliESDEventMFT.cxx:71
 AliESDEventMFT.cxx:72
 AliESDEventMFT.cxx:73
 AliESDEventMFT.cxx:74
 AliESDEventMFT.cxx:75
 AliESDEventMFT.cxx:76
 AliESDEventMFT.cxx:77
 AliESDEventMFT.cxx:78
 AliESDEventMFT.cxx:79
 AliESDEventMFT.cxx:80
 AliESDEventMFT.cxx:81
 AliESDEventMFT.cxx:82
 AliESDEventMFT.cxx:83
 AliESDEventMFT.cxx:84
 AliESDEventMFT.cxx:85
 AliESDEventMFT.cxx:86
 AliESDEventMFT.cxx:87
 AliESDEventMFT.cxx:88
 AliESDEventMFT.cxx:89
 AliESDEventMFT.cxx:90
 AliESDEventMFT.cxx:91
 AliESDEventMFT.cxx:92
 AliESDEventMFT.cxx:93
 AliESDEventMFT.cxx:94
 AliESDEventMFT.cxx:95
 AliESDEventMFT.cxx:96
 AliESDEventMFT.cxx:97
 AliESDEventMFT.cxx:98
 AliESDEventMFT.cxx:99
 AliESDEventMFT.cxx:100
 AliESDEventMFT.cxx:101
 AliESDEventMFT.cxx:102
 AliESDEventMFT.cxx:103
 AliESDEventMFT.cxx:104
 AliESDEventMFT.cxx:105
 AliESDEventMFT.cxx:106
 AliESDEventMFT.cxx:107
 AliESDEventMFT.cxx:108
 AliESDEventMFT.cxx:109
 AliESDEventMFT.cxx:110
 AliESDEventMFT.cxx:111
 AliESDEventMFT.cxx:112
 AliESDEventMFT.cxx:113
 AliESDEventMFT.cxx:114
 AliESDEventMFT.cxx:115