ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1Topo
L1TopoCoreSim
Root
SortingConnector.cxx
Go to the documentation of this file.
1
// Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
#include "
L1TopoCoreSim/SortingConnector.h
"
4
5
#include "
L1TopoCoreSim/InputConnector.h
"
6
7
#include "
L1TopoCommon/StringUtils.h
"
8
#include "
L1TopoCommon/Exception.h
"
9
#include "
L1TopoInterfaces/SortingAlg.h
"
10
11
using namespace
std
;
12
using namespace
TCS
;
13
14
SortingConnector::SortingConnector
(
const
string
& input,
15
const
string
&
algorithm
,
16
const
string
& output) :
17
Connector
(output, {input},
algorithm
, {output}, SORT)
18
{}
19
20
21
SortingConnector::~SortingConnector
() {
22
clearOutput
();
23
}
24
25
26
TCS::StatusCode
27
TCS::SortingConnector::clearOutput
() {
28
delete
m_outputData
;
29
m_outputData
= 0;
30
return
StatusCode::SUCCESS
;
31
}
32
33
34
InputConnector
*
35
SortingConnector::inputConnector
()
const
{
36
return
dynamic_cast<
InputConnector
*
>
(
m_inputConnectors
[0]);
37
}
38
39
40
void
41
SortingConnector::setAlgorithm
(
TCS::ConfigurableAlg
* alg) {
42
Connector::setAlgorithm
(alg);
43
m_sortingAlgorithm
=
dynamic_cast<
SortingAlg
*
>
(alg);
// set a local copy
44
if
(
m_sortingAlgorithm
==
nullptr
&& alg !=
nullptr
) {
45
TCS_EXCEPTION
(
"Error: algorithm"
<< alg->name() <<
" is not a sorting alg"
);
46
}
47
}
48
49
50
// attaches the sorted data to the connector (does take ownership)
51
void
52
SortingConnector::attachOutputData
(
const
TOBArray
* data) {
53
if
(
m_outputData
!= 0) {
54
TCS_EXCEPTION
(
"Trying to attach data to input connector '"
<<
name
() <<
"' which has already data attached"
);
55
}
56
m_outputData
= data;
57
}
58
59
60
namespace
TCS
{
61
62
63
ostream &
64
operator<<
(ostream &o,
const
TCS::SortingConnector
& conn) {
65
o << conn.inputNames()[0] <<
" ---[ "
<< conn.algorithmName() <<
" ]---> "
<< conn.outputNames()[0];
66
return
o;
67
}
68
69
70
}
InputConnector.h
SortingAlg.h
SortingConnector.h
Exception.h
TCS_EXCEPTION
#define TCS_EXCEPTION(MSG)
Definition
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Exception.h:15
StringUtils.h
TCS::ConfigurableAlg
Definition
ConfigurableAlg.h:31
TCS::Connector::Connector
Connector(const std::string &name, ConnectorType conntype)
Definition
Connector.cxx:31
TCS::Connector::m_inputConnectors
std::vector< TCS::Connector * > m_inputConnectors
Definition
Connector.h:98
TCS::Connector::name
const std::string & name() const
Definition
Connector.h:44
TCS::Connector::setAlgorithm
virtual void setAlgorithm(TCS::ConfigurableAlg *)
Definition
Connector.cxx:42
TCS::Connector::algorithm
const TCS::ConfigurableAlg * algorithm() const
Definition
Connector.h:50
TCS::InputConnector
Definition
InputConnector.h:22
TCS::SortingAlg
Definition
SortingAlg.h:18
TCS::SortingConnector
Definition
SortingConnector.h:24
TCS::SortingConnector::~SortingConnector
virtual ~SortingConnector()
Definition
SortingConnector.cxx:21
TCS::SortingConnector::attachOutputData
void attachOutputData(const TOBArray *data)
Definition
SortingConnector.cxx:52
TCS::SortingConnector::SortingConnector
SortingConnector(const std::string &input, const std::string &algorithm, const std::string &output)
Definition
SortingConnector.cxx:14
TCS::SortingConnector::m_sortingAlgorithm
SortingAlg * m_sortingAlgorithm
Definition
SortingConnector.h:51
TCS::SortingConnector::clearOutput
StatusCode clearOutput()
Definition
SortingConnector.cxx:27
TCS::SortingConnector::inputConnector
InputConnector * inputConnector() const
Definition
SortingConnector.cxx:35
TCS::SortingConnector::m_outputData
TOBArray const * m_outputData
Definition
SortingConnector.h:54
TCS::SortingConnector::setAlgorithm
void setAlgorithm(ConfigurableAlg *alg)
Definition
SortingConnector.cxx:41
TCS::StatusCode
Definition
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15
TCS::StatusCode::SUCCESS
@ SUCCESS
Definition
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:17
TCS::TOBArray
Definition
TOBArray.h:24
algorithm
std::string algorithm
Definition
hcg.cxx:87
TCS
Definition
AnomalyDetectionBDT.h:18
TCS::operator<<
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)
Definition
AnomalyDetectionBDT.cxx:50
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0