LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
StreamSelectionAlgorithm.h
Go to the documentation of this file.
1 
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 
19 class StreamSelectionAlgorithm : public pandora::Algorithm
20 {
21 public:
26 
27  virtual ~StreamSelectionAlgorithm() = default;
28 
29 protected:
30  typedef std::map<std::string, pandora::ClusterList> ClusterListMap;
31 
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;
44  std::string m_listType;
45  pandora::StringVector m_listNames;
46  ClusterListMap m_clusterListMap;
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)
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::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.