Line data Source code
1 : #ifndef ALIMUONMANUCONTOURMAKER_H
2 : #define ALIMUONMANUCONTOURMAKER_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 geometry
10 : /// \class AliMUONManuContourMaker
11 : /// \brief Maker of AliMUONContour objects for all the tracker manus
12 : ///
13 : // Author Laurent Aphecetche, Subatech
14 :
15 : #ifndef ROOT_TObject
16 : # include "TObject.h"
17 : #endif
18 :
19 : #ifndef ROOT_TMap
20 : # include "TMap.h"
21 : #endif
22 :
23 : class AliMpExMap;
24 : class AliMpMotifPosition;
25 : class AliMUONContour;
26 :
27 : class AliMUONManuContourMaker : public TObject
28 : {
29 : public:
30 : AliMUONManuContourMaker(AliMpExMap* deTransformations);
31 : virtual ~AliMUONManuContourMaker();
32 :
33 : AliMUONContour* CreateManuContour(Int_t detElemId, Int_t manuId, const char* name="") const;
34 :
35 : AliMUONContour* CreateMotifContour(const AliMpMotifPosition& motifPosition) const;
36 :
37 : TObjArray* GenerateManuContours(Bool_t stopAtError=kFALSE);
38 :
39 : static TString ManuPathName(Int_t detElemId, Int_t manu, Bool_t withCathodeName=kTRUE);
40 :
41 : private:
42 : /// not implemented
43 : AliMUONManuContourMaker(const AliMUONManuContourMaker& rhs);
44 : /// not implemented
45 : AliMUONManuContourMaker& operator=(const AliMUONManuContourMaker& rhs);
46 :
47 : TString NameIt(const AliMpMotifPosition& motifPosition) const;
48 :
49 : private:
50 : AliMpExMap* fDETransformations; ///< map<int,TGeoHMatrix> of detElemId to matrix
51 : mutable TMap fLocalManuContours; ///< map of local manu contours
52 :
53 12 : ClassDef(AliMUONManuContourMaker,1) // Maker of AliMUONContour objects for all the tracker manus
54 : };
55 :
56 : #endif
|