AliRoot Core  ee782a0 (ee782a0)
AliMpDetElement.h
Go to the documentation of this file.
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: AliMpDetElement.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
6 
13 
14 #ifndef ALI_MP_DET_ELEMENT_H
15 #define ALI_MP_DET_ELEMENT_H
16 
17 #include <TObject.h>
18 #include <TArrayI.h>
19 #include <TExMap.h>
20 
21 #include "AliMpArrayI.h"
22 #include "AliMpPlaneType.h"
23 #include "AliMpCathodType.h"
24 #include "AliMpStationType.h"
25 #include "AliMpStation12Type.h"
26 
27 #ifndef ALI_MP_EX_MAP_H
28 # include "AliMpExMap.h"
29 #endif
30 
31 class AliMpVSegmentation;
32 class AliMpArrayI;
33 
34 class AliMpDetElement : public TObject {
35 
36  public:
37  AliMpDetElement(Int_t id, const TString& name,
38  const TString& segType, AliMp::PlaneType planeType);
39  AliMpDetElement(TRootIOCtor* ioCtor);
40  virtual ~AliMpDetElement();
41 
42  // static methods
43  static char GetNameSeparator();
44 
45  // methods
46  Bool_t AddBusPatch(Int_t busPatchId);
47  void AddManu(Int_t manuId);
48  void SetDdlId(Int_t ddlId);
49 
50  // get methods
51  Int_t GetId() const;
52  Int_t GetDdlId() const;
53  TString GetDEName() const;
54  TString GetSegType() const;
55  TString GetSegName(AliMp::CathodType cath) const;
56 
59  AliMp::CathodType GetCathodTypeFromManuId(Int_t manuId) const;
62 
63  Int_t GetNofBusPatches() const;
64  Int_t GetBusPatchId(Int_t index) const;
65  Bool_t HasBusPatchId(Int_t busPatchId) const;
66 
67  Int_t NofManus() const;
68  Int_t NofChannelsInManu(Int_t manuId) const;
69  Bool_t IsExistingChannel(Int_t manuId, Int_t manuChannel) const;
70  Bool_t IsConnectedChannel(Int_t manuId, Int_t manuChannel) const;
71 
72  const AliMpArrayI* ManusForHV(Int_t hvIndex) const;
73 
75  Int_t NofChannels() const { return fNofChannels; }
76 
77  private:
81  AliMpDetElement(const AliMpDetElement& rhs);
84 
85  // static data members
86  static const char fgkNameSeparator;
87 
88  // data members
89  Int_t fId;
90  Int_t fDdlId;
91  TString fName;
92  TString fSegType;
94  //AliMpExMap fBusPatches; ///< Bus patches connected to this detection element
96 
97  mutable TExMap fManuList;
98  mutable TExMap fTrackerChannels;
99 
101 
102  Int_t fNofChannels;
103 
104  ClassDef(AliMpDetElement,4) // The manager class for definition of detection element types
105 };
106 
107 // inline function
108 
111 { return fgkNameSeparator; }
112 
114 inline void AliMpDetElement::SetDdlId(Int_t ddlId)
115 { fDdlId = ddlId; }
116 
118 inline Int_t AliMpDetElement::GetId() const
119 { return fId; }
120 
122 inline Int_t AliMpDetElement::GetDdlId() const
123 { return fDdlId; }
124 
126 inline TString AliMpDetElement::GetDEName() const
127 { return fName; }
128 
130 inline TString AliMpDetElement::GetSegType() const
131 { return fSegType; }
132 
133 #endif //ALI_MP_MANAGER_H
134 
135 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
AliMq::Station12Type GetStation12Type() const
AliMp::StationType GetStationType() const
TString GetDEName() const
Return name.
Int_t NofManus() const
static char GetNameSeparator()
Return the name separator.
The class defines the electronics properties of detection element.
TExMap fManuList
map of manus
TString GetSegName(AliMp::CathodType cath) const
Bool_t AddBusPatch(Int_t busPatchId)
void SetDdlId(Int_t ddlId)
Set DDL Id.
TString fSegType
Segmentation type name.
TExMap fTrackerChannels
list of connected pads (tracker only)
AliMpArrayI fBusPatchIds
Bus patches connected to this detection element.
virtual ~AliMpDetElement()
AliMp::PlaneType GetPlaneType(AliMp::CathodType cath) const
AliMpDetElement()
Not implemented.
Helper class for sorted integer array.
Definition: AliMpArrayI.h:21
Int_t NofChannelsInManu(Int_t manuId) const
Int_t GetDdlId() const
Return DDL Id.
AliMpExMap fHVmanus
map of HV->manu
Int_t GetNofBusPatches() const
AliMpDetElement & operator=(const AliMpDetElement &rhs)
Not implemented.
AliMp::CathodType GetCathodType(AliMp::PlaneType planeType) const
The abstract base class for the segmentation.
AliMp::CathodType GetCathodTypeFromManuId(Int_t manuId) const
Int_t GetBusPatchId(Int_t index) const
AliMp::PlaneType fPlaneType
Plane type on cathod0.
Int_t fDdlId
DDL Id to which this DE is connected.
const AliMpArrayI * ManusForHV(Int_t hvIndex) const
Bool_t IsConnectedChannel(Int_t manuId, Int_t manuChannel) const
void AddManu(Int_t manuId)
Int_t fId
Identifier (unique)
Int_t NofChannels() const
Return the number of channels in this detection element.
Bool_t IsExistingChannel(Int_t manuId, Int_t manuChannel) const
Bool_t HasBusPatchId(Int_t busPatchId) const
Int_t fNofChannels
number of channels in this detection element
Int_t GetId() const
Return Id.
static const char fgkNameSeparator
Separator character used in DE names.
TString GetSegType() const
Return segmentation type name.
Helper class making Root persistent TExMap.
Definition: AliMpExMap.h:28
TString fName
Name unique.