ROOT logo
#ifndef ALIITSCOMPRESSRAWDATASDD_H
#define ALIITSCOMPRESSRAWDATASDD_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

#include<TObject.h>
#include<TString.h>

///////////////////////////////////////////////////////////////////
//                                                               //
// Class to decode the SDD Raw Data from the CarlosRX format to  //
// a compressed format consisting in a word of 32 bit per cell   //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

class AliRawReader;

class AliITSCompressRawDataSDD : public TObject {

 public:
  AliITSCompressRawDataSDD();
  ~AliITSCompressRawDataSDD();
  void SetRawReader(AliRawReader* rd){
    fRawReader=rd;
  }
  void SetPointerToData(UChar_t* pt){
    fPointerToData=pt;
  }
  void SetSize(UInt_t siz){
    fSizeInMemory=siz;
  }

  UInt_t CompressEvent(UChar_t* inputPtr);

  static UInt_t MakeDataWord(Int_t carlos, Int_t side, Int_t anode, Int_t tb, Int_t adc){
    UInt_t word= (carlos<<27) + (side<<26) + (anode<<18) + (tb<<10) + adc;
    return word;
  }

  static UInt_t MakeEndOfModuleWord(Int_t carlos){
    UInt_t word= (15<<28) + carlos;
    return word;
  }

  static UInt_t MakeJitterWord(Int_t jitter){
    UInt_t word= (8<<28) + jitter;
    return word;
  }

 protected:

 private:
  AliITSCompressRawDataSDD(const AliITSCompressRawDataSDD& /*c*/);

  AliITSCompressRawDataSDD& operator=(const AliITSCompressRawDataSDD& /*c*/);
 

  AliRawReader* fRawReader; // pointer to raw reader
  UChar_t* fPointerToData;   // pointer to the start of data in memory
  UInt_t  fSizeInMemory;    // free space in memory in Bytes

  ClassDef(AliITSCompressRawDataSDD, 0)
};

#endif
 AliITSCompressRawDataSDD.h:1
 AliITSCompressRawDataSDD.h:2
 AliITSCompressRawDataSDD.h:3
 AliITSCompressRawDataSDD.h:4
 AliITSCompressRawDataSDD.h:5
 AliITSCompressRawDataSDD.h:6
 AliITSCompressRawDataSDD.h:7
 AliITSCompressRawDataSDD.h:8
 AliITSCompressRawDataSDD.h:9
 AliITSCompressRawDataSDD.h:10
 AliITSCompressRawDataSDD.h:11
 AliITSCompressRawDataSDD.h:12
 AliITSCompressRawDataSDD.h:13
 AliITSCompressRawDataSDD.h:14
 AliITSCompressRawDataSDD.h:15
 AliITSCompressRawDataSDD.h:16
 AliITSCompressRawDataSDD.h:17
 AliITSCompressRawDataSDD.h:18
 AliITSCompressRawDataSDD.h:19
 AliITSCompressRawDataSDD.h:20
 AliITSCompressRawDataSDD.h:21
 AliITSCompressRawDataSDD.h:22
 AliITSCompressRawDataSDD.h:23
 AliITSCompressRawDataSDD.h:24
 AliITSCompressRawDataSDD.h:25
 AliITSCompressRawDataSDD.h:26
 AliITSCompressRawDataSDD.h:27
 AliITSCompressRawDataSDD.h:28
 AliITSCompressRawDataSDD.h:29
 AliITSCompressRawDataSDD.h:30
 AliITSCompressRawDataSDD.h:31
 AliITSCompressRawDataSDD.h:32
 AliITSCompressRawDataSDD.h:33
 AliITSCompressRawDataSDD.h:34
 AliITSCompressRawDataSDD.h:35
 AliITSCompressRawDataSDD.h:36
 AliITSCompressRawDataSDD.h:37
 AliITSCompressRawDataSDD.h:38
 AliITSCompressRawDataSDD.h:39
 AliITSCompressRawDataSDD.h:40
 AliITSCompressRawDataSDD.h:41
 AliITSCompressRawDataSDD.h:42
 AliITSCompressRawDataSDD.h:43
 AliITSCompressRawDataSDD.h:44
 AliITSCompressRawDataSDD.h:45
 AliITSCompressRawDataSDD.h:46
 AliITSCompressRawDataSDD.h:47
 AliITSCompressRawDataSDD.h:48
 AliITSCompressRawDataSDD.h:49
 AliITSCompressRawDataSDD.h:50
 AliITSCompressRawDataSDD.h:51
 AliITSCompressRawDataSDD.h:52
 AliITSCompressRawDataSDD.h:53
 AliITSCompressRawDataSDD.h:54
 AliITSCompressRawDataSDD.h:55
 AliITSCompressRawDataSDD.h:56
 AliITSCompressRawDataSDD.h:57
 AliITSCompressRawDataSDD.h:58
 AliITSCompressRawDataSDD.h:59
 AliITSCompressRawDataSDD.h:60
 AliITSCompressRawDataSDD.h:61
 AliITSCompressRawDataSDD.h:62
 AliITSCompressRawDataSDD.h:63
 AliITSCompressRawDataSDD.h:64
 AliITSCompressRawDataSDD.h:65
 AliITSCompressRawDataSDD.h:66
 AliITSCompressRawDataSDD.h:67
 AliITSCompressRawDataSDD.h:68
 AliITSCompressRawDataSDD.h:69