]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EVGEN/AliGenReaderTreeK.h
Correct assignment of fAProjectile and fATarget in Constructor.
[u/mrichter/AliRoot.git] / EVGEN / AliGenReaderTreeK.h
... / ...
CommitLineData
1#ifndef ALIGENREADERTreeK_H
2#define ALIGENREADERTREEK_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// Realisation of AliGenReader to be used with AliGenExtFile
9// It reads events from a kinematics TreeK.
10// Author: andreas.morsch@cern.ch
11//
12#include "AliGenReader.h"
13#include "AliStack.h"
14
15class TFile;
16class AliRunLoader;
17class AliStack;
18class TString;
19class TObjArray;
20
21class AliGenReaderTreeK : public AliGenReader
22{
23 public:
24 AliGenReaderTreeK();
25 AliGenReaderTreeK(const AliGenReaderTreeK &reader);
26 virtual ~AliGenReaderTreeK();
27 // Initialise
28 virtual void Init();
29 // Read
30 virtual Int_t NextEvent();
31 virtual TParticle* NextParticle();
32 virtual void RewindEvent();
33 virtual void SetOnlyPrimaries(Bool_t flag){fOnlyPrimaries = flag;}
34 AliGenReaderTreeK & operator=(const AliGenReaderTreeK & rhs);
35 void SetDirs(TObjArray* dirs){fDirs = dirs;} //sets array directories names
36 void AddDir(const char* dirname);
37 AliRunLoader * GetRunLoader() const {return fInRunLoader;}
38
39 protected:
40 Int_t fNcurrent; // points to the next entry
41 Int_t fNparticle; // Next particle in list
42 Int_t fNp; // number of particles
43 AliRunLoader *fInRunLoader; //!Run Loader of the input event
44 TFile *fBaseFile; //! pointer to base file
45 AliStack *fStack; //! Particle stack
46 Bool_t fOnlyPrimaries; // Flag indicating wether only primaries are read
47 TObjArray *fDirs; //arry with directories to read data from
48 Int_t fCurrentDir; //Number of current directory
49 static const TString fgkEventFolderName;//!name of folder where event to read is mounted
50
51 TString& GetDirName(Int_t entry);
52 TParticle* GetParticle(Int_t i);
53 private:
54 void Copy(TObject&) const;
55 ClassDef(AliGenReaderTreeK,1) // Read particles from TreeK
56};
57
58inline
59TParticle* AliGenReaderTreeK::GetParticle(Int_t i)
60 {
61 if (fStack && i<fNp) return fStack->Particle(i);
62 return 0x0;
63 }
64
65#endif
66
67
68
69
70
71