Line data Source code
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 : ///
13 : // Author Laurent Aphecetche
14 :
15 : #ifndef ROOT_TObject
16 : # include "TObject.h"
17 : #endif
18 :
19 : class TObjArray;
20 : class AliMpExMap;
21 : class TMap;
22 : class AliMUONContour;
23 :
24 : class AliMUONContourHandler : public TObject
25 : {
26 : public:
27 : AliMUONContourHandler(Bool_t explodedView=kTRUE);
28 : virtual ~AliMUONContourHandler();
29 :
30 : Bool_t Adopt(AliMUONContour* contour);
31 :
32 : /// Get all the contours as a map
33 0 : TMap* AllContourMap() const { return fAllContourMap; }
34 :
35 : /// Get all the contours as an array
36 0 : TObjArray* AllContourArray() const { return fAllContourArray; }
37 :
38 : AliMUONContour* GetContour(const char* contourname) const;
39 :
40 : /// Get detection element geometrical transformations
41 0 : AliMpExMap* GetTransformations() const { return fTransformations; }
42 :
43 : void Print(Option_t* opt="") const;
44 :
45 : private:
46 : /// Not implemented
47 : AliMUONContourHandler(const AliMUONContourHandler& rhs);
48 : /// Not implemented
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 :
57 : private:
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
61 :
62 12 : ClassDef(AliMUONContourHandler,1) // MUON tracker contour holder
63 : };
64 :
65 : #endif
|