ATLAS Offline Software
TRTRawDataProviderTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_RAWDATABYTESTREAMCNV_TRTRAWDATAPROVIDERTOOL_H
6 #define TRT_RAWDATABYTESTREAMCNV_TRTRAWDATAPROVIDERTOOL_H
7 
9 
11 
16 
17 #include "GaudiKernel/EventContext.h"
18 #include "GaudiKernel/ServiceHandle.h"
19 #include "GaudiKernel/ToolHandle.h"
20 
21 #include <set>
22 #include <string>
23 
24 // the tool to decode a ROB frament
25 
26 class TRT_BSErrorContainer;
27 
28 class TRTRawDataProviderTool : public extends<AthAlgTool, ITRTRawDataProviderTool>
29 {
30  public:
32  TRTRawDataProviderTool( const std::string& type, const std::string& name,
33  const IInterface* parent ) ;
34 
36  virtual StatusCode initialize() override;
37 
39  virtual StatusCode convert(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
40  TRT_RDO_Container* rdoIdc,
41  TRT_BSErrContainer* bsErrCont,
42  DataPool<TRT_LoLumRawData>* dataItemsPool,
43  const EventContext& ctx
44  ) const override;
45 
46 private:
47  ToolHandle<ITRT_RodDecoder> m_decoder;
48 
49  SG::WriteHandleKey<InDetTimeCollection> m_lvl1idkey{this,"LVL1IDKey","TRT_LVL1ID","TRT_LVL1ID out-key"};
50  SG::WriteHandleKey<InDetTimeCollection> m_bcidkey{this,"BCIDKey","TRT_BCID","TRT_BCID out-key"};
51  Gaudi::Property<bool> m_storeInDetTimeColls{this, "StoreInDetTimeCollections", true, "Store LVL1ID and BCID"};
52 };
53 
54 #endif
55 
56 
57 
ITRT_RodDecoder.h
TRTRawDataProviderTool::TRTRawDataProviderTool
TRTRawDataProviderTool(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Definition: TRTRawDataProviderTool.cxx:27
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
TRT_BSErrContainer
Definition: TRT_BSErrContainer.h:20
TRTRawDataProviderTool::m_decoder
ToolHandle< ITRT_RodDecoder > m_decoder
Definition: TRTRawDataProviderTool.h:47
TRTRawDataProviderTool::initialize
virtual StatusCode initialize() override
initialize
Definition: TRTRawDataProviderTool.cxx:37
SG::WriteHandleKey< InDetTimeCollection >
TRTRawDataProviderTool::m_lvl1idkey
SG::WriteHandleKey< InDetTimeCollection > m_lvl1idkey
Definition: TRTRawDataProviderTool.h:49
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ITRTRawDataProviderTool.h
TRTRawDataProviderTool
Definition: TRTRawDataProviderTool.h:29
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TRTRawDataProviderTool::m_bcidkey
SG::WriteHandleKey< InDetTimeCollection > m_bcidkey
Definition: TRTRawDataProviderTool.h:50
DataPool
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Definition: DataPool.h:47
SlotSpecificObj.h
Maintain a set of objects, one per slot.
TRTRawDataProviderTool::convert
virtual StatusCode convert(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecRobs, TRT_RDO_Container *rdoIdc, TRT_BSErrContainer *bsErrCont, DataPool< TRT_LoLumRawData > *dataItemsPool, const EventContext &ctx) const override
this is the main decoding method
Definition: TRTRawDataProviderTool.cxx:55
InDetTimeCollection.h
TRTRawDataProviderTool::m_storeInDetTimeColls
Gaudi::Property< bool > m_storeInDetTimeColls
Definition: TRTRawDataProviderTool.h:51