ATLAS Offline Software
FPGATrackSimLogicalHitsWrapperAlg.cxx
Go to the documentation of this file.
9 
10 FPGATrackSimLogicalHitsWrapperAlg::FPGATrackSimLogicalHitsWrapperAlg (const std::string& name, ISvcLocator* pSvcLocator) :
11  AthAlgorithm(name, pSvcLocator)
12 {}
13 
14 
16 {
17  ATH_CHECK( m_hitInputTool.retrieve());
18  ATH_CHECK( m_writeOutputTool.retrieve());
19  ATH_CHECK( m_hitMapTool.retrieve());
20 
21  if (m_Clustering ) {
22  ATH_CHECK( m_clusteringTool.retrieve());
23  ATH_MSG_INFO ("Clustering is enabled");
24  }
25 
26  return StatusCode::SUCCESS;
27 }
28 
30  return StatusCode::SUCCESS;
31 }
32 
33 
35 {
36  FPGATrackSimEventInputHeader eventHeader;
37 
38  bool last = false;
39  ATH_CHECK (m_hitInputTool->readData(&eventHeader, last));
40  if (last) return StatusCode::SUCCESS;
41 
42  ATH_MSG_DEBUG (eventHeader);
43 
44  // Map hits:
45  FPGATrackSimLogicalEventInputHeader logicEventHeader_1st;
46  ATH_CHECK(m_hitMapTool->convert(1, eventHeader, logicEventHeader_1st));
47  ATH_MSG_DEBUG (logicEventHeader_1st);
48 
49  // clustering:
50  if (m_Clustering) {
51  std::vector<FPGATrackSimCluster> clusters;
52  ATH_CHECK(m_clusteringTool->DoClustering(logicEventHeader_1st, clusters));
53  ATH_MSG_INFO ("Ending with " << clusters.size() << " clusters");
54  }
55 
56  FPGATrackSimLogicalEventInputHeader logicEventHeader_2nd;//fake empty
57  FPGATrackSimLogicalEventOutputHeader logicEventOutputHeader;
58  ATH_CHECK (m_writeOutputTool->writeData(&logicEventHeader_1st, &logicEventHeader_2nd, &logicEventOutputHeader));
59 
60  return StatusCode::SUCCESS;
61 }
62 
FPGATrackSimLogicalEventInputHeader
Definition: FPGATrackSimLogicalEventInputHeader.h:21
FPGATrackSimLogicalHitsWrapperAlg::m_hitMapTool
ToolHandle< FPGATrackSimRawToLogicalHitsTool > m_hitMapTool
Definition: FPGATrackSimLogicalHitsWrapperAlg.h:31
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
FPGATrackSimTowerInputHeader.h
FPGATrackSimLogicalHitsWrapperAlg::FPGATrackSimLogicalHitsWrapperAlg
FPGATrackSimLogicalHitsWrapperAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: FPGATrackSimLogicalHitsWrapperAlg.cxx:10
FPGATrackSimLogicalHitsWrapperAlg.h
FPGATrackSimLogicalHitsWrapperAlg::m_writeOutputTool
ToolHandle< IFPGATrackSimEventOutputHeaderTool > m_writeOutputTool
Definition: FPGATrackSimLogicalHitsWrapperAlg.h:29
FPGATrackSimLogicalEventOutputHeader.h
FPGATrackSimLogicalHitsWrapperAlg::execute
virtual StatusCode execute() override
Definition: FPGATrackSimLogicalHitsWrapperAlg.cxx:34
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
FPGATrackSimLogicalHitsWrapperAlg::m_Clustering
Gaudi::Property< bool > m_Clustering
Definition: FPGATrackSimLogicalHitsWrapperAlg.h:33
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGATrackSimEventInputHeader
Definition: FPGATrackSimEventInputHeader.h:22
AthAlgorithm
Definition: AthAlgorithm.h:47
FPGATrackSimEventInputHeader.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
FPGATrackSimLogicalHitsWrapperAlg::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimLogicalHitsWrapperAlg.cxx:15
IFPGATrackSimEventOutputHeaderTool.h
IFPGATrackSimEventInputHeaderTool.h
FPGATrackSimLogicalHitsWrapperAlg::BookHistograms
StatusCode BookHistograms()
Definition: FPGATrackSimLogicalHitsWrapperAlg.cxx:29
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
FPGATrackSimLogicalEventOutputHeader
Definition: FPGATrackSimLogicalEventOutputHeader.h:12
FPGATrackSimLogicalHitsWrapperAlg::m_hitInputTool
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool
Definition: FPGATrackSimLogicalHitsWrapperAlg.h:28
FPGATrackSimLogicalHitsWrapperAlg::m_clusteringTool
ToolHandle< FPGATrackSimClusteringToolI > m_clusteringTool
Definition: FPGATrackSimLogicalHitsWrapperAlg.h:30
FPGATrackSimLogicalEventInputHeader.h
FPGATrackSimCluster.h