ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_RawEv
ALFA_RawEv
ALFA_RawDataContainer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ALFA_RAWDATACONTAINER_H
6
#define ALFA_RAWDATACONTAINER_H
7
8
#include <vector>
9
#include <string>
10
#include "
ALFA_RawEv/ALFA_RawDataCollection.h
"
11
#include "
AthenaKernel/CLASS_DEF.h
"
12
#include "
AthContainers/DataVector.h
"
13
//#include "EventContainers/IdentifiableContainer.h"
14
18
19
20
//class ALFA_RawDataContainer : public IdentifiableContainer<ALFA_RawDataCollection> {
21
class
ALFA_RawDataContainer
:
public
DataVector
<ALFA_RawDataCollection> {
22
23
private
:
24
25
// Raw data word and word header
26
27
uint32_t
m_wordMarker
;
28
29
// I added runNum, runType, DetEventType
30
// modification based on page19 MROD data format document and on ALFA dumped data file
31
//uint32_t m_dataWord;
32
33
// Data members
34
uint16_t
m_subdetId
;
// Sub-detector Id
35
uint16_t
m_mrodId
;
// MROD Id
36
uint32_t
m_lvl1Id
;
// Lvl1 Id
37
uint16_t
m_ecrId
;
// ECR Id
38
uint16_t
m_bcId
;
// Bunch crossing Id
39
uint32_t
m_runNum
;
// Run sequence number
40
uint16_t
m_runType
;
// Run Type
41
uint16_t
m_triggerTypeId
;
// Trigger type Id
42
uint32_t
m_DetEventType
;
// Detector Event Type
43
44
// Data words in the ROD header
45
46
// Full Event marker
47
static
const
uint32_t
s_FullEVmarker
= 0xaa1234aa;
48
// ROB marker
49
static
const
uint32_t
s_ROBmarker
= 0xdd1234dd;
50
// ROD marker
51
static
const
uint32_t
s_RODmarker
= 0xee1234ee;
52
53
static
const
uint32_t
s_RODheadersize
= 0x00000009;
54
static
const
uint32_t
s_RODversion
= 0x03010000;
55
56
//Time Stamp
57
uint32_t
m_TimeStamp
;
58
//Time Stamp ns
59
uint32_t
m_TimeStampns
;
60
//Bunch Crossing ID
61
uint32_t
m_BCId
;
62
//LumiBlock ID
63
uint32_t
m_LumiBlock
;
64
//Lvl1 trigger pattern (fired items in lvl1 trigger)
65
std::vector<bool>
m_lvl1Pattern
;
66
//Lvl2 trigger pattern (fired items in lvl2 trigger)
67
std::vector<bool>
m_lvl2Pattern
;
68
//EF pattern (fired items in EF)
69
std::vector<bool>
m_efPattern
;
70
71
public
:
72
73
ALFA_RawDataContainer
() ;
74
~ALFA_RawDataContainer
() ;
75
76
typedef
ALFA_RawDataCollection::size_type
size_type
;
77
78
size_type
digit_size
()
const
;
79
80
bool
is_FullEVmarker
()
const
{
return
m_wordMarker
==
s_FullEVmarker
;};
81
bool
is_ROBmarker
()
const
{
return
m_wordMarker
==
s_ROBmarker
;};
82
bool
is_RODmarker
()
const
{
return
m_wordMarker
==
s_RODmarker
;};
83
84
85
// Retrieve decoded results
86
uint16_t
subdetId
()
const
{
return
m_subdetId
;}
87
uint16_t
mrodId
()
const
{
return
m_mrodId
;}
88
uint32_t
runNum
()
const
{
return
m_runNum
;}
89
uint16_t
runType
()
const
{
return
m_runType
;}
90
uint32_t
lvl1Id
()
const
{
return
m_lvl1Id
;}
91
uint16_t
ecrId
()
const
{
return
m_ecrId
;}
92
uint16_t
bcId
()
const
{
return
m_bcId
;}
93
uint16_t
trigtypeId
()
const
{
return
m_triggerTypeId
;}
94
uint32_t
DetEventType
()
const
{
return
m_DetEventType
;}
95
96
97
void
SetLvl1Pattern
(
const
std::vector<bool>& tmplvl1_pattern);
98
void
SetLvl2Pattern
(
const
std::vector<bool>& tmplvl2_pattern);
99
void
SetEFPattern
(
const
std::vector<bool>& tmpef_pattern);
100
void
SetTimeStamp
(uint32_t tmpTimeStamp);
101
void
SetTimeStampns
(uint32_t tmpTimeStampns);
102
void
SetLumiBlock
(uint32_t tmpLumiBlock);
103
void
SetBCId
(uint32_t tmpBCId);
104
105
const
std::vector<bool>&
GetLvl1Pattern_POT
()
const
{
return
m_lvl1Pattern
;};
106
const
std::vector<bool>&
GetLvl2Pattern_POT
()
const
{
return
m_lvl2Pattern
;};
107
const
std::vector<bool>&
GetEFPattern_POT
()
const
{
return
m_efPattern
;};
108
uint32_t
GetTimeStamp
()
const
{
return
m_TimeStamp
;};
109
uint32_t
GetTimeStampns
()
const
{
return
m_TimeStampns
;};
110
uint32_t
GetLumiBlock
()
const
{
return
m_LumiBlock
;};
111
uint32_t
GetBCId
()
const
{
return
m_BCId
;};
112
113
private
:
114
115
// Private functions
116
void
setZero
();
117
118
};
119
120
CLASS_DEF
(
ALFA_RawDataContainer
, 1083669809 , 0 )
// da rimettere a posto prima di sottomettere in SVN
121
122
123
#endif
// ALFA_RAWDATACONTAINER_H
ALFA_RawDataCollection.h
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
ALFA_RawDataContainer
This container provides acces to the PMF RDOs.
Definition
ALFA_RawDataContainer.h:21
ALFA_RawDataContainer::m_LumiBlock
uint32_t m_LumiBlock
Definition
ALFA_RawDataContainer.h:63
ALFA_RawDataContainer::s_RODmarker
static const uint32_t s_RODmarker
Definition
ALFA_RawDataContainer.h:51
ALFA_RawDataContainer::is_RODmarker
bool is_RODmarker() const
Definition
ALFA_RawDataContainer.h:82
ALFA_RawDataContainer::SetTimeStampns
void SetTimeStampns(uint32_t tmpTimeStampns)
Definition
ALFA_RawDataContainer.cxx:83
ALFA_RawDataContainer::subdetId
uint16_t subdetId() const
Definition
ALFA_RawDataContainer.h:86
ALFA_RawDataContainer::GetTimeStamp
uint32_t GetTimeStamp() const
Definition
ALFA_RawDataContainer.h:108
ALFA_RawDataContainer::digit_size
size_type digit_size() const
Definition
ALFA_RawDataContainer.cxx:66
ALFA_RawDataContainer::SetTimeStamp
void SetTimeStamp(uint32_t tmpTimeStamp)
Definition
ALFA_RawDataContainer.cxx:78
ALFA_RawDataContainer::m_mrodId
uint16_t m_mrodId
Definition
ALFA_RawDataContainer.h:35
ALFA_RawDataContainer::setZero
void setZero()
Definition
ALFA_RawDataContainer.cxx:115
ALFA_RawDataContainer::GetBCId
uint32_t GetBCId() const
Definition
ALFA_RawDataContainer.h:111
ALFA_RawDataContainer::s_ROBmarker
static const uint32_t s_ROBmarker
Definition
ALFA_RawDataContainer.h:49
ALFA_RawDataContainer::GetEFPattern_POT
const std::vector< bool > & GetEFPattern_POT() const
Definition
ALFA_RawDataContainer.h:107
ALFA_RawDataContainer::SetLvl2Pattern
void SetLvl2Pattern(const std::vector< bool > &tmplvl2_pattern)
Definition
ALFA_RawDataContainer.cxx:103
ALFA_RawDataContainer::m_runType
uint16_t m_runType
Definition
ALFA_RawDataContainer.h:40
ALFA_RawDataContainer::lvl1Id
uint32_t lvl1Id() const
Definition
ALFA_RawDataContainer.h:90
ALFA_RawDataContainer::m_BCId
uint32_t m_BCId
Definition
ALFA_RawDataContainer.h:61
ALFA_RawDataContainer::m_TimeStampns
uint32_t m_TimeStampns
Definition
ALFA_RawDataContainer.h:59
ALFA_RawDataContainer::SetBCId
void SetBCId(uint32_t tmpBCId)
Definition
ALFA_RawDataContainer.cxx:93
ALFA_RawDataContainer::DetEventType
uint32_t DetEventType() const
Definition
ALFA_RawDataContainer.h:94
ALFA_RawDataContainer::m_triggerTypeId
uint16_t m_triggerTypeId
Definition
ALFA_RawDataContainer.h:41
ALFA_RawDataContainer::m_bcId
uint16_t m_bcId
Definition
ALFA_RawDataContainer.h:38
ALFA_RawDataContainer::m_DetEventType
uint32_t m_DetEventType
Definition
ALFA_RawDataContainer.h:42
ALFA_RawDataContainer::m_efPattern
std::vector< bool > m_efPattern
Definition
ALFA_RawDataContainer.h:69
ALFA_RawDataContainer::SetLvl1Pattern
void SetLvl1Pattern(const std::vector< bool > &tmplvl1_pattern)
Definition
ALFA_RawDataContainer.cxx:98
ALFA_RawDataContainer::SetLumiBlock
void SetLumiBlock(uint32_t tmpLumiBlock)
Definition
ALFA_RawDataContainer.cxx:88
ALFA_RawDataContainer::runType
uint16_t runType() const
Definition
ALFA_RawDataContainer.h:89
ALFA_RawDataContainer::m_lvl1Pattern
std::vector< bool > m_lvl1Pattern
Definition
ALFA_RawDataContainer.h:65
ALFA_RawDataContainer::bcId
uint16_t bcId() const
Definition
ALFA_RawDataContainer.h:92
ALFA_RawDataContainer::m_TimeStamp
uint32_t m_TimeStamp
Definition
ALFA_RawDataContainer.h:57
ALFA_RawDataContainer::m_ecrId
uint16_t m_ecrId
Definition
ALFA_RawDataContainer.h:37
ALFA_RawDataContainer::m_subdetId
uint16_t m_subdetId
Definition
ALFA_RawDataContainer.h:34
ALFA_RawDataContainer::trigtypeId
uint16_t trigtypeId() const
Definition
ALFA_RawDataContainer.h:93
ALFA_RawDataContainer::GetLvl1Pattern_POT
const std::vector< bool > & GetLvl1Pattern_POT() const
Definition
ALFA_RawDataContainer.h:105
ALFA_RawDataContainer::is_ROBmarker
bool is_ROBmarker() const
Definition
ALFA_RawDataContainer.h:81
ALFA_RawDataContainer::runNum
uint32_t runNum() const
Definition
ALFA_RawDataContainer.h:88
ALFA_RawDataContainer::GetTimeStampns
uint32_t GetTimeStampns() const
Definition
ALFA_RawDataContainer.h:109
ALFA_RawDataContainer::s_FullEVmarker
static const uint32_t s_FullEVmarker
Definition
ALFA_RawDataContainer.h:47
ALFA_RawDataContainer::s_RODheadersize
static const uint32_t s_RODheadersize
Definition
ALFA_RawDataContainer.h:53
ALFA_RawDataContainer::m_runNum
uint32_t m_runNum
Definition
ALFA_RawDataContainer.h:39
ALFA_RawDataContainer::s_RODversion
static const uint32_t s_RODversion
Definition
ALFA_RawDataContainer.h:54
ALFA_RawDataContainer::GetLvl2Pattern_POT
const std::vector< bool > & GetLvl2Pattern_POT() const
Definition
ALFA_RawDataContainer.h:106
ALFA_RawDataContainer::ALFA_RawDataContainer
ALFA_RawDataContainer()
Definition
ALFA_RawDataContainer.cxx:30
ALFA_RawDataContainer::m_lvl2Pattern
std::vector< bool > m_lvl2Pattern
Definition
ALFA_RawDataContainer.h:67
ALFA_RawDataContainer::ecrId
uint16_t ecrId() const
Definition
ALFA_RawDataContainer.h:91
ALFA_RawDataContainer::is_FullEVmarker
bool is_FullEVmarker() const
Definition
ALFA_RawDataContainer.h:80
ALFA_RawDataContainer::~ALFA_RawDataContainer
~ALFA_RawDataContainer()
Definition
ALFA_RawDataContainer.cxx:57
ALFA_RawDataContainer::size_type
ALFA_RawDataCollection::size_type size_type
Definition
ALFA_RawDataContainer.h:76
ALFA_RawDataContainer::m_wordMarker
uint32_t m_wordMarker
Definition
ALFA_RawDataContainer.h:27
ALFA_RawDataContainer::GetLumiBlock
uint32_t GetLumiBlock() const
Definition
ALFA_RawDataContainer.h:110
ALFA_RawDataContainer::m_lvl1Id
uint32_t m_lvl1Id
Definition
ALFA_RawDataContainer.h:36
ALFA_RawDataContainer::mrodId
uint16_t mrodId() const
Definition
ALFA_RawDataContainer.h:87
ALFA_RawDataContainer::SetEFPattern
void SetEFPattern(const std::vector< bool > &tmpef_pattern)
Definition
ALFA_RawDataContainer.cxx:108
DataVector< ALFA_RawData >::size_type
typename DataVectorBase< ALFA_RawData >::Base::size_type size_type
Definition
DataVector.h:814
DataVector< ALFA_RawDataCollection >::DataVector
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
Generated on
for ATLAS Offline Software by
1.17.0