Fixing a backward compatibility issue
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEManager.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpDEManager.h,v 1.6 2006/05/24 13:58:16 ivana Exp $ 
6
7 /// \ingroup management
8 /// \class AliMpDEManager
9 /// \brief The manager class for definition of detection element types
10 ///
11 /// The detection element types are defined via unique names
12 /// in denames.dat file for each station in the mapping data.
13 /// Detection element name is composed of DETypeName and planeTypeName.
14 /// DETypeName is only one per station in case of station1 and 2 quadrants, 
15 /// there are more DETypes in case of slat and trigger stations. 
16 ///
17 /// \author Ivana Hrivnacova, IPN Orsay;
18 ///         Laurent Aphecetche, SUBATECH Nantes
19
20 #ifndef ALI_MP_DE_MANAGER_H
21 #define ALI_MP_DE_MANAGER_H
22
23 #include <TObject.h>
24 #include <TArrayI.h>
25
26 #include "AliMpExMap.h"
27 #include "AliMpPlaneType.h"
28 #include "AliMpCathodType.h"
29 #include "AliMpStationType.h"
30 #include "AliMpStation12Type.h"
31 #include "AliMpDEIterator.h"
32 #include "AliMpEncodePair.h"
33
34 class AliMpDetElement;
35 class TString;
36
37 class AliMpDEManager : public  TObject {
38
39   public:
40     virtual ~AliMpDEManager();
41     
42     // methods
43     static Bool_t IsValidDetElemId(Int_t detElemId, Bool_t warn = false);
44     static Bool_t IsValidChamberId(Int_t chamberId, Bool_t warn = false);
45     static Bool_t IsValidGeomModuleId(Int_t moduleId, Bool_t warn = false);
46
47     static Int_t   GetChamberId(Int_t detElemId, Bool_t warn = true);    
48     static Int_t   GetGeomModuleId(Int_t detElemId, Bool_t warn = true);    
49     static AliMp::PlaneType     GetPlaneType(Int_t detElemId, AliMp::CathodType cath);
50     static AliMp::CathodType    GetCathod(Int_t detElemId, AliMp::PlaneType planeType);
51     static AliMp::StationType   GetStationType(Int_t detElemId);
52     static AliMq::Station12Type GetStation12Type(Int_t detElemId);
53
54     static AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true);
55     static AliMpDetElement* GetDetElement(const TString& deName, Bool_t warn = true);
56
57     static Int_t     GetNofDEInChamber(Int_t chamberId, Bool_t warn = true);
58     static MpPair_t  GetDetElemIdRange(Int_t chamberId);
59
60   private:
61     /// Not implemented
62     AliMpDEManager();
63     /// Not implemented
64     AliMpDEManager(const AliMpDEManager& rhs);
65     /// Not implemented
66     AliMpDEManager& operator=(const AliMpDEManager& rhs);
67       
68     // static data members      
69     static const Int_t   fgkCoefficient; ///< Coefficient used in DE Id <-> station
70     static    TArrayI fgNofDEPerChamber; ///< Number of detElemId per chamber
71
72   ClassDef(AliMpDEManager,0)  // The manager class for definition of detection element types
73 };
74
75 #endif //ALI_MP_MANAGER_H
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90