Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

TArtRIDF.h

Go to the documentation of this file.
00001 /* $Id:$ */
00011 #ifndef TARTRIDF_H
00012 #define TARTRIDF_H
00013 #include "TArtDataFormat.h"
00014 #include <stdio.h>
00018 typedef union {
00019    unsigned long long int BYTE;
00020    struct {
00021       unsigned long long int fSize:22;
00022       unsigned long long int fClassID:6;
00023       unsigned long long int fLayer:2;
00024       unsigned long long int fReserved:2;
00025       unsigned long long int fAddress:32;
00026       void Print() {
00027          printf("Ly   = %d\n",fLayer);
00028          printf("Cl   = %d\n",fClassID);
00029          printf("Size = %d\n",fSize);
00030          printf("Addr = %d\n",fAddress);
00031       }
00032    } BIT;
00033 } ArtRidfHeader_t;
00037 class TArtRIDF  : public TArtDataFormat {
00038 public:
00039    virtual ~TArtRIDF();
00040    static TArtDataFormat* Instance();
00041    virtual ArtBlockStat_t GetNextBlock(TArtDataSource* source);
00042    virtual ArtEventStat_t GetNextEvent(unsigned short* buf,
00043                                        unsigned short* runbuf, 
00044                                        unsigned short*rnum,
00045                                        int &nw);
00046    virtual void FindSegment(unsigned short *evtdata,
00047                             int *evtsize,
00048                             int *addr,
00049                             int *nw,
00050                             int *maxsegid);
00051 protected:
00052    TArtRIDF();
00053 private:
00054    static TArtDataFormat* fgInstance;
00055 };
00056 #endif // end of #ifdef TARTRIDF_H

Generated on Mon Sep 8 08:58:21 2008 by  doxygen 1.3.9.1