ATLAS Offline Software
Loading...
Searching...
No Matches
CollectionMerger.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "CollectionMerger.h"
6
8ISF::CollectionMerger::CollectionMerger( const std::string& name, ISvcLocator* pSvcLocator ) :
9 ::AthReentrantAlgorithm( name, pSvcLocator )
10{
11}
12
13
16{
17 ATH_MSG_VERBOSE("In initialize");
18 ATH_CHECK( m_inputBCMHits.initialize() );
19 ATH_CHECK( m_inputBLMHits.initialize() );
20 ATH_CHECK( m_inputPixelHits.initialize() );
21 ATH_CHECK( m_inputSCTHits.initialize() );
23
24 ATH_CHECK( m_inputITkPixelHits.initialize() );
25 ATH_CHECK( m_inputITkStripHits.initialize() );
26 ATH_CHECK( m_inputPLRHits.initialize() );
27 ATH_CHECK( m_inputHGTDHits.initialize() );
28
29 ATH_CHECK( m_inputLArEMBHits.initialize() );
30 ATH_CHECK( m_inputLArEMECHits.initialize() );
31 ATH_CHECK( m_inputLArFCALHits.initialize() );
32 ATH_CHECK( m_inputLArHECHits.initialize() );
33
34 ATH_CHECK( m_inputTileHits.initialize() );
35 ATH_CHECK( m_inputMBTSHits.initialize() );
36
37 ATH_CHECK( m_inputCSCHits.initialize() );
38 ATH_CHECK( m_inputMDTHits.initialize() );
39 ATH_CHECK( m_inputRPCHits.initialize() );
40 ATH_CHECK( m_inputTGCHits.initialize() );
41 ATH_CHECK( m_inputsTGCHits.initialize() );
42 ATH_CHECK( m_inputMMHits.initialize() );
43
44
45 ATH_CHECK( m_outputBCMHits.initialize(!m_inputBCMHits.empty()) );
46 ATH_CHECK( m_outputBLMHits.initialize(!m_inputBLMHits.empty()) );
47 ATH_CHECK( m_outputPixelHits.initialize(!m_inputPixelHits.empty()) );
48 ATH_CHECK( m_outputSCTHits.initialize(!m_inputSCTHits.empty()) );
50
53 ATH_CHECK( m_outputPLRHits.initialize(!m_inputPLRHits.empty()) );
54 ATH_CHECK( m_outputHGTDHits.initialize(!m_inputHGTDHits.empty()) );
55
56 ATH_CHECK( m_outputLArEMBHits.initialize(!m_inputLArEMBHits.empty()) );
57 ATH_CHECK( m_outputLArEMECHits.initialize(!m_inputLArEMECHits.empty()) );
58 ATH_CHECK( m_outputLArFCALHits.initialize(!m_inputLArFCALHits.empty()) );
59 ATH_CHECK( m_outputLArHECHits.initialize(!m_inputLArHECHits.empty()) );
60
61 ATH_CHECK( m_outputTileHits.initialize(!m_inputTileHits.empty()) );
62 ATH_CHECK( m_outputMBTSHits.initialize(!m_inputMBTSHits.empty()) );
63
64 ATH_CHECK( m_outputCSCHits.initialize(!m_inputCSCHits.empty()) );
65 ATH_CHECK( m_outputMDTHits.initialize(!m_inputMDTHits.empty()) );
66 ATH_CHECK( m_outputRPCHits.initialize(!m_inputRPCHits.empty()) );
67 ATH_CHECK( m_outputTGCHits.initialize(!m_inputTGCHits.empty()) );
68 ATH_CHECK( m_outputsTGCHits.initialize(!m_inputsTGCHits.empty()) );
69 ATH_CHECK( m_outputMMHits.initialize(!m_inputMMHits.empty()) );
70
71 return StatusCode::SUCCESS;
72}
73
74
76StatusCode ISF::CollectionMerger::execute(const EventContext& ctx) const
77{
78 ATH_MSG_VERBOSE("in execute()");
84
89
94
97
104
105 return StatusCode::SUCCESS;
106}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteHandleKey< SiHitCollection > m_outputBLMHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputPixelHits
SG::WriteHandleKey< SiHitCollection > m_outputPixelHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputITkStripHits
SG::WriteHandleKey< LArHitContainer > m_outputLArEMBHits
SG::WriteHandleKey< SiHitCollection > m_outputHGTDHits
CollectionMerger(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::ReadHandleKeyArray< MDTSimHitCollection > m_inputMDTHits
SG::ReadHandleKeyArray< TGCSimHitCollection > m_inputTGCHits
SG::WriteHandleKey< MMSimHitCollection > m_outputMMHits
SG::ReadHandleKeyArray< LArHitContainer > m_inputLArEMECHits
virtual StatusCode initialize() override final
Athena algorithm's interface methods.
SG::ReadHandleKeyArray< SiHitCollection > m_inputSCTHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputBLMHits
SG::WriteHandleKey< sTGCSimHitCollection > m_outputsTGCHits
SG::ReadHandleKeyArray< MMSimHitCollection > m_inputMMHits
SG::ReadHandleKeyArray< LArHitContainer > m_inputLArEMBHits
SG::WriteHandleKey< TileHitVector > m_outputMBTSHits
SG::ReadHandleKeyArray< sTGCSimHitCollection > m_inputsTGCHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputHGTDHits
virtual StatusCode execute(const EventContext &ctx) const override final
Athena Algorithm execute.
SG::WriteHandleKey< LArHitContainer > m_outputLArHECHits
SG::WriteHandleKey< RPCSimHitCollection > m_outputRPCHits
SG::WriteHandleKey< MDTSimHitCollection > m_outputMDTHits
SG::WriteHandleKey< TRTUncompressedHitCollection > m_outputTRTUncompressedHits
SG::ReadHandleKeyArray< TileHitVector > m_inputTileHits
SG::ReadHandleKeyArray< TRTUncompressedHitCollection > m_inputTRTUncompressedHits
SG::ReadHandleKeyArray< LArHitContainer > m_inputLArFCALHits
StatusCode mergeCollections(const SG::ReadHandleKeyArray< T > &inputReadHandleKeys, const SG::WriteHandleKey< T > &outputWriteHandleKey, const EventContext &ctx) const
Merge all hits of inputReadHandleKeys's collections into outputWriteHandleKey.
SG::WriteHandleKey< SiHitCollection > m_outputBCMHits
Output collection WriteHandleKeys.
SG::ReadHandleKeyArray< SiHitCollection > m_inputBCMHits
Input collection ReadHandleKeys.
SG::ReadHandleKeyArray< LArHitContainer > m_inputLArHECHits
SG::WriteHandleKey< LArHitContainer > m_outputLArEMECHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputPLRHits
SG::WriteHandleKey< SiHitCollection > m_outputITkPixelHits
SG::WriteHandleKey< SiHitCollection > m_outputPLRHits
SG::ReadHandleKeyArray< TileHitVector > m_inputMBTSHits
SG::ReadHandleKeyArray< RPCSimHitCollection > m_inputRPCHits
SG::WriteHandleKey< TGCSimHitCollection > m_outputTGCHits
SG::WriteHandleKey< SiHitCollection > m_outputITkStripHits
SG::ReadHandleKeyArray< SiHitCollection > m_inputITkPixelHits
SG::WriteHandleKey< CSCSimHitCollection > m_outputCSCHits
SG::WriteHandleKey< TileHitVector > m_outputTileHits
SG::ReadHandleKeyArray< CSCSimHitCollection > m_inputCSCHits
SG::WriteHandleKey< LArHitContainer > m_outputLArFCALHits
SG::WriteHandleKey< SiHitCollection > m_outputSCTHits