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