Updated comments for Doxygen
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadIteratorPtr.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpPadIteratorPtr.h,v 1.6 2006/05/23 13:07:29 ivana Exp $
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 ///
16 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
17
18 #ifndef ALI_MP_PAD_ITERATOR_PTR_H
19 #define ALI_MP_PAD_ITERATOR_PTR_H
20
21 #include <TObject.h>
22
23 class AliMpVPadIterator;
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
35   protected:
36     AliMpPadIteratorPtr(const AliMpPadIteratorPtr& right);
37
38     // operators
39     AliMpPadIteratorPtr& operator=(const AliMpPadIteratorPtr& right);
40         // copy and assignment are disallowed to avoid
41         // multiple deletion of fIterator
42     
43   private:   
44     // data members
45     AliMpVPadIterator*  fIterator; ///< The pad iterator
46      
47   ClassDef(AliMpPadIteratorPtr,1) // Pointer to abstract pad iterator
48 };
49
50 #endif // ALI_MP_PAD_ITERATOR_PTR_H