X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2Fmapping%2FAliMpDDLStore.h;h=ea717eb9f47b51e3ecc513477284fed056d3f1b4;hb=94bf739cea9ebace9338a41abff9fcb4dde0b628;hp=8612903e1d6da9c4cdfee1b641a99f2ce92c64e4;hpb=472027a9e025607cf0d3540f4c2866582a901e7e;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/mapping/AliMpDDLStore.h b/MUON/mapping/AliMpDDLStore.h index 8612903e1d6..ea717eb9f47 100644 --- a/MUON/mapping/AliMpDDLStore.h +++ b/MUON/mapping/AliMpDDLStore.h @@ -19,7 +19,7 @@ #include "AliMpExMap.h" #include "AliMpIntPair.h" -#include "AliMpGlobalCrate.h" +#include "AliMpRegionalTrigger.h" #include #include #include @@ -30,7 +30,7 @@ class AliMpDetElement; class AliMpBusPatch; class AliMpLocalBoard; class AliMpTriggerCrate; - +class AliMpDataStreams; class TArrayI; class AliMpDDLStore : public TObject { @@ -41,7 +41,8 @@ class AliMpDDLStore : public TObject { // static access method static AliMpDDLStore* Instance(Bool_t warn = true); - static AliMpDDLStore* ReadData(Bool_t warn = true); + static AliMpDDLStore* ReadData(const AliMpDataStreams& dataStreams, + Bool_t warn = true); // methods AliMpDDL* GetDDL(Int_t ddlId, Bool_t warn = true) const; @@ -50,8 +51,9 @@ class AliMpDDLStore : public TObject { AliMpLocalBoard* GetLocalBoard(Int_t localBoardId, Bool_t warn = true) const; AliMpTriggerCrate* GetTriggerCrate(TString crateName, Bool_t warn = true) const; AliMpTriggerCrate* GetTriggerCrate(Int_t ddlId, Int_t index, Bool_t warn = true) const; - /// Get Global Crate object - AliMpGlobalCrate* GetGlobalCrate() const {return fGlobalCrate;} + + /// Return regional trigger object + const AliMpRegionalTrigger* GetRegionalTrigger() const { return &fRegionalTrigger; } Int_t GetDEfromBus(Int_t busPatchId) const; Int_t GetDEfromLocalBoard(Int_t localBoardId, Int_t chamberId) const; @@ -61,30 +63,21 @@ class AliMpDDLStore : public TObject { Int_t GetDDLfromBus(Int_t busPatchId) const; Int_t GetBusPatchId(Int_t detElemId, Int_t manuId) const; - /// Return trigger crates iterator - TExMapIter GetTriggerCrateItr() const {return fTriggerCrates.GetIterator();} - /// Return trigger local board iterator - TExMapIter GetLocalBoardItr() const {return fLocalBoards.GetIterator();} - - /// Get an iterator to loop over bus patches - TExMapIter GetBusPatchesIterator() const { return fBusPatches.GetIterator(); } - - /// read Global trigger crate file - static Bool_t ReadGlobalTrigger(AliMpGlobalCrate& crate, const Char_t* globalName = 0); - - /// read local trigger crate file - static Bool_t ReadRegionalTrigger(AliMpExMap& triggerCrates, AliMpExMap& localBoards, - TObjArray& dlls, const Char_t* fileName = 0, Bool_t warn = true); - - /// Get detection elt and Manu number from serial number - AliMpIntPair GetDetElemIdManu(Int_t manuSerial) const; + /// Get link port and DSP from busPatch id + AliMpIntPair GetLinkPortId(Int_t busPatchId) const; - /// print info of all manus + /// Print info of all manus void PrintAllManu() const; + + // Set methods + void SetRegionalTrigger(const AliMpRegionalTrigger& regionalTrigger); + TIterator* CreateBusPatchIterator() const; private: + AliMpDDLStore(const AliMpDataStreams& dataStreams); + /// Not implemented AliMpDDLStore(); /// Not implemented AliMpDDLStore(const AliMpDDLStore& rhs); @@ -95,27 +88,30 @@ class AliMpDDLStore : public TObject { Int_t GetManuListIndex(Int_t detElemId) const; Int_t GetBusPatchIndex(Int_t detElemId, Int_t manuId) const; Bool_t ReadDDLs(); - Bool_t ReadTriggerDDLs(); + Bool_t ReadTrigger(); + Bool_t SetTriggerDDLs(); Bool_t SetManus(); + Bool_t ReadBusPatchSpecial(); Bool_t SetPatchModules(); - Bool_t SetBusPatchLength(); + Bool_t ReadBusPatchInfo(); Int_t GetLocalBoardId(TString name) const; // static data members static AliMpDDLStore* fgInstance; ///< Singleton instance static const Int_t fgkNofDDLs; ///< Total number of DDLs static const Int_t fgkNofTriggerDDLs; ///< Total number of trigger DDLs + static const TString fgkRevertKeyword; ///< A keyword for ReadBusPatchSpecial() + static const TString fgkExplicitKeyword; ///< A keyword for ReadBusPatchSpecial() // data members + const AliMpDataStreams& fDataStreams; //!< Data streams TObjArray fDDLs; ///< Array of DDL objects AliMpExMap fBusPatches; ///< The map of bus patches per their IDs - AliMpExMap fTriggerCrates; ///< The map of trigger crate per their ID - AliMpExMap fLocalBoards; ///< The map of local board per their ID TArrayI fManuList12[16]; ///< Arrays of 1st manu in bus TArrayI fManuBridge2[16]; ///< Arrays of manu number before the bridge in buspatch - AliMpGlobalCrate* fGlobalCrate; ///< Global Crate Object + AliMpRegionalTrigger fRegionalTrigger; ///< Regional trigger - ClassDef(AliMpDDLStore,3) // The manager class for definition of detection element types + ClassDef(AliMpDDLStore,5) // The manager class for definition of detection element types }; #endif //ALI_MP_DDL_STORE_H