]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliHeader.h
Fixing memory leaks
[u/mrichter/AliRoot.git] / STEER / AliHeader.h
... / ...
CommitLineData
1#ifndef ALIHEADER_H
2#define ALIHEADER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//-----------------------------------------------------------------------
9// Simulation event header class
10// Collaborates with AliRun, AliStack, and AliGenReaderTreeK classes
11// Many other classes depend on it
12//-----------------------------------------------------------------------
13
14#include <TObject.h>
15
16class AliStack;
17class AliGenEventHeader;
18
19class AliHeader : public TObject {
20public:
21 AliHeader();
22 AliHeader(const AliHeader& head);
23 AliHeader(Int_t run, Int_t event);
24 AliHeader(Int_t run, Int_t eventSerialNr, Int_t evNrInRun);
25 virtual ~AliHeader() {}
26
27 virtual void Reset(Int_t run, Int_t event);
28 virtual void Reset(Int_t run, Int_t eventSerialNr, Int_t evNrInRun);
29
30 virtual void SetRun(Int_t run) {fRun = run;}
31 virtual Int_t GetRun() const {return fRun;}
32
33 virtual void SetNprimary(Int_t nprimary) {fNprimary = nprimary;}
34 virtual Int_t GetNprimary() const {return fNprimary;}
35 virtual Int_t GetNsecondary() const {return fNtrack-fNprimary;}
36
37 virtual void SetNvertex(Int_t vertex) {fNvertex = vertex;}
38 virtual Int_t GetNvertex() const {return fNvertex;}
39
40 virtual void SetNtrack(Int_t ntrack) {fNtrack = ntrack;}
41 virtual Int_t GetNtrack() const {return fNtrack;}
42
43 virtual void SetEvent(Int_t event) {fEvent = event;}
44 virtual Int_t GetEvent() const {return fEvent;}
45
46 virtual void SetEventNrInRun(Int_t event) {fEventNrInRun = event;}
47 virtual Int_t GetEventNrInRun() const {return fEventNrInRun;}
48
49 virtual AliStack* Stack() const;
50 virtual void SetStack(AliStack* stack);
51
52 virtual void SetGenEventHeader(AliGenEventHeader* header);
53 virtual AliGenEventHeader* GenEventHeader() const;
54
55 virtual void Print(const char *opt=0) const;
56
57 AliHeader& operator=(const AliHeader& head)
58 {head.Copy(*this); return *this;}
59
60protected:
61
62 void Copy(TObject& head) const;
63
64 Int_t fRun; //Run number
65 Int_t fNvertex; //Number of vertices
66 Int_t fNprimary; //Number of primary tracks
67 Int_t fNtrack; //Number of tracks
68 Int_t fEvent; //Event number (serial in the file)
69 Int_t fEventNrInRun; //Unique Event number within the run
70 AliStack *fStack; //Pointer to stack
71 AliGenEventHeader* fGenHeader; //Event Header for Generator
72
73 ClassDef(AliHeader,2) //Alice event header
74};
75
76#endif