Container class for VEvents deriving from VEvent.
[u/mrichter/AliRoot.git] / STEER / AliMixedEvent.h
CommitLineData
7eb061fb 1// -*- mode: C++ -*-
2#ifndef ALIMIXEDEVENT_H
3#define ALIMIXEDEVENT_H
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7
8/* $Id$ */
9
10//-------------------------------------------------------------------------
11// Class AliMixedEvent
12// VEvent which is the container of several VEvents
13// Use Case: Event Mixing
14// Origin: Andreas Morsch, CERN, Andreas.Morsch@cern.ch
15//-------------------------------------------------------------------------
16
17#include "AliVEvent.h"
18#include <TList.h>
19
20class AliMixedEvent : public AliVEvent {
21
22public:
23
24 AliMixedEvent();
25 virtual ~AliMixedEvent() {Reset();}
26 AliMixedEvent(const AliMixedEvent& vEvnt);
27 AliMixedEvent& operator=(const AliMixedEvent& vEvnt);
28
29 // Services from VEvent
30 virtual void AddObject(TObject* /*obj*/) {;}
31 virtual TObject* FindListObject(const char* /*name*/) {return 0;}
32 virtual TList* GetList() const {return 0;}
33 virtual void CreateStdContent() {;}
34 virtual void GetStdContent() {;}
35 virtual void ReadFromTree(TTree* /*tree*/, Option_t* /*opt*/) {;}
36 virtual void WriteToTree(TTree* /*tree*/) const {;}
37 virtual void SetStdNames() {;}
38 virtual void Print(Option_t * /*option*/) const {;}
39 // Specific Services
40 virtual void AddEvent(AliVEvent* evt);
41 virtual void Reset();
42 virtual void Init();
43
44 // Header
45 virtual AliVHeader* GetHeader() const {return 0;}
46
47 // Delegated methods for fESDRun or AODHeader
48
49 virtual void SetRunNumber(Int_t /*n*/) {;}
50 virtual void SetPeriodNumber(UInt_t /*n*/) {;}
51 virtual void SetMagneticField(Double_t /*mf*/) {;}
52
53 virtual Int_t GetRunNumber() const {return -999 ;}
54 virtual UInt_t GetPeriodNumber() const {return 0 ;}
55 virtual Double_t GetMagneticField() const {return -999.;}
56
57 virtual Double_t GetDiamondX() const {return -999.;}
58 virtual Double_t GetDiamondY() const {return -999.;}
59 virtual void GetDiamondCovXY(Float_t cov[3]) const
60 {cov[0]=-999.; return;}
61
62 // Delegated methods for fHeader
63 virtual void SetOrbitNumber(UInt_t /*n*/) {;}
64 virtual void SetBunchCrossNumber(UShort_t /*n*/) {;}
65 virtual void SetEventType(UInt_t /*eventType*/) {;}
66 virtual void SetTriggerMask(ULong64_t /*n*/) {;}
67 virtual void SetTriggerCluster(UChar_t /*n*/) {;}
68
69 virtual UInt_t GetOrbitNumber() const {return 0;}
70 virtual UShort_t GetBunchCrossNumber() const {return 0;}
71 virtual UInt_t GetEventType() const {return 0;}
72 virtual ULong64_t GetTriggerMask() const {return 0;}
73 virtual UChar_t GetTriggerCluster() const {return 0;}
74
75 virtual Double_t GetZDCN1Energy() const {return -999.;}
76 virtual Double_t GetZDCP1Energy() const {return -999.;}
77 virtual Double_t GetZDCN2Energy() const {return -999.;}
78 virtual Double_t GetZDCP2Energy() const {return -999.;}
79 virtual Double_t GetZDCEMEnergy(Int_t /*i*/) const {return -999.;}
80
81 // Tracks
82 virtual AliVParticle *GetTrack(Int_t i) const;
83 virtual Int_t GetNumberOfTracks() const {return fNumberOfTracks;}
84 virtual Int_t GetNumberOfV0s() const {return -999;}
85 virtual Int_t EventIndex(Int_t itrack);
86
87 // Primary vertex
88 virtual const AliVVertex *GetPrimaryVertex() const {return 0;}
89private:
90 TList fEventList; //! List of Events
91 Int_t fNEvents; //! Number of Events
92 Int_t fNumberOfTracks; //! Total number of tracks
93 Int_t* fNTracksCumul; //! Cumulant
94
95 ClassDef(AliMixedEvent, 0) // Container for mixed events
96};
97#endif
98