GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TLstFile.h
Go to the documentation of this file.
1#ifndef TLSTFILE_H
2#define TLSTFILE_H
3
4/** \addtogroup Sorting
5 * @{
6 */
7
8/////////////////////////////////////////////////////////////////
9///
10/// \class TLstFile
11///
12/// This Class is used to read and write LST files in the
13/// root framework.
14///
15/////////////////////////////////////////////////////////////////
16
17#include <string>
18
19#ifdef __APPLE__
20#include <_types/_uint32_t.h>
21#else
22#include <cstdint>
23#endif
24
25#include "TRawFile.h"
26
27#include "TLstEvent.h"
28
29/// Reader for ILL .lst files
30
31class TLstFile : public TRawFile {
32public:
33 TLstFile(); ///< default constructor
34 TLstFile(const char* filename, TRawFile::EOpenType open_type = TRawFile::EOpenType::kRead);
35 ~TLstFile() override; ///< destructor
36
37 bool Open(const char* filename) override; ///< Open input file
38
39 void Close() override; ///< Close input file
40
41 using TObject::Read;
42 using TObject::Write;
43#ifndef __CINT__
44 int Read(std::shared_ptr<TRawEvent> lstEvent) override; ///< Read one event from the file
45#endif
46 void Skip(size_t nofEvents) override; ///< Skip nofEvents from the file
47 std::string Status(bool long_file_description = true) override;
48
49 int GetRunNumber() override;
50 int GetSubRunNumber() override;
51
52 int32_t Version() { return fVersion; }
53 int32_t TimeBase() { return fTimeBase; }
54 int32_t NbEvents() { return fNbEvents; }
55 int32_t NbBoards() { return fNbBoards; }
56 int32_t* BoardHeaders() { return fBoardHeaders; }
57#ifndef __CINT__
58 std::shared_ptr<TRawEvent> NewEvent() override { return std::make_shared<TLstEvent>(); }
59#endif
60private:
61 void ParseHeaders();
62
63 int32_t fVersion;
64 int32_t fTimeBase;
65 int32_t fNbEvents;
66 int32_t fNbBoards;
67 int32_t* fBoardHeaders;
68 std::ifstream fInputStream;
69
70protected:
71 /// \cond CLASSIMP
72 ClassDefOverride(TLstFile, 0) // Used to open and write LST Files
73 /// \endcond
74};
75/*! @} */
76#endif // TLstFile.h
Reader for ILL .lst files.
Definition TLstFile.h:31
std::string Status(bool long_file_description=true) override
Definition TLstFile.cxx:56
TLstFile()
default constructor
Definition TLstFile.cxx:32
void Skip(size_t nofEvents) override
Skip nofEvents from the file.
Definition TLstFile.cxx:234
int32_t TimeBase()
Definition TLstFile.h:53
int32_t fVersion
Definition TLstFile.h:63
int32_t fNbEvents
Definition TLstFile.h:65
int32_t * BoardHeaders()
Definition TLstFile.h:56
int GetRunNumber() override
Definition TLstFile.cxx:240
int32_t NbEvents()
Definition TLstFile.h:54
int32_t fNbBoards
Definition TLstFile.h:66
std::shared_ptr< TRawEvent > NewEvent() override
Definition TLstFile.h:58
int32_t NbBoards()
Definition TLstFile.h:55
int32_t Version()
Definition TLstFile.h:52
std::ifstream fInputStream
Definition TLstFile.h:68
void Close() override
Close input file.
Definition TLstFile.cxx:190
void ParseHeaders()
Definition TLstFile.cxx:139
bool Open(const char *filename) override
Open input file.
Definition TLstFile.cxx:83
~TLstFile() override
destructor
Definition TLstFile.cxx:48
int GetSubRunNumber() override
Definition TLstFile.cxx:268
int32_t fTimeBase
Definition TLstFile.h:64
int32_t * fBoardHeaders
Definition TLstFile.h:67
int Read(std::shared_ptr< TRawEvent > lstEvent) override
Read one event from the file.
Definition TLstFile.cxx:198
Reader for raw files.
Definition TRawFile.h:31