BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
old/ROSFragment.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file eformat/old/ROSFragment.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 Describes the ROS fragment as defined in the Event Format note,
11 * version 2.4
12 */
13
14#ifndef EFORMAT_OLD_ROSFRAGMENT_H
15#define EFORMAT_OLD_ROSFRAGMENT_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 a subdetector fragment, as
25 * prescribed 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 ROSFragment (const uint32_t* it);
38
39 /**
40 * Destructor virtualisation
41 */
42 virtual ~ROSFragment() {}
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 the fragment is valid. This may throw exceptions.
51 */
52 bool check_tree () const;
53
54 /**
55 * Returns the lvl1 identifier
56 */
57 inline uint32_t lvl1_id() const { return m_start[0]; }
58
59 /**
60 * Returns the bunch crossing identifier
61 */
62 inline uint32_t bc_id() const { return m_start[1]; }
63
64 private: //representation
65
66 const uint32_t* m_start; ///< my start word
67
68 };
69
70 }
71
72}
73
74#endif /* EFORMAT_OLD_ROSFRAGMENT_H */
virtual bool check() const
ROSFragment(const uint32_t *it)
Defines the Header entity. The definition is based on the update of ATL-DAQ-98-129,...