]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFDecoder.h
Updated mean-vertexer class. Two parameters tuned in the 3DVertexer
[u/mrichter/AliRoot.git] / TOF / AliTOFDecoder.h
index c416a08d3f055112deea2e2b7ec0fab1e963e847..d530d5a8e6247bcb012b67324d967b5f04fbe1e4 100644 (file)
@@ -1,8 +1,6 @@
 #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                               */
 
@@ -35,8 +33,8 @@
 #define CHAIN_B_TDC_HIT_STATUS  (DRM_BIT|TRM_BIT|CHAIN_B_BIT)
 
 //define DRM/LTM fixed number of words
-#define DRM_DATA_WORDS          4
-#define LTM_DATA_WORDS          33
+#define DRM_DATA_WORDS          5
+#define LTM_DATA_WORDS          48
 
 //define masks
 #define WORD_TYPE_MASK          0xf0000000
 
 #include "TObject.h"
 #include "AliTOFRawDataFormat.h"
-#include "AliTOFHitDataBuffer.h"
+#include "AliTOFHitData.h"
+//#include "AliTOFHitDataBuffer.h"
+//#include "AliTOFGeometry.h"
+
+class AliTOFHitDataBuffer;
+class AliRawDataHeader;
 
 class AliTOFDecoder : public TObject
 {
@@ -99,11 +102,39 @@ 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(const 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 
+  void PrintStack(const UInt_t *rawData, Int_t nWords, const AliRawDataHeader *cdh);
+
+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 -
@@ -112,7 +143,7 @@ class AliTOFDecoder : public TObject
    */     
   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
@@ -120,24 +151,24 @@ class AliTOFDecoder : public TObject
   AliTOFHitDataBuffer *fPackedDataBuffer; //packed data buffe pointer
 
   //decoding objects
-  AliTOFTRMGlobalHeader          *fTRMGlobalHeader; //TRM global header
-  AliTOFTRMGlobalTrailer         *fTRMGlobalTrailer; //TRM global trailer
-  AliTOFTRMChainHeader           *fTRMChainHeader; //TRM chain header
-  AliTOFTRMChainTrailer          *fTRMChainTrailer; //TRM chain trailer
-  AliTOFTDCPackedHit             *fTDCPackedHit; //TDC packed hit
-  AliTOFTDCUnpackedHit           *fTDCUnpackedHit; //TDC unpacked hit
-  AliTOFTRMTDCError              *fTRMTDCError; //TRM TDC error
-  AliTOFTRMDiagnosticErrorWord1  *fTRMDiagnosticErrorWord1; //TRM diagnostic error word 1
-  AliTOFTRMDiagnosticErrorWord2  *fTRMDiagnosticErrorWord2; //TRM diagnostica error word 2
+  //AliTOFTRMGlobalHeader          *fTRMGlobalHeader; //TRM global header
+  //AliTOFTRMGlobalTrailer         *fTRMGlobalTrailer; //TRM global trailer
+  //AliTOFTRMChainHeader           *fTRMChainHeader; //TRM chain header
+  //AliTOFTRMChainTrailer          *fTRMChainTrailer; //TRM chain trailer
+  //AliTOFTDCPackedHit             *fTDCPackedHit; //TDC packed hit
+  //AliTOFTDCUnpackedHit           *fTDCUnpackedHit; //TDC unpacked hit
+  //AliTOFTRMTDCError              *fTRMTDCError; //TRM TDC error
+  //AliTOFTRMDiagnosticErrorWord1  *fTRMDiagnosticErrorWord1; //TRM diagnostic error word 1
+  //AliTOFTRMDiagnosticErrorWord2  *fTRMDiagnosticErrorWord2; //TRM diagnostica error word 2
 
   //SPIDER variables
   Int_t         fSpiderCurrentSlotID; //SPIDER current slot ID
   Int_t         fSpiderCurrentChain; //SPIDER current chain
   Int_t         fSpiderCurrentTDC; //SPIDER current TDC
-  Bool_t        fSpiderLeadingFlag[N_CHANNEL]; //SPIDER channel leading flag
-  AliTOFHitData fSpiderLeadingHit[N_CHANNEL]; //SPIDER channel leading hit
+  Bool_t        fSpiderLeadingFlag[8]; //SPIDER channel leading flag
+  AliTOFHitData fSpiderLeadingHit[8]; //SPIDER channel leading hit
 
-  ClassDef(AliTOFDecoder, 1)
+  ClassDef(AliTOFDecoder, 2)
 };
 
 #endif /* ALITOFDECODER_H */