StreamSelectionAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArTwoDReco/StreamSelectionAlgorithm.h
3  *
4  * @brief Header file for the deep learning track shower cluster streaming algorithm.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_STREAM_SELECTION_ALGORITHM_H
9 #define LAR_STREAM_SELECTION_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief StreamSelectionAlgorithm class
18  */
19 class StreamSelectionAlgorithm : public pandora::Algorithm
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27  virtual ~StreamSelectionAlgorithm() = default;
28 
29 protected:
30  typedef std::map<std::string, pandora::ClusterList> ClusterListMap;
31 
32  /**
33  * @brief Allocate a cluster to the appropriate streams.
34  *
35  * @param pCluster The cluster to allocate to a stream
36  *
37  * @return The StatusCode
38  */
39  virtual pandora::StatusCode AllocateToStreams(const pandora::Cluster *const pCluster) = 0;
40 
41  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
42 
43  std::string m_inputListName; ///< The input list name if not using the current list
44  std::string m_listType; ///< The type of the input lists (currently only Cluster is supported)
45  pandora::StringVector m_listNames; ///< The name of the output lists
46  ClusterListMap m_clusterListMap; ///< The map from cluster list names to cluster lists
47 
48 private:
49  pandora::StatusCode Run();
50 };
51 
52 } // namespace lar_content
53 
54 #endif // LAR_STREAM_SELECTION_ALGORITHM_H
std::string m_listType
The type of the input lists (currently only Cluster is supported)
std::string string
Definition: nybbler.cc:12
StreamSelectionAlgorithm class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::string m_inputListName
The input list name if not using the current list.
pandora::StringVector m_listNames
The name of the output lists.
std::vector< string > StringVector
Definition: fcldump.cxx:29
std::map< std::string, pandora::ClusterList > ClusterListMap
ClusterListMap m_clusterListMap
The map from cluster list names to cluster lists.
virtual ~StreamSelectionAlgorithm()=default
virtual pandora::StatusCode AllocateToStreams(const pandora::Cluster *const pCluster)=0
Allocate a cluster to the appropriate streams.