]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpDEManager.h
In mapping:
[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"
4af021b2 28#include "AliMpCathodType.h"
4e51cfd2 29#include "AliMpStationType.h"
30#include "AliMpStation12Type.h"
4af021b2 31#include "AliMpDEIterator.h"
32f6e426 32
4af021b2 33class AliMpDetElement;
2eee683c 34class TString;
32f6e426 35
36class AliMpDEManager : public TObject {
37
38 public:
39 virtual ~AliMpDEManager();
40
41 // methods
42 static Bool_t IsValidDetElemId(Int_t detElemId, Bool_t warn = false);
0a11b03f 43 static Bool_t IsValidChamberId(Int_t chamberId, Bool_t warn = false);
44 static Bool_t IsValidGeomModuleId(Int_t moduleId, Bool_t warn = false);
32f6e426 45
0a11b03f 46 static Int_t GetChamberId(Int_t detElemId, Bool_t warn = true);
47 static Int_t GetGeomModuleId(Int_t detElemId, Bool_t warn = true);
4e51cfd2 48 static AliMp::PlaneType GetPlaneType(Int_t detElemId, AliMp::CathodType cath);
49 static AliMp::CathodType GetCathod(Int_t detElemId, AliMp::PlaneType planeType);
50 static AliMp::StationType GetStationType(Int_t detElemId);
51 static AliMq::Station12Type GetStation12Type(Int_t detElemId);
32f6e426 52
4af021b2 53 static AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true);
2eee683c 54 static AliMpDetElement* GetDetElement(const TString& deName, Bool_t warn = true);
55
fd911297 56 static Int_t GetNofDEInChamber(Int_t chamberId, Bool_t warn = true);
57 static AliMpIntPair GetDetElemIdRange(Int_t chamberId);
4af021b2 58
13e7956b 59 private:
f5671fc3 60 /// Not implemented
32f6e426 61 AliMpDEManager();
f5671fc3 62 /// Not implemented
32f6e426 63 AliMpDEManager(const AliMpDEManager& rhs);
f5671fc3 64 /// Not implemented
32f6e426 65 AliMpDEManager& operator=(const AliMpDEManager& rhs);
db11901e 66
4af021b2 67 // static data members
68 static const Int_t fgkCoefficient; ///< Coefficient used in DE Id <-> station
69 static TArrayI fgNofDEPerChamber; ///< Number of detElemId per chamber
70
829425a5 71 ClassDef(AliMpDEManager,0) // The manager class for definition of detection element types
32f6e426 72};
73
74#endif //ALI_MP_MANAGER_H
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89