BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
old/ROBFragment.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file eformat/old/ROBFragment.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 ROB fragment entity as described in the Event Format
11 * note.
12 */
13
14#ifndef EFORMAT_OLD_ROBFRAGMENT_H
15#define EFORMAT_OLD_ROBFRAGMENT_H
16
17#include "eformat/old/Header.h"
19
20namespace eformat {
21
22 namespace old {
23
24 /**
25 * Describes how to access the contents of a subdetector fragment, as
26 * prescribed by the event format note.
27 */
29
30 public: //interface
31
32 /**
33 * To build a fragment given the containing buffer. I need to know
34 * where the fragment starts in order to do that.
35 *
36 * @param it The exact position where this fragment should start.
37 */
38 ROBFragment (const uint32_t* it);
39
40 /**
41 * Destructor virtualisation
42 */
43 virtual ~ROBFragment() {}
44
45 /**
46 * Says if the the fragment is valid. This may throw exceptions.
47 */
48 virtual bool check () const;
49
50 /**
51 * Says if the the fragment is valid. This may throw exceptions.
52 */
53 bool check_tree () const;
54
55 /**
56 * Returns the lvl1 identifier
57 */
58 inline uint32_t lvl1_id() const { return m_start[0]; }
59
60 /**
61 * Returns the bunch crossing identifier
62 */
63 inline uint32_t bc_id() const { return m_start[1]; }
64
65 /**
66 * Returns the lvl1 trigger type
67 */
68 inline uint32_t lvl1_trigger_type() const { return m_start[2]; }
69
70 /**
71 * Returns the detector event type
72 */
73 inline uint32_t detev_type() const { return m_start[3]; }
74
75 /**
76 * Returns the nth child fragment. If the nth fragment doesn't exist, an
77 * exception is thrown.
78 *
79 * @param n The fragment position, starting at zero, of the child
80 * fragment you would like to get.
81 */
82 eformat::old::RODFragment rod (size_t n) const;
83
84 private: //representation
85
86 const uint32_t* m_start; ///< my last word
87
88 };
89
90 }
91
92}
93
94#endif /* EFORMAT_OLD_ROBFRAGMENT_H */
Definition of the ROD header entity, following the description of the Event Format note,...
uint32_t lvl1_id() const
virtual bool check() const
eformat::old::RODFragment rod(size_t n) const
uint32_t detev_type() const
uint32_t lvl1_trigger_type() const
Defines the Header entity. The definition is based on the update of ATL-DAQ-98-129,...