]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpPadIteratorPtr.h
- Updated for modifs in AliMpFiles
[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$
dee1d5f1 5// $MpId: AliMpPadIteratorPtr.h,v 1.5 2005/08/26 15:43:36 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
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
2998a151 35 protected:
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
42
43 private:
5f91c9e8 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