1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpBusPatch.h,v 1.5 2006/05/24 13:58:16 ivana Exp $
7 /// \ingroup management
8 /// \class AliMpBusPatch
9 /// \brief Class that manages the maps buspatch<>DDL<>DE
11 /// Calculates also the maximum DSP and buspatch numbers for a given DE
13 /// \author Ch. Finck; Subatech Nantes
15 #ifndef ALI_MP_BUSPATCH_H
16 #define ALI_MP_BUSPATCH_H
23 class AliMpBusPatch : public TObject
29 AliMpBusPatch(const AliMpBusPatch& src);
30 virtual ~AliMpBusPatch();
33 AliMpBusPatch& operator = (const AliMpBusPatch& src) ;
36 void ReadBusPatchFile();
37 void GetDspInfo(Int_t iDDL, Int_t& iDspMax, Int_t* iBusPerDSP) const;
39 Int_t GetDEfromBus(Int_t busPatchId);
40 TArrayI* GetBusfromDE(Int_t idDE);
41 Int_t GetDDLfromBus(Int_t busPatchId);
42 void AddBus(Int_t nDDL, Int_t busPatch);
44 TArrayI GetBusInDDL(Int_t nDDL) {return fBusInDDL[nDDL];}
45 Int_t NextBusInDDL(Int_t iDDL);
46 void ResetBusItr(Int_t iDDL);
50 TExMap fDetElemIdToBusPatch; //!< Map from idDE to BusPatch
51 TExMap fBusPatchToDetElem; //!< Map from BusPatch to idDE
52 TExMap fBusPatchToDDL; //!< Map from BusPatch to iDDL
54 TArrayI fBusInDDL[20]; //!< buspatch array per DDL
55 Int_t fBusItr[20]; //!< buspatch in DDL iterator
57 void Sort(TArrayI& arr, Int_t start, Int_t end);
60 ClassDef(AliMpBusPatch,1) //utility class for the motif type
64 #endif //ALI_MP_BUSPATCH_H