1 #ifndef ALIFMDRAWSTREAM_H
2 #define ALIFMDRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
6 * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
8 * See cxx source for full Copyright notice
10 #ifndef ALIALTRORAWSTREAM_H
11 # include <AliAltroRawStream.h>
15 // TPC to FMD translations
18 // ----------+-----------
23 class AliFMDRawStream : public AliAltroRawStream
26 AliFMDRawStream(AliRawReader* reader, UShort_t sampleRate=0);
27 virtual ~AliFMDRawStream() {}
29 Short_t Sector() const { return fRow; }
30 Char_t Ring() const { return (fSector == 0 ? 'I' : 'O'); }
31 Short_t Strip() const { return fPad + fTime / fSampleRate; }
32 Short_t Sample() const { return fTime % fSampleRate; }
33 Short_t PrevSector() const { return fPrevRow; }
34 Char_t PrevRing() const { return (fPrevSector == 0 ? 'I' : 'O'); }
35 Short_t PrevStrip() const { return fPrevPad + fPrevTime/fSampleRate; }
37 Bool_t IsNewRing() const { return (fSector != fPrevSector); }
38 Bool_t IsNewSector() const { return (fRow != fPrevRow) || IsNewRing(); }
39 Bool_t IsNewStrip() const { return(Strip() != PrevStrip())||IsNewSector();}
41 Short_t Count() const { return fSignal; }
42 Short_t SampleRate() const { return fSampleRate; }
44 virtual Bool_t Next();
47 UShort_t fSampleRate; // # of ALTRO samples per VA1_ALICE clock
48 Int_t fPrevTime; // Last time bin
49 Bool_t fExplicitSampleRate; // True if the sample rate was set externally
51 ClassDef(AliFMDRawStream, 0) // Read raw FMD Altro data
55 //____________________________________________________________________