stream  0.10.0
stream analysis framework
TUserSource.h
1 #ifndef TUSERSOURCE_H
2 #define TUSERSOURCE_H
3 
4 #include "TGo4EventSource.h"
5 
6 #include "hadaq/HldFile.h"
7 
8 #include <cstdio>
9 
10 class TGo4UserSourceParameter;
11 class TGo4MbsEvent;
12 class TList;
13 
16 class TUserSource : public TGo4EventSource {
17 
18  protected:
20  TString fxArgs;
21 
23  Int_t fiPort;
24 
26  TList* fNames;
27 
29  Bool_t fIsHLD;
30 
33 
35  Char_t* fxBuffer;
36 
38  FILE* fxDatFile;
39 
42 
43 
44  Bool_t OpenNextFile();
45 
47  Int_t Open();
48 
49  public:
50 
51  TUserSource();
52 
54  TUserSource(const char* name, const char* args, Int_t port);
55 
57  TUserSource(TGo4UserSourceParameter* par);
58 
59  virtual ~TUserSource();
60 
62  virtual Bool_t CheckEventClass(TClass* cl);
63 
70  virtual Bool_t BuildEvent(TGo4EventElement* dest);
71 
72  virtual Bool_t BuildDatEvent(TGo4MbsEvent* dest);
73 
75  const char* GetArgs() const { return fxArgs.Data(); }
77  void SetArgs(const char* arg) { fxArgs=arg; }
78 
80  Int_t GetPort() const { return fiPort; }
82  void SetPort(Int_t val) { fiPort=val; }
83 
84  ClassDef(TUserSource, 1)
85 };
86 
87 #endif
Custom user source to read files formats supported by stream framework.
Definition: TUserSource.h:16
void SetPort(Int_t val)
set port
Definition: TUserSource.h:82
Bool_t OpenNextFile()
open next file
Definition: TUserSource.cxx:244
TList * fNames
list of all files names
Definition: TUserSource.h:26
virtual Bool_t CheckEventClass(TClass *cl)
This method checks if event class is suited for the source.
Definition: TUserSource.cxx:112
TString fxArgs
Optional argument string.
Definition: TUserSource.h:20
Char_t * fxBuffer
working buffer
Definition: TUserSource.h:35
virtual Bool_t BuildDatEvent(TGo4MbsEvent *dest)
build dat event
Definition: TUserSource.cxx:120
Int_t fEventCounter
event counter
Definition: TUserSource.h:41
Int_t Open()
Open the file or connection.
Definition: TUserSource.cxx:215
const char * GetArgs() const
get args
Definition: TUserSource.h:75
void SetArgs(const char *arg)
set args
Definition: TUserSource.h:77
Bool_t fIsHLD
indicates if HLD file will be read
Definition: TUserSource.h:29
hadaq::HldFile fxFile
current HLD file
Definition: TUserSource.h:32
Int_t GetPort() const
get port
Definition: TUserSource.h:80
FILE * fxDatFile
current DAT file
Definition: TUserSource.h:38
virtual Bool_t BuildEvent(TGo4EventElement *dest)
This methods actually fills the target event class which is passed as pointer.
Definition: TUserSource.cxx:172
Int_t fiPort
Optional port number
Definition: TUserSource.h:23
virtual ~TUserSource()
destructor
Definition: TUserSource.cxx:87
TUserSource()
constructor
Definition: TUserSource.cxx:30
Reading of HLD files.
Definition: HldFile.h:29