BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
old/FullEventFragment.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file eformat/old/FullEventFragment.h
5 * @author <a href="mailto:[email protected]">Andre DOS ANJOS</a>
6 * $Author: zhangy $
7 * $Revision: 1.1.1.1 $
8 * $Date: 2009/06/19 07:35:41 $
9 *
10 * @brief Defines the Event Fragment entity. The definition is based on the
11 * update of ATL-DAQ-98-129, version 2.4, by D.Francis et al.
12 */
13
14#ifndef EFORMAT_OLD_FULLEVENTFRAGMENT_H
15#define EFORMAT_OLD_FULLEVENTFRAGMENT_H
16
17#include "eformat/old/Header.h"
18
19namespace eformat {
20
21 namespace old {
22
23 /**
24 * Describes how to access the contents of an event fragment, as prescribed
25 * by the event format note.
26 */
28
29 public: //interface
30
31 /**
32 * To build a fragment given the containing buffer. I need to know
33 * where the fragment starts in order to do that.
34 *
35 * @param it The exact position where this fragment should start.
36 */
37 FullEventFragment (const uint32_t* it);
38
39 /**
40 * Destructor virtualisation
41 */
42 virtual ~FullEventFragment() {}
43
44 /**
45 * Says if the the fragment is valid. This may throw exceptions.
46 */
47 virtual bool check () const;
48
49 /**
50 * Says if the Fragment and all children are valid.
51 */
52 bool check_tree () const;
53
54 /**
55 * Returns the date, in seconds elapsed since the 1st. January,
56 * 1970. The timezone is fixed to UTC.
57 */
58 inline uint32_t date() const { return m_start[0]; }
59
60 /**
61 * Returns the global identifier
62 */
63 inline uint32_t global_id() const { return m_start[1]; }
64
65 /**
66 * Returns the lvl1 identifier
67 */
68 inline uint32_t lvl1_id() const { return m_start[2]; }
69
70 /**
71 * Retursn the lvl1 trigger type
72 */
73 inline uint32_t lvl1_trigger_type() const { return m_start[3]; }
74
75 /**
76 * Returns the lvl2 trigger info
77 */
78 inline uint32_t lvl2_trigger_info() const { return m_start[4]; }
79
80 /**
81 * Returns the number of Event Filter words (constant = 5)
82 */
83 inline uint32_t nevent_filter_info () const { return 5; }
84
85 /**
86 * Returns an iterator to the first of the (5) EF words
87 */
88 inline const uint32_t* event_filter_info(void) const
89 { return &m_start[5]; }
90
91 private: //representation
92
93 const uint32_t* m_start; ///< my start word
94
95 };
96
97 }
98
99}
100
101#endif /* EFORMAT_OLD_FULLEVENTFRAGMENT_H */
const uint32_t * event_filter_info(void) const
Defines the Header entity. The definition is based on the update of ATL-DAQ-98-129,...