ROOT logo
#ifndef HLDSOURCE_H
#define HLDSOURCE_H

#include "hdatasource.h"
#include "TList.h"

class HldUnpack;
class HldEvt;
class HEventHeader;
class HTrbNetUnpacker;

class HldSource : public HDataSource {
protected:
    friend class HldFileOutput;
    HTrbNetUnpacker *hubUnpacker;
public:
    HldSource(void);
    virtual ~HldSource(void);
    virtual EDsState getNextEvent(Bool_t doUnpack=kTRUE)=0;
    Bool_t   initUnpacker(void);
    Bool_t   reinit(void);
    Bool_t   finalizeUnpacker(void);
    Bool_t   rewind(void) {return kTRUE;}
    void     addUnpacker(HldUnpack *unpacker);
    Bool_t   finalize(void);
    EDsState showIt(HldEvt *evt);
    EDsState dumpEvt(void);
    EDsState scanIt(HldEvt *evt);
    EDsState scanEvt(void);
    Bool_t   getDecodingStyle() {return oldDecodingStyle;}
    void     setOldDecodingStyle(Bool_t decodingStyle=kTRUE)  {oldDecodingStyle= decodingStyle;}
    void     setScanned(Bool_t scanned=kTRUE) {isScanned=scanned;}
    HTrbNetUnpacker *getTrbNetUnpacker(void){return hubUnpacker;};
    static HldEvt*  getEvent(void)  {return fReadEvent;}
protected:
    Bool_t isDumped,isScanned;
    Bool_t oldDecodingStyle;
    void decodeHeader(HEventHeader *dest);
    TList* fUnpackerList; //! List of the unpackers used to extract data
    static HldEvt* fReadEvent;   //! Buffer where the data is first read.

public:
    inline void setDump(){isDumped=kTRUE;}
public:
    ClassDef(HldSource,0) //Data source to read LMD data
};
#endif /* !HLDSOURCE_H */

 hldsource.h:1
 hldsource.h:2
 hldsource.h:3
 hldsource.h:4
 hldsource.h:5
 hldsource.h:6
 hldsource.h:7
 hldsource.h:8
 hldsource.h:9
 hldsource.h:10
 hldsource.h:11
 hldsource.h:12
 hldsource.h:13
 hldsource.h:14
 hldsource.h:15
 hldsource.h:16
 hldsource.h:17
 hldsource.h:18
 hldsource.h:19
 hldsource.h:20
 hldsource.h:21
 hldsource.h:22
 hldsource.h:23
 hldsource.h:24
 hldsource.h:25
 hldsource.h:26
 hldsource.h:27
 hldsource.h:28
 hldsource.h:29
 hldsource.h:30
 hldsource.h:31
 hldsource.h:32
 hldsource.h:33
 hldsource.h:34
 hldsource.h:35
 hldsource.h:36
 hldsource.h:37
 hldsource.h:38
 hldsource.h:39
 hldsource.h:40
 hldsource.h:41
 hldsource.h:42
 hldsource.h:43
 hldsource.h:44
 hldsource.h:45
 hldsource.h:46
 hldsource.h:47
 hldsource.h:48