Updates to AddTask macro from Chris
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackStoreV1.h
CommitLineData
3a018b82 1#ifndef ALIMUONTRACKSTOREV1_H
2#define ALIMUONTRACKSTOREV1_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 rec
10/// \class AliMUONTrackStoreV1
11/// \brief Implementation of AliMUONVTrackStore
12///
13// Author Laurent Aphecetche
14
15#ifndef ALIMUONVTRACKSTORE_H
16# include "AliMUONVTrackStore.h"
17#endif
18
19class TClonesArray;
20
21class AliMUONTrackStoreV1 : public AliMUONVTrackStore
22{
23public:
24 AliMUONTrackStoreV1();
ce350193 25 AliMUONTrackStoreV1(TRootIOCtor* dummy);
3a018b82 26 virtual ~AliMUONTrackStoreV1();
27
28 using AliMUONVTrackStore::Add;
29
7332f213 30 virtual AliMUONTrack* Add(const AliMUONTrack& track);
3a018b82 31
7332f213 32 virtual AliMUONTrack* Remove(AliMUONTrack& track);
33
3a018b82 34 /// Whether the Connect(TTree&) method is implemented
35 virtual Bool_t CanConnect() const { return kTRUE; }
36
37 virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
38
39 virtual AliMUONTrackStoreV1* Create() const { return new AliMUONTrackStoreV1; }
40
41 virtual TIterator* CreateIterator() const;
42
43 virtual void Clear(Option_t* opt="");
44
45 using AliMUONVTrackStore::GetSize;
46
47 virtual Int_t GetSize() const;
48
49private:
50 /// Return the tracks array
51 TClonesArray* Tracks() const { return fTracks; }
52
ce350193 53 void CreateTracks();
54
3a018b82 55 /// Return the address of the tracks array
56 TClonesArray** TracksPtr() const { return const_cast<TClonesArray**>(&fTracks); }
57
58 /// Not implemented
59 AliMUONTrackStoreV1(const AliMUONTrackStoreV1&);
60 /// Not implemented
61 AliMUONTrackStoreV1& operator=(const AliMUONTrackStoreV1&);
62
63private:
64 TClonesArray* fTracks; ///< Internal array
65
66 ClassDef(AliMUONTrackStoreV1,1) // Implementation of AliMUONVTrackStore
67};
68
69#endif