+ /**
+ * Init the reader with a data block.
+ * The function fetches the first and last row for the readout partition
+ * from @ref AliHLTTPCTransform. The method is pure virtual and must be implemented
+ * by the child class.
+ * @param ptr pointer to data buffer
+ * @param size size of the data buffer
+ * @param patch patch (readout partition) number within the slice
+ * @param slice sector no (0 to 35)
+ */
+ virtual int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice)=0;
+
+ /**
+ * Old Init function.
+ * <b>Note:</b> This method is for backward compatibility only, not for further
+ * use. The <i>firstrow</i> and <i>lastrow</i> parameters are fetched from
+ * @ref AliHLTTPCTransform.
+ *
+ * @param ptr pointer to data buffer
+ * @param size size of the data buffer
+ * @param firstrow first row occuring in the data
+ * @param lastrow last row occuring in the data
+ * @param patch patch (readout partition) number within the slice
+ * @param slice sector no (0 to 35)
+ */
+ virtual int InitBlock(void* ptr,unsigned long size,Int_t firstrow,Int_t lastrow, Int_t patch, Int_t slice);
+
+ /**
+ * Reset digit reader and release internal structures.
+ */
+ virtual int Reset() {return 0;}
+
+ enum {
+ kNextSignal = 1,
+ kNextChannel,
+ kNextBunch,
+ kLastValidModifier
+ };
+
+ /**
+ * Set the reader position to the next value.
+ * If the reader was not yet initialized, initialization is carried out and
+ * the position set to the beginning of the stream (which is in essence the
+ * end of the data block due to the back-linked list).
+ *
+ * The modifiers determine the unit of the positioning:
+ * - @ref kNextSignal set to the next signal value
+ * - @ref kNextChannel set at the beginning of the next channel
+ * - @ref kNextBunch set at the beginning of the next bunch within the
+ * current channel.
+ *
+ * If the reader is locked for a pad/channel, Next operates only on the data
+ * belonging to the current channel and returns false at the end of the
+ * channel.
+ *
+ * The function does some basic stuff and forwards to @ref NextSignal, @ref
+ * NextBunch or @ref NextChannel depending on the modifer. This function is
+ * also necessary if the common sorting is going to be used (not yet implemented)
+ * @return true if data is available, false if not
+ */
+ bool Next(int type=kNextSignal);
+
+ /**
+ * Set stream position to the next Pad (ALTRO channel).
+ * This is the direct entry to data access on a channel/bunch basis suited
+ * for fast data access.
+ * @return true if data is available, false if not
+ */
+ virtual bool NextChannel();
+
+ /**
+ * Set stream to the next ALTRO bunch within the current pad.
+ * This is the direct entry to data access on a channel/bunch basis suited
+ * for fast data access.
+ * @return bunch length, 0 if no data bunch available in the current pad
+ */
+ virtual int NextBunch();
+
+ /**
+ * Get current hardware address.
+ */
+ virtual AliHLTUInt32_t GetAltroBlockHWaddr() const;
+
+ /**
+ * Get current hardware address from row and pad number.
+ */
+ virtual AliHLTUInt32_t GetAltroBlockHWaddr(Int_t row, Int_t pad) const;
+
+ /**
+ * Get the row number of the current value.
+ */