New RAW I/O. I rolled my own, because I wasn't happy with the old
[u/mrichter/AliRoot.git] / FMD / AliFMDRawStream.h
index 1fd692f..4138747 100644 (file)
@@ -41,13 +41,22 @@ public:
   Short_t Count()       const { return fSignal; }
   Short_t SampleRate()  const { return fSampleRate; }
   
-  virtual Bool_t   Next();
-  
-private:
-  UShort_t fSampleRate;         // # of ALTRO samples per VA1_ALICE clock
-  Int_t    fPrevTime;           // Last time bin
-  Bool_t   fExplicitSampleRate; // True if the sample rate was set externally
+  virtual Bool_t Next();
+  virtual Bool_t ReadChannel(UInt_t& addr, UInt_t& len, UShort_t* data);
+  virtual Bool_t DumpData();
+protected:
+  virtual Int_t    ReadIntoBuffer();
+  virtual Int_t    ReadTrailer(UInt_t& head, UInt_t& len);
+  virtual Int_t    ReadFillWords(UInt_t len);
+  virtual Int_t    ReadBunch(UShort_t* data);
+  virtual UShort_t Get10BitWord();
   
+  UShort_t  fSampleRate;         // # of ALTRO samples per VA1_ALICE clock
+  Int_t     fPrevTime;           // Last time bin
+  Bool_t    fExplicitSampleRate; // True if the sample rate was set externally
+  Int_t     fPos;
+  Int_t     fCur;
+  UChar_t*  fRead;
   ClassDef(AliFMDRawStream, 0) // Read raw FMD Altro data 
 };