SND@LHC Software
Loading...
Searching...
No Matches
SNDLHCEventHeader.h
Go to the documentation of this file.
1#ifndef SNDLHCEVENTHEADER_H
2#define SNDLHCEVENTHEADER_H 2
3
4#include <TNamed.h>
6
7#include <ctime>
8#include <map>
9#include <string>
10#include <vector>
14class SNDLHCEventHeader : public TNamed
15{
16
17 public:
18
21
23 SNDLHCEventHeader(Int_t runN, uint64_t evtNumber, int64_t timestamp, uint64_t flags, int16_t bunchType);
24
26 virtual ~SNDLHCEventHeader();
27
29 void SetRunId(uint64_t runid) { fRunId = runid; }
30 void SetEventTime(int64_t time) { fEventTime = time; }
31 void SetInputFileId(int id) { fInputFileId = id; }
32 void SetEventNumber(int id) { fEventNumber = id; }
33 void SetUTCtimestamp(int64_t UTCtstamp) { fUTCtimestamp = UTCtstamp; };
34 void SetFlags(uint64_t flags);
35 void SetBunchType(int16_t bunchType) { fBunchType = bunchType; };
36
38 uint64_t GetRunId() { return fRunId; }
39 int64_t GetEventTime() { return fEventTime; }
40 int GetInputFileId() { return fInputFileId; }
41 int GetEventNumber() { return fEventNumber; }
42 std::string GetTimeAsString(); // GMT time
43 int64_t GetUTCtimestamp() const { return fUTCtimestamp; }
44 uint16_t GetFillNumber() const { return fFillNumber; }
45 int GetAccMode() const { return fAccMode; }
46 int GetBeamMode() const { return fBeamMode; }
47 uint64_t GetFlags() { return fFlags; }
48 std::map<std::string, bool> GetFastNoiseFilters();
49 std::map<std::string, bool> GetAdvNoiseFilters();
50 std::vector<std::string> GetPassedFastNFCriteria();
51 std::vector<std::string> GetPassedAdvNFCriteria();
52 int16_t GetBunchType() { return fBunchType; }
54 bool isB1();
55 bool isB2();
56 bool isIP1();
57 bool isIP2();
58 bool isB1Only();
59 bool isB2noB1();
60 bool isNoBeam();
61 bool isNoFSData();
63 virtual void Print(const Option_t* opt) const;
64
65 protected:
66 uint64_t fRunId;
67 int64_t fEventTime;
71 uint64_t fFlags;
72 uint16_t fFillNumber;
73 int fAccMode; // enum class
74 int fBeamMode; // enum class
75 /* fBunchType = IP2*1000+IP1*100+B2*10+B1 */
76 int16_t fBunchType;
77
81
82 ClassDef(SNDLHCEventHeader,2)
83
84};
85
86#endif /* SNDLHCEVENTHEADER_H */
SNDLHCEventHeader(const SNDLHCEventHeader &eventHeader)
uint16_t GetFillNumber() const
virtual void Print(const Option_t *opt) const
void SetBunchType(int16_t bunchType)
std::map< std::string, bool > GetFastNoiseFilters()
void SetEventTime(int64_t time)
void SetRunId(uint64_t runid)
void SetFlags(uint64_t flags)
std::map< std::string, bool > GetAdvNoiseFilters()
std::vector< std::string > GetPassedFastNFCriteria()
void SetUTCtimestamp(int64_t UTCtstamp)
std::string GetTimeAsString()
SNDLHCEventHeader operator=(const SNDLHCEventHeader &eventHeader)
std::vector< std::string > GetPassedAdvNFCriteria()
void SetEventNumber(int id)
void SetInputFileId(int id)
int64_t GetUTCtimestamp() const