]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpPadIteratorPtr.h
Moving kNoAliases setting in Process() to the right place
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadIteratorPtr.h
... / ...
CommitLineData
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.7 2006/05/24 13:58:07 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/// \author 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
23class AliMpVPadIterator;
24
25class 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 private:
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 // data members
44 AliMpVPadIterator* fIterator; ///< The pad iterator
45
46 ClassDef(AliMpPadIteratorPtr,1) // Pointer to abstract pad iterator
47};
48
49#endif // ALI_MP_PAD_ITERATOR_PTR_H