New classes for shuttle (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONObjectPair.h
CommitLineData
ea199e33 1#ifndef ALIMUONOBJECTPAIR_H
2#define ALIMUONOBJECTPAIR_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \ingroup base
10/// \class AliMUONObjectPair
11/// \brief The equivalent of a std::pair<TObject*,TObject*> ;-)
12///
13// Author Laurent Aphecetche
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19class AliMUONObjectPair : public TObject
20{
21public:
22 AliMUONObjectPair();
23 AliMUONObjectPair(TObject* first,
24 TObject* second,
25 Bool_t isOwnerOfFirst=kTRUE,
26 Bool_t isOwnerOfSecond=kFALSE);
27 AliMUONObjectPair(const AliMUONObjectPair& other);
28 AliMUONObjectPair& operator=(const AliMUONObjectPair& other);
29
30 virtual ~AliMUONObjectPair();
31
32 TObject* First() const { return fFirst; }
33 TObject* Second() const { return fSecond; }
34
35 TObject* Key() const { return fFirst; }
36 TObject* Value() const { return fSecond; }
37
38 virtual void Copy(TObject& other) const;
39
40private:
41
42 TObject* fFirst; ///< first element of the pair
43 TObject* fSecond; ///< second element of the pair
44 Bool_t fIsOwnerOfFirst; ///< whether we own the first element
45 Bool_t fIsOwnerOfSecond; ///<whether we own the second element
46
47 ClassDef(AliMUONObjectPair,1) // A pair of TObject*
48};
49
50#endif