Line data Source code
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 methods
69 : static TArrayI& GetNofDEPerChamber();
70 :
71 : // static data members
72 : static const Int_t fgkCoefficient; ///< Coefficient used in DE Id <-> station
73 :
74 18 : ClassDef(AliMpDEManager,0) // The manager class for definition of detection element types
75 : };
76 :
77 : #endif //ALI_MP_MANAGER_H
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
|