AliMCEvent: Access to Transport MC Truth during analysis
[u/mrichter/AliRoot.git] / STEER / AliMCEvent.h
CommitLineData
033693d3 1// -*- mode: C++ -*-
2#ifndef ALIMCEVENT_H
3#define ALIMCEVENT_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 AliMCEvent
12// This class gives access to MC truth during the analysis.
13// Monte Carlo truth is containe in the kinematics tree (produced particles) and
14// the tree of reference hits.
15//
16// Origin: Andreas Morsch, CERN, andreas.morsch@cern.ch
17//-------------------------------------------------------------------------
18
19#include "AliVirtualEventHandler.h"
20class TFile;
21class TTree;
22class TParticle;
23class TClonesArray;
24class AliHeader;
25class AliStack;
26
27
28class AliMCEvent : public AliVirtualEventHandler
29{
30public:
31 AliMCEvent();
32 AliMCEvent(const char* name, const char* title);
33 virtual ~AliMCEvent();
34 virtual void SetOutputFileName(char* /* fname */) {;}
35 virtual char* GetOutputFileName() {return 0;}
36 virtual Bool_t InitIO(Option_t* opt);
37 virtual Bool_t BeginEvent();
38 virtual Bool_t FinishEvent();
39 virtual Bool_t Terminate();
40 virtual Bool_t TerminateIO();
41 //
42 AliStack* Stack() {return fStack;}
43 TTree* TreeTR() {return fTreeTR;}
44 Int_t GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs);
45 void DrawCheck(Int_t i);
46
47private:
48 TFile *fFileE; //! File with TreeE
49 TFile *fFileK; //! File with TreeK
50 TFile *fFileTR; //! File with TreeTR
51 TTree *fTreeE; //! TreeE (Event Headers)
52 TTree *fTreeK; //! TreeK (kinematics tree)
53 TTree *fTreeTR; //! TreeTR (track references tree)
54 AliStack *fStack; //! Current pointer to stack
55 AliHeader *fHeader; //! Current pointer to header
56 TClonesArray *fTrackReferences; //! Current list of tarck references
57 Int_t fNEvent; //! Number of events
58 Int_t fEvent; //! Current event
59 Int_t fNprimaries; //! Number of primaries
60 Int_t fNparticles; //! Number of particles
61 ClassDef(AliMCEvent,1) //MCEvent class
62};
63#endif
64