Moving kNoAliases setting in Process() to the right place
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPadIteratorPtr.h
CommitLineData
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 23class AliMpVPadIterator;
5f91c9e8 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
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