]>
Commit | Line | Data |
---|---|---|
dee1d5f1 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
5f91c9e8 | 4 | // $Id$ |
13985652 | 5 | // $MpId: AliMpPadIteratorPtr.h,v 1.7 2006/05/24 13:58:07 ivana Exp $ |
dee1d5f1 | 6 | |
7 | /// \ingroup basic | |
8 | /// \class AliMpPadIteratorPtr | |
9 | /// \brief A pointer to the virtual pad iterator; | |
10 | /// | |
11 | /// It enables to allocate the virtual pad iterator on stack. | |
12 | /// Usage: \n | |
13 | /// AliMpVIndexed* myIndexed = MyIndexed(); \n | |
14 | /// MVIterator& it = *AliMpPadIteratorPtr(myIndexed->CreateIterator()); \n | |
15 | /// | |
13985652 | 16 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay |
5f91c9e8 | 17 | |
18 | #ifndef ALI_MP_PAD_ITERATOR_PTR_H | |
19 | #define ALI_MP_PAD_ITERATOR_PTR_H | |
20 | ||
21 | #include <TObject.h> | |
22 | ||
2998a151 | 23 | class AliMpVPadIterator; |
5f91c9e8 | 24 | |
25 | class AliMpPadIteratorPtr : public TObject | |
26 | { | |
27 | public: | |
28 | AliMpPadIteratorPtr(AliMpVPadIterator* it); | |
29 | // AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right); --> private | |
30 | virtual ~AliMpPadIteratorPtr(); | |
31 | ||
32 | AliMpVPadIterator* operator->() { return fIterator; } | |
33 | AliMpVPadIterator& operator*() { return *fIterator; } | |
34 | ||
13e7956b | 35 | private: |
5f91c9e8 | 36 | AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right); |
2998a151 | 37 | |
38 | // operators | |
5f91c9e8 | 39 | AliMpPadIteratorPtr& operator=(const AliMpPadIteratorPtr& right); |
2998a151 | 40 | // copy and assignment are disallowed to avoid |
41 | // multiple deletion of fIterator | |
13e7956b | 42 | |
5f91c9e8 | 43 | // data members |
829425a5 | 44 | AliMpVPadIterator* fIterator; ///< The pad iterator |
5f91c9e8 | 45 | |
46 | ClassDef(AliMpPadIteratorPtr,1) // Pointer to abstract pad iterator | |
47 | }; | |
48 | ||
49 | #endif // ALI_MP_PAD_ITERATOR_PTR_H |