]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONMCDataInterface.h
Utility class to easy access to MC information (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONMCDataInterface.h
1 #ifndef ALIMUONMCDATAINTERFACE_H
2 #define ALIMUONMCDATAINTERFACE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup sim
10 /// \class AliMUONMCDataInterface
11 /// \brief Easy to use data access to MC information
12 /// 
13 // Author Laurent Aphecetche
14
15 #ifndef ROOT_TObject
16 #  include "TObject.h"
17 #endif
18
19 class AliStack;
20 class AliMUONDataManager;
21 class AliMUONVHitStore;
22 class TClonesArray;
23
24 class AliMUONMCDataInterface : public TObject
25 {
26 public:
27   AliMUONMCDataInterface(const char* filename="galice.root");
28   virtual ~AliMUONMCDataInterface();
29   
30   AliMUONVHitStore* HitStore(Int_t event, Int_t track) const;
31   void DumpHits(Int_t event) const;
32   
33   Bool_t IsValid() const;
34   
35   Int_t NumberOfEvents() const;
36   
37   Int_t NumberOfTracks(Int_t event) const;
38
39   Int_t NumberOfTrackRefs(Int_t event) const;
40
41   AliStack* Stack(Int_t event) const;
42   void DumpKine(Int_t event) const;
43   
44   TClonesArray* TrackRefs(Int_t event, Int_t track) const;
45   void DumpTrackRefs(Int_t event) const;
46   
47 private:
48   /// Not implemented
49   AliMUONMCDataInterface(const AliMUONMCDataInterface&);
50   /// Not implemented
51   AliMUONMCDataInterface& operator=(const AliMUONMCDataInterface&);
52
53 private:
54   
55   AliMUONDataManager* fDataManager; //!< internal data accessor
56   
57   ClassDef(AliMUONMCDataInterface,0) // Easy to use MC data accessor
58 };
59
60 #endif