#ifndef ALITOFDECODER_H
#define ALITOFDECODER_H
-#include "AliTOFGeometry.h"
-
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
#include "TObject.h"
#include "AliTOFRawDataFormat.h"
-#include "AliTOFHitDataBuffer.h"
+//#include "AliTOFHitData.h"
+//#include "AliTOFHitDataBuffer.h"
+//#include "AliTOFGeometry.h"
+
+class AliTOFHitData;
+class AliTOFHitDataBuffer;
+class AliRawDataHeader;
class AliTOFDecoder : public TObject
{
AliTOFDecoder &operator = (const AliTOFDecoder &source); //operator =
~AliTOFDecoder(); //distructor
- Bool_t Decode(UInt_t *rawData, Int_t nWords); //main decode function
+ Bool_t Decode(UInt_t *rawData, Int_t nWords, const AliRawDataHeader *cdh); //main decode function
void SetVerbose(Int_t Verbose = 1) {fVerbose = Verbose;}; //set verbose level
void SetV2718Patch(Bool_t V2718Patch = kTRUE) {fV2718Patch = V2718Patch;}; //set V2718 patch (no DRM)
void SetDataBuffer(AliTOFHitDataBuffer *DB) {fDataBuffer = DB;}; //set up data buffer
void SetPackedDataBuffer(AliTOFHitDataBuffer *PDB) {fPackedDataBuffer = PDB;}; //set up packed data buffer
+
+ void GetArrayDDL(Int_t* array, Int_t iDDL); // method to return array of TOFchannels corresponding to a given DDL id
+
+enum {
+ kMinPlate0=0,kMaxPlate0=2,
+ kMinStrip0=0,kMaxStrip0=6,
+ kMinPadz0=0,kMaxPadz0=1,
+ kMinPadx0=0,kMaxPadx0=23,
+
+ kMinPlate1=0,kMaxPlate1=2,
+ kMinStrip1=0,kMaxStrip1=7,
+ kMinPadz1=0,kMaxPadz1=1,
+ kMinPadx1=24,kMaxPadx1=47,
+
+ kMinPlate2=2,kMaxPlate2=4,
+ kMinStrip2=8,kMaxStrip2=14,
+ kMinPadz2=0,kMaxPadz2=1,
+ kMinPadx2=24,kMaxPadx2=47,
+
+ kMinPlate3=2,kMaxPlate3=4,
+ kMinStrip3=7,kMaxStrip3=14,
+ kMinPadz3=0,kMaxPadz3=1,
+ kMinPadx3=0,kMaxPadx3=23
+
+};
+
+
private:
/* SPIDER
* - Software Packing Inside Decoding Routines -
*/
Bool_t InitializeSpider(); //initialize SPIDER routine
Bool_t ResetSpider(); //reset SPIDER routine
- Bool_t Spider(AliTOFHitData hitData); //main SPIDER routine
+ Bool_t Spider(AliTOFHitData &hitData); //main SPIDER routine
Int_t fVerbose; //verbose flag
Bool_t fV2718Patch; //V2718 patch flag
Bool_t fSpiderLeadingFlag[N_CHANNEL]; //SPIDER channel leading flag
AliTOFHitData fSpiderLeadingHit[N_CHANNEL]; //SPIDER channel leading hit
- ClassDef(AliTOFDecoder, 1)
+ ClassDef(AliTOFDecoder, 2)
};
#endif /* ALITOFDECODER_H */