ATLAS Offline Software
ALFA_Decoder_charge.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ALFA_DECODER_CHARGE_H
6 #define ALFA_DECODER_CHARGE_H
7 
8 #include <stdint.h>
9 #include <map>
10 #include <string>
11 #include "eformat/ROBFragment.h"
12 #include "eformat/FullEventFragment.h"
13 
15 
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ServiceHandle.h"
18 #include "GaudiKernel/IToolSvc.h"
19 #include "GaudiKernel/MsgStream.h"
20 
21 #include "ByteStreamData/RawEvent.h"
22 
26 
30 
33 
34 
35 class ISvcLocator;
36 class StatusCode;
37 
39 
40  public:
41 
42 
43  // Collection type
46 
47  // constructor
48  ALFA_Decoder_charge (const std::string& type, const std::string& name, const IInterface* parent);
49 
50  // AlgTool InterfaceID
51  static const InterfaceID& interfaceID();
52 
53  // destructor
54  virtual ~ALFA_Decoder_charge();
55 
56  virtual StatusCode initialize();
57  virtual StatusCode finalize();
58 
59  StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, ALFA_RawDataContainer_charge* rdoCont, std::vector<unsigned int>* vecHash = NULL);
60 
63 
64  inline const eformat::FullEventFragment<const uint32_t*> * eventFragment() const { return m_event; }
65  inline const eformat::ROBFragment<const uint32_t*> * robFragment() const { return m_robFrag; }
66 
67 
68 private:
69  const eformat::FullEventFragment<const uint32_t*> * m_event = nullptr;
71 
72  unsigned int m_fragment_number = 0U;
73 
76 
77  // Methods for the decoding
81 
82  };
83 
84 #endif
85 
ALFA_RawDataContainer_charge.h
ALFA_Decoder_charge::eventFragment
const eformat::FullEventFragment< const uint32_t * > * eventFragment() const
Definition: ALFA_Decoder_charge.h:64
ALFA_RawDataCollection_charge
RDOs : Chamber Service Module, collection of RawData.
Definition: ALFA_RawDataCollection_charge.h:19
ALFA_Decoder_charge::robFragment
const eformat::ROBFragment< const uint32_t * > * robFragment() const
Definition: ALFA_Decoder_charge.h:65
ALFA_Decoder_charge::m_fragment_number
unsigned int m_fragment_number
Definition: ALFA_Decoder_charge.h:72
ALFA_RawDataReadOut_charge
Definition: ALFA_RawDataReadOut_charge.h:28
ALFA_Decoder_charge::m_ALFA_RawDataCollection_charge
ALFA_RawDataCollection_charge m_ALFA_RawDataCollection_charge
Definition: ALFA_Decoder_charge.h:45
ALFA_RawDataReadOut_charge.h
ALFA_Decoder_charge::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for reading bytestream.
Definition: ALFA_Decoder_charge.h:75
IByteStreamEventAccess.h
ALFA_Decoder_charge
Definition: ALFA_Decoder_charge.h:38
ALFA_RawData_charge.h
ALFA_Decoder_charge::getCollection
ALFA_RawDataCollection_charge * getCollection(unsigned int MotherBoardId, ALFA_RawDataContainer_charge *cont)
Definition: ALFA_Decoder_charge.cxx:463
ALFA_Decoder_charge::interfaceID
static const InterfaceID & interfaceID()
Definition: ALFA_Decoder_charge.cxx:10
ALFA_Decoder_charge::initialize
virtual StatusCode initialize()
Definition: ALFA_Decoder_charge.cxx:41
ALFA_RawData_charge
Definition: ALFA_RawData_charge.h:21
eformat::ROBFragment
Definition: L1CaloBsDecoderUtil.h:12
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ALFA_Decoder_charge::~ALFA_Decoder_charge
virtual ~ALFA_Decoder_charge()
Definition: ALFA_Decoder_charge.cxx:33
ALFA_Decoder_charge::m_robFrag
const eformat::ROBFragment< const uint32_t * > * m_robFrag
Definition: ALFA_Decoder_charge.h:70
ALFA_Decoder_charge::m_event
const eformat::FullEventFragment< const uint32_t * > * m_event
Definition: ALFA_Decoder_charge.h:69
ALFA_Decoder_charge::getRawData_charge
ALFA_RawData_charge * getRawData_charge(unsigned int PMFId, ALFA_RawDataCollection_charge *coll)
ALFA_RawDataContainerReadOut.h
ALFA_RawDataCollectionReadOut
Definition: ALFA_RawDataCollectionReadOut.h:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ALFA_RawDataContainer_charge
This container provides acces to the PMF RDOs.
Definition: ALFA_RawDataContainer_charge.h:21
ALFA_Decoder_charge::m_ALFA_RawData_charge
ALFA_RawData_charge m_ALFA_RawData_charge
Definition: ALFA_Decoder_charge.h:44
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ALFA_Decoder_charge::fillCollection
StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, ALFA_RawDataContainer_charge *rdoCont, std::vector< unsigned int > *vecHash=NULL)
Definition: ALFA_Decoder_charge.cxx:97
AthAlgTool
Definition: AthAlgTool.h:26
ALFA_Decoder_charge::m_ALFA_RawDataContainerReadOut
ALFA_RawDataContainerReadOut * m_ALFA_RawDataContainerReadOut
Definition: ALFA_Decoder_charge.h:80
ALFA_Decoder_charge::m_ALFA_RawDataReadOut_charge
ALFA_RawDataReadOut_charge * m_ALFA_RawDataReadOut_charge
Definition: ALFA_Decoder_charge.h:78
ALFA_RawDataCollection_charge.h
ALFA_Decoder_charge::m_ALFA_RawDataCollectionReadOut
ALFA_RawDataCollectionReadOut * m_ALFA_RawDataCollectionReadOut
Definition: ALFA_Decoder_charge.h:79
ALFA_RawDataContainerReadOut
Definition: ALFA_RawDataContainerReadOut.h:33
IROBDataProviderSvc.h
ALFA_Decoder_charge::ALFA_Decoder_charge
ALFA_Decoder_charge(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ALFA_Decoder_charge.cxx:19
ServiceHandle< IROBDataProviderSvc >
ALFA_RawDataCollectionReadOut.h
ALFA_Decoder_charge::finalize
virtual StatusCode finalize()
Definition: ALFA_Decoder_charge.cxx:78