]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpDEManager.h
Introduced new DE names unique to each det element;
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEManager.h
CommitLineData
32f6e426 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
700013f0 4// $Id$
13985652 5// $MpId: AliMpDEManager.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
32f6e426 6
7/// \ingroup management
8/// \class AliMpDEManager
9/// \brief The manager class for definition of detection element types
13985652 10///
32f6e426 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///
13985652 17/// \author Ivana Hrivnacova, IPN Orsay;
18/// Laurent Aphecetche, SUBATECH Nantes
32f6e426 19
20#ifndef ALI_MP_DE_MANAGER_H
21#define ALI_MP_DE_MANAGER_H
22
2a7ea2e6 23#include <TObject.h>
db11901e 24#include <TArrayI.h>
2a7ea2e6 25
32f6e426 26#include "AliMpExMap.h"
27#include "AliMpPlaneType.h"
28#include "AliMpStationType.h"
29
32f6e426 30class AliMpVSegmentation;
31
32class AliMpDEManager : public TObject {
33
34 public:
35 virtual ~AliMpDEManager();
36
37 // methods
38 static Bool_t IsValidDetElemId(Int_t detElemId, Bool_t warn = false);
39 static Bool_t IsValidCathod(Int_t cath, Bool_t warn = false);
40 static Bool_t IsValid(Int_t detElemId, Int_t cath, Bool_t warn = false);
0a11b03f 41 static Bool_t IsValidChamberId(Int_t chamberId, Bool_t warn = false);
42 static Bool_t IsValidGeomModuleId(Int_t moduleId, Bool_t warn = false);
32f6e426 43
09db6144 44 static TString GetDEName(Int_t detElemId, Bool_t warn = true);
45 static TString GetDESegName(Int_t detElemId, Int_t cath, Bool_t warn = true);
32f6e426 46 static TString GetDETypeName(Int_t detElemId, Int_t cath, Bool_t warn = true);
0a11b03f 47 static Int_t GetChamberId(Int_t detElemId, Bool_t warn = true);
48 static Int_t GetGeomModuleId(Int_t detElemId, Bool_t warn = true);
32f6e426 49 static AliMpPlaneType GetPlaneType(Int_t detElemId, Int_t cath);
50 static AliMpStationType GetStationType(Int_t detElemId);
6b87a46a 51 static Int_t GetCathod(Int_t detElemId, AliMpPlaneType planeType);
32f6e426 52
db11901e 53 static Int_t GetNofDEInChamber(Int_t chamberId, Bool_t warn = true);
13e7956b 54 private:
32f6e426 55 AliMpDEManager();
56 AliMpDEManager(const AliMpDEManager& rhs);
57 AliMpDEManager& operator=(const AliMpDEManager& rhs);
58
32f6e426 59 // methods
60 static Bool_t IsPlaneType(const TString& planeTypeName);
61 static AliMpPlaneType PlaneType(const TString& planeTypeName);
62 static AliMpStationType StationType(const TString& stationTypeName);
63
64 static Bool_t ReadDENames(AliMpStationType station);
65 static void FillDENames();
66
67 // static data members
829425a5 68 static const char fgkNameSeparator; ///< Separator character used in DE names
69 static const char fgkCommentPrefix; ///< Comment prefix in DE names file
70 static const Int_t fgkCoefficient; ///< Coefficient used in DE Id <-> station
32f6e426 71
72 // data members
09db6144 73 static AliMpExMap fgDENamesMap; ///< \brief Map between DE Ids and names
74 static AliMpExMap fgDESegNamesMap;///< \brief Map between DE Ids and
75 /// a pair of DE seg names for 2 cathods
76 static AliMpExMap fgDECathBNBMap; ///< \brief Map between DE Is and a pair
77 /// of planeTypes for cathodes (0,1)
78 static TArrayI fgNofDEPerChamber; ///< number of detElemId per chamber
db11901e 79
829425a5 80 ClassDef(AliMpDEManager,0) // The manager class for definition of detection element types
32f6e426 81};
82
83#endif //ALI_MP_MANAGER_H
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98