ATLAS Offline Software
BCM_RodDecoder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // BCM_RodDecoder.h
7 // Header file for class BCM_RodDecoder
9 // Version 00-00-01 12/05/2008 Daniel Dobos
10 // Version 00-00-11 05/02/2009 Daniel Dobos
12 
13 #ifndef BCM_RAWDATABYTESTREAMCNV_BCM_RODDECODER_H
14 #define BCM_RAWDATABYTESTREAMCNV_BCM_RODDECODER_H
15 
17 
21 
22 #include "ByteStreamData/RawEvent.h"
23 #include "eformat/SourceIdentifier.h"
24 #include <atomic>
25 
26 class BCM_RodDecoder : public AthAlgTool
27 {
28 
29 public:
30 
31  // Collection type
32  typedef BCM_RawData RDO;
34 
35  // delegate constructor
37 
38  static const InterfaceID& interfaceID();
39 
40  // destructor
41  virtual ~BCM_RodDecoder();
42 
43  virtual StatusCode initialize() override;
44  virtual StatusCode finalize() override;
45 
46  StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, BCM_RDO_Container* rdoCont, std::vector<unsigned int>* vecHash = NULL) const;
47 
48  unsigned int getChannelID(int ROD_source_ID, unsigned int dataword_position) const;
49  BCM_RDO_Collection* getCollection(unsigned int chan, BCM_RDO_Container* cont) const;
50 
51 private:
52  mutable std::atomic<unsigned int> m_fragment_number{};
53  mutable std::atomic<unsigned int> m_LVL1A_number{};
54  mutable std::atomic<unsigned int> m_hit_number{};
55 
56 };
57 
58 #endif //BCM_RAWDATABYTESTREAMCNV_BCM_RODDECODER_H
BCM_RodDecoder::m_LVL1A_number
std::atomic< unsigned int > m_LVL1A_number
Definition: BCM_RodDecoder.h:53
BCM_RodDecoder::getChannelID
unsigned int getChannelID(int ROD_source_ID, unsigned int dataword_position) const
Definition: BCM_RodDecoder.cxx:258
BCM_RodDecoder::~BCM_RodDecoder
virtual ~BCM_RodDecoder()
Definition: BCM_RodDecoder.cxx:28
BCM_RodDecoder::RDO
BCM_RawData RDO
Definition: BCM_RodDecoder.h:32
BCM_RodDecoder::BCM_RawCollection
BCM_RDO_Collection BCM_RawCollection
Definition: BCM_RodDecoder.h:33
BCM_RodDecoder
Definition: BCM_RodDecoder.h:27
eformat::ROBFragment
Definition: L1CaloBsDecoderUtil.h:12
BCM_RDO_Container
Definition: BCM_RDO_Container.h:27
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
BCM_RawData
Definition: BCM_RawData.h:36
AthAlgTool.h
BCM_RawData.h
BCM_RDO_Collection.h
BCM_RodDecoder::finalize
virtual StatusCode finalize() override
Definition: BCM_RodDecoder.cxx:53
BCM_RodDecoder::m_fragment_number
std::atomic< unsigned int > m_fragment_number
Definition: BCM_RodDecoder.h:52
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
BCM_RodDecoder::getCollection
BCM_RDO_Collection * getCollection(unsigned int chan, BCM_RDO_Container *cont) const
Definition: BCM_RodDecoder.cxx:358
BCM_RDO_Container.h
BCM_RodDecoder::fillCollection
StatusCode fillCollection(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, BCM_RDO_Container *rdoCont, std::vector< unsigned int > *vecHash=NULL) const
Definition: BCM_RodDecoder.cxx:69
BCM_RodDecoder::initialize
virtual StatusCode initialize() override
Definition: BCM_RodDecoder.cxx:35
BCM_RodDecoder::interfaceID
static const InterfaceID & interfaceID()
Definition: BCM_RodDecoder.cxx:20
BCM_RodDecoder::m_hit_number
std::atomic< unsigned int > m_hit_number
Definition: BCM_RodDecoder.h:54
AthAlgTool
Definition: AthAlgTool.h:26
BCM_RDO_Collection
Definition: BCM_RDO_Collection.h:27