ATLAS Offline Software
MuonSpectrometer
MuonCnv
MuonNSWCommonDecode
MuonNSWCommonDecode
NSWTriggerCommonDecoder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONNSWCMOMONDECODE_NSWTRIGGERCOMMONDECODER_H
5
#define MUONNSWCMOMONDECODE_NSWTRIGGERCOMMONDECODER_H
6
7
#include <stdint.h>
8
#include <vector>
9
#include <string>
10
#include <memory>
11
12
#include "eformat/eformat.h"
13
14
namespace
Muon
15
{
16
namespace
nsw
17
{
18
class
NSWTriggerElink;
19
20
class
NSWTriggerCommonDecoder
21
{
22
public
:
23
explicit
NSWTriggerCommonDecoder
(
const
eformat::read::ROBFragment
&rob,
const
std::string&
triggerType
);
24
//will use trigger type for stgc/mm/pad specialization?
25
virtual
~NSWTriggerCommonDecoder
() =
default
;
26
27
//it's up to the user dynamic casting to needed elink type
28
//or we can make this a template but then loosing the ability to change trigger type at run time
29
const
std::vector<std::shared_ptr<Muon::nsw::NSWTriggerElink>>&
get_elinks
()
const
{
return
m_elinks
;};
30
31
//keep in mind that the decoder is stopping at first exception:
32
//no data recovery implemented on purpose, since there are infinite ways to have broken TP packets
33
bool
has_error
()
const
{
return
m_has_error
;};
34
int
error_id
()
const
{
return
m_error_id
;};
35
36
private
:
37
bool
m_has_error
{};
38
int
m_error_id
{};
39
std::string
m_triggerType
;
40
std::vector<std::shared_ptr<Muon::nsw::NSWTriggerElink>>
m_elinks
;
41
};
42
43
}
44
}
45
46
#endif // not MUONNSWCMOMONDECODE_NSWTRIGGERCOMMONDECODER_H
Muon::nsw::NSWTriggerCommonDecoder::m_triggerType
std::string m_triggerType
Definition:
NSWTriggerCommonDecoder.h:39
Muon::nsw::NSWTriggerCommonDecoder::m_error_id
int m_error_id
Definition:
NSWTriggerCommonDecoder.h:38
Muon::nsw::NSWTriggerCommonDecoder::~NSWTriggerCommonDecoder
virtual ~NSWTriggerCommonDecoder()=default
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition:
TrackSystemController.h:45
Muon::nsw::NSWTriggerCommonDecoder::error_id
int error_id() const
Definition:
NSWTriggerCommonDecoder.h:34
Muon::nsw::NSWTriggerCommonDecoder::get_elinks
const std::vector< std::shared_ptr< Muon::nsw::NSWTriggerElink > > & get_elinks() const
Definition:
NSWTriggerCommonDecoder.h:29
Muon::nsw::NSWTriggerCommonDecoder::NSWTriggerCommonDecoder
NSWTriggerCommonDecoder(const eformat::read::ROBFragment &rob, const std::string &triggerType)
Definition:
NSWTriggerCommonDecoder.cxx:16
Muon::nsw::NSWTriggerCommonDecoder::m_elinks
std::vector< std::shared_ptr< Muon::nsw::NSWTriggerElink > > m_elinks
Definition:
NSWTriggerCommonDecoder.h:40
Muon::nsw::NSWTriggerCommonDecoder::m_has_error
bool m_has_error
Definition:
NSWTriggerCommonDecoder.h:37
Muon::nsw::NSWTriggerCommonDecoder::has_error
bool has_error() const
Definition:
NSWTriggerCommonDecoder.h:33
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
eformat::ROBFragment< PointerType > ROBFragment
Definition:
RawEvent.h:27
RunTileMonitoring.triggerType
triggerType
Definition:
RunTileMonitoring.py:162
Muon::nsw::NSWTriggerCommonDecoder
Definition:
NSWTriggerCommonDecoder.h:21
Generated on Tue Dec 24 2024 21:15:52 for ATLAS Offline Software by
1.8.18