Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
NodeFeatureList.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONINFERENCEINTERACES_GRAPHFEATURELIST_H
5 #define MUONINFERENCEINTERACES_GRAPHFEATURELIST_H
6 
9 
10 class MsgStream;
11 
12 namespace MuonML {
13  struct GraphRawData;
15  public:
16 
17  using Feature_t = std::shared_ptr<const NodeFeature>;
18  using Connector_t = std::shared_ptr<const NodeConnector>;
19 
22  NodeFeatureList() = default;
25  bool operator==(const NodeFeatureList& other) const;
29  bool isValid() const;
31  size_t numFeatures() const;
33  std::vector<std::string> featureNames() const;
35  void fillInData(const Bucket_t& bucket,
36  GraphRawData& graphData) const;
41  bool addFeature(const std::string& featName, MsgStream& msg);
45  bool addFeature(const Feature_t& featPtr, MsgStream& msg);
46 
50  bool setConnector(const std::string& conName, MsgStream& msg);
52  void setConnector(const std::string& conName, NodeConnector::Evaluator_t evalFunc);
53 
54 
55  private:
56  std::vector<Feature_t> m_features{};
58 
59  };
60 }
61 
62 
63 #endif
MuonML::NodeFeatureList::numFeatures
size_t numFeatures() const
Returns the number of features in the list.
Definition: NodeFeatureList.cxx:40
MuonML::NodeFeatureList::fillInData
void fillInData(const Bucket_t &bucket, GraphRawData &graphData) const
Definition: NodeFeatureList.cxx:75
MuonML::NodeFeatureList::Feature_t
std::shared_ptr< const NodeFeature > Feature_t
Definition: NodeFeatureList.h:17
MuonML::NodeFeature::Bucket_t
LayerSpBucket Bucket_t
Abreviation of the Space point bucket type.
Definition: NodeFeature.h:19
MuonML::NodeFeatureList::Connector_t
std::shared_ptr< const NodeConnector > Connector_t
Definition: NodeFeatureList.h:18
MuonML::NodeFeatureList
Definition: NodeFeatureList.h:14
MuonML::NodeFeatureList::NodeFeatureList
NodeFeatureList()=default
Empty standard constructor.
MuonML
Definition: GraphBucketFilterTool.cxx:9
MuonML::NodeFeatureList::featureNames
std::vector< std::string > featureNames() const
Returns the name of the features in the list.
Definition: NodeFeatureList.cxx:45
MuonML::NodeFeatureList::m_features
std::vector< Feature_t > m_features
Definition: NodeFeatureList.h:56
NodeFeature.h
MuonML::NodeFeatureList::isValid
bool isValid() const
Returns whether the NodeFeatureList is complete, i.e.
Definition: NodeFeatureList.cxx:15
MuonML::LayerSpBucket
The LayerSpBucket is a space pointbucket where the points are internally sorted by their layer number...
Definition: LayerBucket.h:14
MuonML::NodeFeatureList::m_connector
Connector_t m_connector
Definition: NodeFeatureList.h:57
MuonML::NodeFeatureList::addFeature
bool addFeature(const std::string &featName, MsgStream &msg)
Tries to add a new feature to the list using the predefined list of features in the GraphFeatureFacto...
Definition: NodeFeatureList.cxx:52
MuonML::NodeFeatureList::setConnector
bool setConnector(const std::string &conName, MsgStream &msg)
Tries to set the graph connector based on the connector name.
Definition: NodeFeatureList.cxx:18
NodeConnector.h
MuonML::GraphRawData
Helper struct to ship the Graph from the space point buckets to ONNX.
Definition: GraphData.h:25
MuonML::NodeConnector::Evaluator_t
std::function< bool(const Bucket_t &, size_t, size_t)> Evaluator_t
Function type to connect two space points in a bucket.
Definition: NodeConnector.h:25
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonML::NodeFeatureList::operator==
bool operator==(const NodeFeatureList &other) const
Returns true if the features have pairwise the same name.
Definition: NodeFeatureList.cxx:26
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7