ATLAS Offline Software
SortingConnector.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoCoreSim_SortingConnector
4 #define L1TopoCoreSim_SortingConnector
5 
7 
8 #include <iostream>
9 #include <vector>
10 #include <string>
11 
13 #include "L1TopoCommon/Types.h"
15 
16 
17 namespace TCS {
18 
19  class SortingAlg;
20  class InputConnector;
21  class TOBArray;
22 
23  // special connector for sorting algorithms
24  class SortingConnector : public Connector {
25  public:
26 
27  SortingConnector(const std::string & input,
28  const std::string & algorithm,
29  const std::string & output);
30 
31  virtual ~SortingConnector();
32 
34 
35  std::string inputName() const { return m_inputNames.size()>0 ? m_inputNames[0] : ""; }
36 
37  std::string outputName() const { return m_outputNames.size()>0 ? m_outputNames[0] : ""; }
38 
39  void attachOutputData(const TOBArray* data);
40 
41  const TOBArray* outputData() const { return m_outputData; }
42 
44 
46 
48 
49  private:
50 
52 
53  // attached sorted data
54  TOBArray const * m_outputData { nullptr };
55 
56  };
57 
58 std::ostream & operator<<(std::ostream &, const TCS::SortingConnector&);
59 
60 }
61 
62 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
SGout2dot.alg
alg
Definition: SGout2dot.py:243
TCS::Connector
Definition: Connector.h:22
TCS::SortingConnector::outputName
std::string outputName() const
Definition: SortingConnector.h:37
TCS::SortingConnector::setAlgorithm
void setAlgorithm(ConfigurableAlg *alg)
Definition: SortingConnector.cxx:41
TCS::SortingConnector
Definition: SortingConnector.h:24
Types.h
Decision.h
TCS::SortingConnector::sortingAlgorithm
SortingAlg * sortingAlgorithm()
Definition: SortingConnector.h:45
TCS::SortingConnector::attachOutputData
void attachOutputData(const TOBArray *data)
Definition: SortingConnector.cxx:52
TCS::SortingConnector::m_outputData
TOBArray const * m_outputData
Definition: SortingConnector.h:54
TCS::SortingConnector::inputConnector
InputConnector * inputConnector() const
Definition: SortingConnector.cxx:35
TCS::SortingConnector::inputName
std::string inputName() const
Definition: SortingConnector.h:35
TCS::InputConnector
Definition: InputConnector.h:22
StatusCode.h
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
TCS::SortingConnector::~SortingConnector
virtual ~SortingConnector()
Definition: SortingConnector.cxx:21
TCS::TOBArray
Definition: TOBArray.h:24
Connector.h
merge.output
output
Definition: merge.py:17
TCS::ConfigurableAlg
Definition: ConfigurableAlg.h:30
TCS::Connector::algorithm
const TCS::ConfigurableAlg * algorithm() const
Definition: Connector.h:50
TCS::Connector::m_outputNames
std::vector< std::string > m_outputNames
Definition: Connector.h:95
TCS::Connector::m_inputNames
std::vector< std::string > m_inputNames
Definition: Connector.h:94
TCS::SortingAlg
Definition: SortingAlg.h:18
TCS::SortingConnector::outputData
const TOBArray * outputData() const
Definition: SortingConnector.h:41
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::SortingConnector::clearOutput
StatusCode clearOutput()
Definition: SortingConnector.cxx:27
TCS::operator<<
std::ostream & operator<<(std::ostream &, const TCS::CountingConnector &)
Definition: CountingConnector.cxx:93
TCS::SortingConnector::m_sortingAlgorithm
SortingAlg * m_sortingAlgorithm
Definition: SortingConnector.h:51
TCS::SortingConnector::SortingConnector
SortingConnector(const std::string &input, const std::string &algorithm, const std::string &output)
Definition: SortingConnector.cxx:14
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15