*
* See cxx source for full Copyright notice
*/
+/** @file AliFMDAltroIO.h
+ @author Christian Holm Christensen <cholm@nbi.dk>
+ @date Sun Mar 26 18:27:31 2006
+ @brief ALTRO Input/output
+*/
#include <iosfwd>
#include <TObject.h>
//____________________________________________________________________
+/** @class AliFMDAltroIO AliFMDAltroIO.h <FMD/AliFMDAltroIO.h>
+ @brief Base class for ALTRO Input/Output classes.
+ @ingroup FMD_base
+ */
class AliFMDAltroIO : public TObject
{
- public:
+public:
/** Type of 40 bit words (signed) */
typedef long long W40_t;
/** Type of 10 bit words (signed) */
@param w 10 bit word
@return @a w at offset @a n in a 40 bit word on success, a
negative error code on failure. */
- virtual W40_t ConcatW40(size_t n, const W10_t& w) const;
+ virtual W40_t ConcatW40(UShort_t n, const W10_t& w) const;
/** Extract a 10 bit word from a 40 bit word
@param n The number 10bit word to extract (0-3)
@param w 40 bit word to extract from.
@return The 10 bit word at @a n of @a w on success, or a
negative error code otherwise. */
- virtual W10_t ExtractW10(size_t n, const W40_t w) const;
+ virtual W10_t ExtractW10(UShort_t n, const W40_t w) const;
ClassDef(AliFMDAltroIO,0);
};
//____________________________________________________________________
+/** @class AliFMDAltroReader AliFMDAltroIO.h <FMD/AliFMDAltroIO.h>
+ @brief Class to read ALTRO formated raw data from an AliRawReader
+ object.
+ @code
+ AliRawReader* reader = new AliRawReaderFile(0);
+ AliFMDRawReader* fmdReader = new AliFMDRawReader(reader);
+ TClonesArray* array = new TClonesArray("AliFMDDigit");
+ fmdReader->ReadAdcs(array);
+ @endcode
+*/
class AliFMDAltroReader : public AliFMDAltroIO
{
public:
/** Constructor
- @param filename File to read from
+ @param stream Stream to read from
@exception Int_t A negative error code in case of failure */
AliFMDAltroReader(std::istream& stream);
virtual ~AliFMDAltroReader() {}
std::istream& fInput;
/** Current position in file */
// std::istream::pos_type
- size_t fCurrent;
+ UShort_t fCurrent;
/** High water mark */
- size_t fBegin;
+ UShort_t fBegin;
/** Read a 40 bit word from the input.
@return negative error code on failure, current position otherwise. */
};
//____________________________________________________________________
+/** @class AliFMDAltroWriter AliFMDAltroIO.h <FMD/AliFMDAltroIO.h>
+ @brief Class to write ALTRO formated raw data from an array of
+ AliFMDDigit objects.
+ @code
+ AliFMDRawWriter* fmdWriter = new AliFMDRawWriter(0);
+ TClonesArray* array = fmd->DigitArray();
+ fmdWriter->WriteDigits(array);
+ @endcode
+ */
class AliFMDAltroWriter : public AliFMDAltroIO
{
public:
/** Constructor.
- @param filename File to read from
+ @param stream File to read from
@exception Int_t A negative error code in case of failure */
AliFMDAltroWriter(std::ostream& stream);
virtual ~AliFMDAltroWriter() {}
/** Last meaning-full data */
UShort_t fLast;
/** High-water mark (begining of file) */
- size_t fBegin;
+ UShort_t fBegin;
/** High-water mark (begining of file) */
- size_t fHeader;
+ UShort_t fHeader;
/** Total number of bytes written */
Long_t fTotal;
/** output stream */