1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpDEManager.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
7 /// \ingroup management
8 /// \class AliMpDEManager
9 /// \brief The manager class for definition of detection element types
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.
17 /// \author Ivana Hrivnacova, IPN Orsay;
18 /// Laurent Aphecetche, SUBATECH Nantes
20 #ifndef ALI_MP_DE_MANAGER_H
21 #define ALI_MP_DE_MANAGER_H
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"
34 class AliMpDetElement;
37 class AliMpDEManager : public TObject {
40 virtual ~AliMpDEManager();
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);
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);
54 static AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true);
55 static AliMpDetElement* GetDetElement(const TString& deName, Bool_t warn = true);
57 static Int_t GetNofDEInChamber(Int_t chamberId, Bool_t warn = true);
58 static MpPair_t GetDetElemIdRange(Int_t chamberId);
64 AliMpDEManager(const AliMpDEManager& rhs);
66 AliMpDEManager& operator=(const AliMpDEManager& rhs);
69 static TArrayI& GetNofDEPerChamber();
71 // static data members
72 static const Int_t fgkCoefficient; ///< Coefficient used in DE Id <-> station
74 ClassDef(AliMpDEManager,0) // The manager class for definition of detection element types
77 #endif //ALI_MP_MANAGER_H