1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 //-------------------------------------------------------------------------
17 // Implementation of the Analysis Oriented Data (AOD) event summary
18 // Purpose : container of event important information for soft analysis
19 // Author : Renaud Vernet, IPHC, Strasbourg
20 //-------------------------------------------------------------------------
22 #include "AliAODevent.h"
23 #include "AliESDVertex.h"
30 AliAODevent::AliAODevent() {
31 fV0s = new TClonesArray("AliAODv0");
32 fCascades = new TClonesArray("AliAODxi");
35 AliAODevent::~AliAODevent() {
39 AliAODevent::AliAODevent(AliESD* e) {
40 fV0s = new TClonesArray("AliAODv0");
41 fCascades = new TClonesArray("AliAODxi");
42 fRunNumber = (UInt_t)e->GetRunNumber();
43 fEventNumber = (UInt_t)e->GetEventNumber();
44 fNumberOfTracks = (UInt_t)e->GetNumberOfTracks();
46 const AliESDVertex* V = e->GetVertex();
47 fPrimVertexX = V->GetXv();
48 fPrimVertexY = V->GetYv();
49 fPrimVertexZ = V->GetZv();
51 for (Int_t i=0; i<e->GetNumberOfV0s(); i++) {
52 AliAODv0* v=new AliAODv0(e->GetV0(i),e);
57 for (Int_t i=0; i<e->GetNumberOfCascades(); i++) {
58 AliAODxi* c=new AliAODxi(e->GetCascade(i),e);
64 AliAODevent::AliAODevent(const AliAODevent& aod) :
66 fV0s((TClonesArray*)aod.fV0s->Clone()),
67 fCascades((TClonesArray*)aod.fCascades->Clone()),
68 fPrimVertexX(aod.fPrimVertexX),
69 fPrimVertexY(aod.fPrimVertexY),
70 fPrimVertexZ(aod.fPrimVertexZ),
71 fRunNumber(aod.fRunNumber),
72 fEventNumber(aod.fEventNumber),
73 fNumberOfTracks(aod.fNumberOfTracks)
79 AliAODevent& AliAODevent::operator=(const AliAODevent& aod){
80 // assignment operator
82 fPrimVertexX = aod.fPrimVertexX;
83 fPrimVertexY = aod.fPrimVertexY;
84 fPrimVertexZ = aod.fPrimVertexZ;
85 fRunNumber = aod.fRunNumber;
86 fEventNumber = aod.fEventNumber;
87 fNumberOfTracks = aod.fNumberOfTracks;
91 fV0s=(TClonesArray*)aod.fV0s->Clone();
92 fCascades=(TClonesArray*)aod.fCascades->Clone();
98 void AliAODevent::AddV0(AliAODv0* v0) {
99 Int_t idx=fV0s->GetEntries();
100 TClonesArray& arr=*fV0s;
101 new(arr[idx]) AliAODv0(*v0);
104 void AliAODevent::AddCascade(AliAODxi* xi) {
105 Int_t idx=fCascades->GetEntries();
106 TClonesArray& arr=*fCascades;
107 new(arr[idx]) AliAODxi(*xi);