]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpBusPatch.h
Possibility to run on Windows/Cygwin
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpBusPatch.h
CommitLineData
1e738c3c 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
b4daf0b2 5// $MpId: $
1e738c3c 6
9b97f64e 7/// \ingroup management
1e738c3c 8/// \class AliMpBusPatch
b4daf0b2 9/// \brief The class defines the properties of BusPatch
1e738c3c 10///
b4daf0b2 11/// \author Ivana Hrivnacova, IPN Orsay
1e738c3c 12
b4daf0b2 13#ifndef ALI_MP_BUS_PATCH_H
14#define ALI_MP_BUS_PATCH_H
1e738c3c 15
1e738c3c 16#include <TObject.h>
59754717 17#include <TString.h>
1e738c3c 18
b4daf0b2 19#include "AliMpArrayI.h"
20
21class AliMpBusPatch : public TObject {
22
23 public:
24 AliMpBusPatch(Int_t id, Int_t deId, Int_t ddlId);
25 AliMpBusPatch(TRootIOCtor* /*ioCtor*/);
26 virtual ~AliMpBusPatch();
27
28 // static methods
29 static Int_t GetGlobalBusID(Int_t localID, Int_t ddlID);
30 static Int_t GetLocalBusID(Int_t globalID, Int_t ddlID);
31
32 // methods
33 Bool_t AddManu(Int_t manuId);
bf4bf8d2 34 Bool_t SetNofManusPerModule(Int_t manuNumber = 0);
59754717 35 void SetTranslatorLabel(TString label);
36 void SetCableLabel(TString label);
bf4bf8d2 37 void SetCableLength(Float_t length);
59754717 38 void SetFrtId(Int_t id);
ae649dcb 39 void RevertReadout();
40 void ResetReadout();
41
b4daf0b2 42 // get methods
43 Int_t GetId() const;
44 Int_t GetDEId() const;
45 Int_t GetDdlId() const;
59754717 46 Int_t GetFrtId() const;
b4daf0b2 47 Int_t GetNofManus() const;
48 Int_t GetManuId(Int_t index) const;
49 Bool_t HasManu(Int_t manuId) const;
50
f00f5bb0 51 Int_t GetNofPatchModules() const;
52 Int_t GetNofManusPerModule(Int_t patchModule) const;
53
bf4bf8d2 54 Float_t GetCableLength() const;
59754717 55 TString GetCableLabel() const;
56 TString GetTranslatorLabel() const;
b4daf0b2 57
58 private:
71a2d3aa 59 /// Not implemented
b4daf0b2 60 AliMpBusPatch();
71a2d3aa 61 /// Not implemented
b4daf0b2 62 AliMpBusPatch(const AliMpBusPatch& rhs);
71a2d3aa 63 /// Not implemented
b4daf0b2 64 AliMpBusPatch& operator=(const AliMpBusPatch& rhs);
65
66 // static data members
71a2d3aa 67 static const Int_t fgkOffset; ///< Offset for conversion global/local ID
b4daf0b2 68
69 // data members
59754717 70 Int_t fId; ///< Identifier (unique)
71 Int_t fDEId; ///< Detection element to which this bus patch is connected
72 Int_t fDdlId; ///< DDL to which this bus patch is connected
73 AliMpArrayI fManus; ///< Manu Ids connected to this bus patch
74 AliMpArrayI fNofManusPerModule; ///< Nof Manus per patch modules (PCBs)
75 Float_t fCableLength; ///< length of the buspatch cable
76 TString fCableLabel; ///< label of the buspatch cable
77 TString fTranslatorLabel; ///< label of the translator board
78 Int_t fFrtId; ///< FRT Ids connected to this bus patch
79
80 ClassDef(AliMpBusPatch,3) // The class collectiong electronics properties of DDL
b4daf0b2 81};
82
83// inline functions
2a7ea2e6 84
b4daf0b2 85/// Return the unique Id
86inline Int_t AliMpBusPatch::GetId() const
87{ return fId; }
88
89/// Return the Detection element Id
90inline Int_t AliMpBusPatch::GetDEId() const
91{ return fDEId; }
92
59754717 93/// Return the Ddl Id
b4daf0b2 94inline Int_t AliMpBusPatch::GetDdlId() const
95{ return fDdlId; }
96
59754717 97/// Return the FRT Id
98inline Int_t AliMpBusPatch::GetFrtId() const
99{ return fFrtId; }
100
bf4bf8d2 101/// Return length of buspatch
102inline Float_t AliMpBusPatch::GetCableLength() const
103{ return fCableLength; }
104
59754717 105/// Set FRT id for buspatch
106inline void AliMpBusPatch::SetFrtId(Int_t id)
107{ fFrtId = id; }
108
bf4bf8d2 109/// Set length of buspatch
110inline void AliMpBusPatch::SetCableLength(Float_t length)
111{ fCableLength = length; }
112
59754717 113/// Return label of buspatch
114inline TString AliMpBusPatch::GetCableLabel() const
115{ return fCableLabel; }
116
117/// Set label of buspatch
118inline void AliMpBusPatch::SetCableLabel(TString label)
119{ fCableLabel = label; }
120
121/// Return label of translator
122inline TString AliMpBusPatch::GetTranslatorLabel() const
123{ return fCableLabel; }
124
125/// Set label of translator
126inline void AliMpBusPatch::SetTranslatorLabel(TString label)
127{ fTranslatorLabel = label; }
128
129
b4daf0b2 130#endif //ALI_BUS_PATCH_H
528df1a6 131
1e738c3c 132
1e738c3c 133
1e738c3c 134
1e738c3c 135
1e738c3c 136
1e738c3c 137
d2892ef5 138
1e738c3c 139
5826f1df 140
5826f1df 141
1e738c3c 142
1e738c3c 143
144