X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2Fmapping%2FAliMpDDLStore.h;h=e61cbe7af622c1a551d92ca26d04ba440414aac3;hb=31edb2d7e9b1a16e900d717a7b3ac3fafca10f40;hp=69ad84c1e2b1634a7b8cc5ce7258a5fb8acd8b59;hpb=c116ee34d1fdc98760c051ba15329a6309398130;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/mapping/AliMpDDLStore.h b/MUON/mapping/AliMpDDLStore.h index 69ad84c1e2b..e61cbe7af62 100644 --- a/MUON/mapping/AliMpDDLStore.h +++ b/MUON/mapping/AliMpDDLStore.h @@ -18,8 +18,7 @@ #define ALI_MP_DDL_STORE_H #include "AliMpExMap.h" -#include "AliMpIntPair.h" - +#include "AliMpRegionalTrigger.h" #include #include #include @@ -30,17 +29,19 @@ class AliMpDetElement; class AliMpBusPatch; class AliMpLocalBoard; class AliMpTriggerCrate; -class AliMpDEStore; +class AliMpDataStreams; class TArrayI; class AliMpDDLStore : public TObject { public: - AliMpDDLStore(TRootIOCtor* /*ioCtor*/); + AliMpDDLStore(TRootIOCtor* ioCtor); virtual ~AliMpDDLStore(); // static access method - static AliMpDDLStore* Instance(); + static AliMpDDLStore* Instance(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,34 +51,50 @@ class AliMpDDLStore : public TObject { AliMpTriggerCrate* GetTriggerCrate(TString crateName, Bool_t warn = true) const; AliMpTriggerCrate* GetTriggerCrate(Int_t ddlId, Int_t index, Bool_t warn = true) const; + /// 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; Int_t GetNextDEfromLocalBoard(Int_t localBoardId, Int_t chamberId) const; Int_t GetPreviousDEfromLocalBoard(Int_t localBoardId, Int_t chamberId) const; - + Int_t GetDDLfromBus(Int_t busPatchId) const; Int_t GetBusPatchId(Int_t detElemId, Int_t manuId) const; - - TExMapIter GetTriggerCrateItr() const {return fTriggerCrates.GetIterator();} - AliMpIntPair GetDetElemIdManu(Int_t manuSerial) const; + Long_t GetLinkPortId(Int_t busPatchId) const; + /// 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); /// Not implemented AliMpDDLStore& operator=(const AliMpDDLStore& rhs); + // static methods + static const TString& GetRevertKeyword(); + static const TString& GetExplicitKeyword(); + // methods 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 ReadBusPatchInfo(); Int_t GetLocalBoardId(TString name) const; // static data members @@ -86,14 +103,14 @@ class AliMpDDLStore : public TObject { static const Int_t fgkNofTriggerDDLs; ///< Total number of trigger DDLs // data members + const AliMpDataStreams& fkDataStreams; //!< Data streams TObjArray fDDLs; ///< Array of DDL objects - AliMpDEStore* fDetElements; ///< Detection element store 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 - - ClassDef(AliMpDDLStore,2) // The manager class for definition of detection element types + TArrayI fManuBridge2[16]; ///< Arrays of manu number before the bridge in buspatch + AliMpRegionalTrigger fRegionalTrigger; ///< Regional trigger + + ClassDef(AliMpDDLStore,5) // The manager class for definition of detection element types }; #endif //ALI_MP_DDL_STORE_H