//-------------------------------------------------------------------------
#include "AliVEvent.h"
+#include "AliVVertex.h"
#include <TList.h>
+#include <TObjArray.h>
class AliMixedEvent : public AliVEvent {
virtual void Print(Option_t * /*option*/) const {;}
// Specific Services
virtual void AddEvent(AliVEvent* evt);
+ virtual void SetPrimaryVertex(AliVVertex* newVertex) {fMeanVertex = newVertex;}
virtual void Reset();
virtual void Init();
+ const AliVVertex* GetEventVertex(Int_t i) const;
// Header
virtual AliVHeader* GetHeader() const {return 0;}
virtual Int_t GetRunNumber() const {return -999 ;}
virtual UInt_t GetPeriodNumber() const {return 0 ;}
- virtual Double_t GetMagneticField() const {return -999.;}
+ virtual Double_t GetMagneticField() const;
+
virtual Double_t GetDiamondX() const {return -999.;}
virtual Double_t GetDiamondY() const {return -999.;}
virtual Double_t GetZDCEMEnergy(Int_t /*i*/) const {return -999.;}
// Tracks
- virtual AliVParticle *GetTrack(Int_t i) const;
- virtual Int_t GetNumberOfTracks() const {return fNumberOfTracks;}
- virtual Int_t GetNumberOfV0s() const {return -999;}
+ virtual AliVParticle *GetTrack(Int_t i) const;
+ virtual Int_t GetNumberOfTracks() const {return fNumberOfTracks;}
+ virtual Int_t GetNumberOfV0s() const {return -999;}
+ virtual Int_t GetNumberOfCascades() const {return -999;}
+
virtual Int_t EventIndex(Int_t itrack);
// Primary vertex
- virtual const AliVVertex *GetPrimaryVertex() const {return 0;}
+ virtual const AliVVertex *GetPrimaryVertex() const {return fMeanVertex;}
+ virtual Bool_t ComputeVtx(TObjArray *vertices, Double_t *pos,Double_t *sig,Int_t *nContributors);
private:
TList fEventList; //! List of Events
Int_t fNEvents; //! Number of Events
Int_t fNumberOfTracks; //! Total number of tracks
Int_t* fNTracksCumul; //! Cumulant
+ AliVVertex* fMeanVertex; //! Mean vertex
ClassDef(AliMixedEvent, 0) // Container for mixed events
};