minor coverity defect: added protection for self-assignment
[u/mrichter/AliRoot.git] / MUON / AliMUONContourHandler.h
CommitLineData
fef32488 1#ifndef ALIMUONCONTOURHANDLER_H
2#define ALIMUONCONTOURHANDLER_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 graphics
10/// \class AliMUONContourHandler
11/// \brief Holder for MUON tracker contours
12///
c442ee61 13// Author Laurent Aphecetche
fef32488 14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19class TObjArray;
20class AliMpExMap;
21class TMap;
22class AliMUONContour;
23
24class AliMUONContourHandler : public TObject
25{
26public:
27 AliMUONContourHandler(Bool_t explodedView=kTRUE);
28 virtual ~AliMUONContourHandler();
29
30 Bool_t Adopt(AliMUONContour* contour);
31
ca04ed6c 32 /// Get all the contours as a map
fef32488 33 TMap* AllContourMap() const { return fAllContourMap; }
34
ca04ed6c 35 /// Get all the contours as an array
fef32488 36 TObjArray* AllContourArray() const { return fAllContourArray; }
37
38 AliMUONContour* GetContour(const char* contourname) const;
39
ca04ed6c 40 /// Get detection element geometrical transformations
fef32488 41 AliMpExMap* GetTransformations() const { return fTransformations; }
42
43 void Print(Option_t* opt="") const;
44
45private:
949d9006 46 /// Not implemented
fef32488 47 AliMUONContourHandler(const AliMUONContourHandler& rhs);
949d9006 48 /// Not implemented
fef32488 49 AliMUONContourHandler& operator=(const AliMUONContourHandler& rhs);
50
51 AliMpExMap* GenerateTransformations(Bool_t exploded);
52
53 TObjArray* CreateContourList(const TObjArray& manuContours);
54
55 void GenerateAllContours(const TObjArray& manuContours);
56
57private:
949d9006 58 AliMpExMap* fTransformations; ///< transformations used to go from local to global coordinates
59 TMap* fAllContourMap; ///< all (i.e. manus, buspatches, detection elements, etc..) contours
60 TObjArray* fAllContourArray; ///< all contours, ordered by hierarchy level
fef32488 61
62 ClassDef(AliMUONContourHandler,1) // MUON tracker contour holder
63};
64
65#endif