]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONManuContourMaker.h
Adding 2013 periods
[u/mrichter/AliRoot.git] / MUON / AliMUONManuContourMaker.h
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   ClassDef(AliMUONManuContourMaker,1) // Maker of AliMUONContour objects for all the tracker manus
54 };
55
56 #endif