1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpDetElement.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
7 /// \ingroup management
8 /// \class AliMpDetElement
9 /// \brief The class defines the electronics properties of detection element
11 /// \author Ivana Hrivnacova, IPN Orsay;
12 /// Laurent Aphecetche, Ch. Finck, Subatech Nantes
14 #ifndef ALI_MP_DET_ELEMENT_H
15 #define ALI_MP_DET_ELEMENT_H
21 #include "AliMpArrayI.h"
22 #include "AliMpStationType.h"
23 #include "AliMpPlaneType.h"
24 #include "AliMpCathodType.h"
26 class AliMpVSegmentation;
28 class AliMpDetElement : public TObject {
31 AliMpDetElement(Int_t id, const TString& name,
32 const TString& segType, AliMp::PlaneType planeType);
33 AliMpDetElement(TRootIOCtor* /*ioCtor*/);
34 virtual ~AliMpDetElement();
37 static char GetNameSeparator();
40 Bool_t AddBusPatch(Int_t busPatchId);
41 void AddManuSerial(Int_t manuId, Int_t serialNb);
42 void SetDdlId(Int_t ddlId);
46 Int_t GetDdlId() const;
47 TString GetDEName() const;
48 TString GetSegType() const;
49 TString GetSegName(AliMp::CathodType cath) const;
51 AliMp::PlaneType GetPlaneType(AliMp::CathodType cath) const;
52 AliMp::CathodType GetCathodType(AliMp::PlaneType planeType) const;
53 AliMp::StationType GetStationType() const;
55 Int_t GetNofBusPatches() const;
56 Int_t GetBusPatchId(Int_t index) const;
57 Bool_t HasBusPatchId(Int_t busPatchId) const;
59 Int_t GetNofManus() const;
60 Int_t GetManuSerialFromId(Int_t manuId) const;
61 Int_t GetManuIdFromSerial(Int_t serialNb) const;
65 AliMpDetElement(const AliMpDetElement& rhs);
66 AliMpDetElement& operator=(const AliMpDetElement& rhs);
68 // static data members
69 static const char fgkNameSeparator; ///< Separator character used in DE names
72 Int_t fId; ///< Identifier (unique)
73 Int_t fDdlId; ///< DDL Id to which this DE is connected
74 TString fName; ///< Name unique
75 TString fSegType; ///< Segmentation type name
76 AliMp::PlaneType fPlaneType; ///< Plane type on cathod0
77 //AliMpExMap fBusPatches; ///< Bus patches connected to this detection element
78 AliMpArrayI fBusPatchIds; ///< Bus patches connected to this detection element
79 mutable TExMap fManuToSerialNbs; //< Map from manuId to serial #
80 mutable TExMap fSerialNbToManus; //< Map manu serial # to manuId
82 ClassDef(AliMpDetElement,1) // The manager class for definition of detection element types
87 /// Return the name separator
88 inline char AliMpDetElement::GetNameSeparator()
89 { return fgkNameSeparator; }
92 inline void AliMpDetElement::SetDdlId(Int_t ddlId)
96 inline Int_t AliMpDetElement::GetId() const
100 inline Int_t AliMpDetElement::GetDdlId() const
104 inline TString AliMpDetElement::GetDEName() const
107 /// Return segmentation type name
108 inline TString AliMpDetElement::GetSegType() const
111 #endif //ALI_MP_MANAGER_H