X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PMD%2FAliPMDRawStream.h;h=7c87ff6be40daf91c43367445ffcda8c9d282308;hb=c1d5b06e19ec36a7ef6a0b025e23a51021939da9;hp=0bb5b0b6a7506a6255cc34d7d8b54a2b6c3f346b;hpb=a98f9d265c9cd7c0e5e5402ea11f8c4d46b8fc1a;p=u%2Fmrichter%2FAliRoot.git diff --git a/PMD/AliPMDRawStream.h b/PMD/AliPMDRawStream.h index 0bb5b0b6a75..7c87ff6be40 100644 --- a/PMD/AliPMDRawStream.h +++ b/PMD/AliPMDRawStream.h @@ -14,6 +14,10 @@ #include class AliRawReader; +class AliCDBManager; +class AliCDBStorage; +class AliCDBEntry; +class AliPMDMappingData; class AliPMDRawStream: public TObject { @@ -21,15 +25,21 @@ class AliPMDRawStream: public TObject { AliPMDRawStream(AliRawReader* rawReader); virtual ~AliPMDRawStream(); - Bool_t DdlData(Int_t indexDDL, TObjArray *pmdddlcont); + Int_t DdlData(TObjArray *pmdddlcont); enum {kDDLOffset = 0xC00}; // offset for DDL numbers + enum EPMDRawStreamError { + kDDLIndexMismatch = 1, + kNoMappingFile = 2, + kParityError = 3 + }; + private : AliPMDRawStream(const AliPMDRawStream& stream); AliPMDRawStream& operator = (const AliPMDRawStream& stream); - void GetRowCol(Int_t ddlno, Int_t pbusid, + void GetRowCol(Int_t imodule, Int_t pbusid, UInt_t mcmno, UInt_t chno, Int_t startRowBus[], Int_t endRowBus[], Int_t startColBus[], Int_t endColBus[], @@ -37,12 +47,36 @@ class AliPMDRawStream: public TObject { void ConvertDDL2SMN(Int_t iddl, Int_t imodule, Int_t &smn, Int_t &detector) const; void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const; - int ComputeParity(Int_t data); + Int_t ComputeParity(UInt_t data1); + UInt_t GetNextWord(); + void Ddl0Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + void Ddl1Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + void Ddl2Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + void Ddl3Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + void Ddl4Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + void Ddl5Mapping(Int_t moduleNo[], Int_t mcmperBus[], + Int_t startRowBus[], Int_t endRowBus[], + Int_t startColBus[], Int_t endColBus[]); + + AliPMDMappingData *GetMappingData() const; AliRawReader* fRawReader; // object for reading the raw data + UChar_t* fData; // pointer to the data + Int_t fPosition; + AliPMDMappingData *fMapData; //! Mapping data - ClassDef(AliPMDRawStream, 3) // class for reading PMD raw digits + ClassDef(AliPMDRawStream, 8) // class for reading PMD raw digits }; #endif