Changing once more (hopefully we get it correct this time...) the logic to trig the...
[u/mrichter/AliRoot.git] / ITS / AliITSRawStream.h
CommitLineData
2906f4c2 1#ifndef ALIITSRAWSTREAM_H
2#define ALIITSRAWSTREAM_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 is a base class for providing access to ITS digits in raw data.
11///
12///////////////////////////////////////////////////////////////////////////////
13
14#include <TObject.h>
2f8ed7ab 15#include "AliITSDDLModuleMapSDD.h"
16#include "AliLog.h"
2906f4c2 17
18class AliRawReader;
19
20
21class AliITSRawStream: public TObject {
22 public :
23 AliITSRawStream(AliRawReader* rawReader);
24 AliITSRawStream(const AliITSRawStream& stream);
25 AliITSRawStream& operator = (const AliITSRawStream& stream);
26 virtual ~AliITSRawStream() {};
27
28 virtual Bool_t Next() = 0;
29
30 Int_t GetModuleID() const {return fModuleID;};
31 Int_t GetPrevModuleID() const {return fPrevModuleID;};
32 Bool_t IsNewModule() const {return fModuleID != fPrevModuleID;};
33 Int_t GetCoord1() const {return fCoord1;};
34 Int_t GetCoord2() const {return fCoord2;};
35 Int_t GetSignal() const {return fSignal;};
de075dae 36 virtual Bool_t IsCompletedModule() const {return fCompletedModule;};
37 virtual Bool_t IsCompletedDDL() const {return fCompletedDDL;};
2f8ed7ab 38 virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){
39 AliError("This method must be implemented in a derived class");
40 };
41 virtual void SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) {
42 AliError("This method must be implemented in a derived class");
43 };
a8cd2ab2 44 virtual void SetADCEncoded(Bool_t /*fl*/) {
45 AliError("This method must be implemented in a derived class");
46 };
47
48
6297cc01 49 virtual Int_t GetCarlosId() const {
50 AliError("This method must be implemented in a derived class");
51 return -1;
52 };
53 virtual Int_t GetChannel() const {
54 AliError("This method must be implemented in a derived class");
55 return -1;
56 };
e2662f55 57 virtual Int_t GetJitter() const {
de075dae 58 AliError("This method must be implemented in a derived class");
59 return -1;
e2662f55 60 };
2f8ed7ab 61
62
2906f4c2 63 protected :
64 AliRawReader* fRawReader; // object for reading the raw data
65
66 Int_t fModuleID; // index of current module
67 Int_t fPrevModuleID; // index of previous module
68 Int_t fCoord1; // current 1st coordinate
69 // SPD: column cell number (z)
70 // SDD: anode cell number (z)
71 // SSD: N/P, flag for side
72 Int_t fCoord2; // current 2nd coordinate
73 // SPD: row cell number (y)
74 // SDD: time bin number (y)
75 // SSD: strip number
76 Int_t fSignal; // signal in ADC counts
5dfa68c5 77 Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read
de075dae 78 Bool_t fCompletedDDL; // set to kTRUE when all data from a DDL (SDD) are read
2906f4c2 79
de075dae 80 ClassDef(AliITSRawStream, 2) // base class for reading ITS raw digits
2906f4c2 81};
82
83#endif