]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRawStreamSPD.h
AliIT
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSPD.h
CommitLineData
2906f4c2 1#ifndef ALIITSRAWSTREAMSPD_H
2#define ALIITSRAWSTREAMSPD_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9///
10/// This class provides access to ITS SPD digits in raw data.
11///
12///////////////////////////////////////////////////////////////////////////////
13
14#include "AliITSRawStream.h"
15
16
17class AliITSRawStreamSPD: public AliITSRawStream {
18 public :
19 AliITSRawStreamSPD(AliRawReader* rawReader);
20 virtual ~AliITSRawStreamSPD() {};
21
22 virtual Bool_t Next();
72600597 23 virtual void SkipCalibHeader();
2906f4c2 24
25 Int_t GetRow() const {return fCoord2;};
26 Int_t GetColumn() const {return fCoord1;};
27
2906f4c2 28 enum {kDDLsNumber = 20}; // number of DDLs in SPD
29 enum {kModulesPerDDL = 12}; // number of modules in each DDL
30
31 static Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule)
32 {return fgkDDLModuleMap[iDDL][iModule];}
33
34 private :
35 static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL]; // mapping DDL/module -> module number
36
37 UShort_t fData; // data read for file
38 Int_t fDDLNumber; // current DDL number
39 Int_t fEventNumber; // event trigger number
2906f4c2 40 UInt_t fOffset; // offset for cell column
41 UInt_t fHitCount; // counter of hits
42
72600597 43 UChar_t fDataChar1, fDataChar2, fDataChar3, fDataChar4; // temps part of a 32bit word
44 Bool_t fFirstWord; // keeps track of which of the two 16bit words out of the 32bit word to read
45 Bool_t ReadNextShort();
46
2906f4c2 47 ClassDef(AliITSRawStreamSPD, 0) // class for reading ITS SPD raw digits
48};
49
50#endif