]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONManuContourMaker.h
Fix bug in protection against division by 0.
[u/mrichter/AliRoot.git] / MUON / AliMUONManuContourMaker.h
CommitLineData
0b936dc0 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
23class AliMpExMap;
24class AliMpMotifPosition;
25class AliMUONContour;
26
27class AliMUONManuContourMaker : public TObject
28{
29public:
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
41private:
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
49private:
cddcc1f3 50 AliMpExMap* fDETransformations; ///< map<int,TGeoHMatrix> of detElemId to matrix
51 mutable TMap fLocalManuContours; ///< map of local manu contours
0b936dc0 52
cddcc1f3 53 ClassDef(AliMUONManuContourMaker,1) // Maker of AliMUONContour objects for all the tracker manus
0b936dc0 54};
55
56#endif