APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
SortingHelper.h
Go to the documentation of this file.
1 /*
3  *
4  * SortingHelper.h header template automatically generated by a class generator
5  * Creation date : jeu. avr. 9 2015
6  *
7  * This file is part of APRILContent libraries.
8  *
9  * APRILContent is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  * based upon these libraries are permitted. Any copy of these libraries
14  * must include this copyright notice.
15  *
16  * APRILContent is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with APRILContent. If not, see <http://www.gnu.org/licenses/>.
23  *
24  * @author Remi Ete
25  * @copyright CNRS , IPNL
26  */
27 
28 
29 #ifndef SORTINGHELPER_H
30 #define SORTINGHELPER_H
31 
33 
34 #include "Pandora/StatusCodes.h"
35 #include "Pandora/PandoraInternal.h"
36 
37 #include "APRILObjects/Connector.h"
38 #include "APRILObjects/CaloHit.h"
39 
40 namespace pandora { class Cluster; class Track; class Pandora; }
41 
42 namespace april_content
43 {
44 
49  {
50  public:
57  static bool SortClustersByNHits(const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs);
58  static bool SortClustersByInnerLayer(const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs);
59 
60  static bool SortCaloHitsByLayer(const pandora::CaloHit *const pLhs, const pandora::CaloHit *const pRhs);
67  static bool SortBranchesBySize(const Branch &lhs, const Branch &rhs);
68 
75  static bool SortTracksByEnergy(const pandora::Track *const pLhs, const pandora::Track *const pRhs);
76 
77  static bool SortTracksByMomentum(const pandora::Track* const pLhs, const pandora::Track* const pRhs);
78  static bool SortHitsByPosition(const pandora::CaloHit* const pLhs, const pandora::CaloHit *const pRhs);
79  static bool SortConnectorsByFromPosition(const april_content::Connector* const pLhs, const april_content::Connector* const pRhs);
80 
85  {
86  public:
90  SortClusterByOmegaTracks(const pandora::Pandora *const pPandora);
91 
98  bool operator() (const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs) const;
99 
100  private:
101  const pandora::Pandora *const m_pPandora;
102  };
103 
108  {
109  public:
113  SortByTrackClusterCompatibility(const pandora::Pandora *const pPandora);
114 
121  bool operator() (const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs) const;
122 
123  private:
124  const pandora::Pandora *const m_pPandora;
125  };
126  };
127 
128 }
129 
130 
131 #endif // SORTINGHELPER_H
Connector class.
Definition: Connector.h:44
SortByTrackClusterCompatibility class.
Definition: SortingHelper.h:107
SortingHelper class.
Definition: SortingHelper.h:48
bool operator()(const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs) const
Functor to sort clusters by track-cluster compatibility.
Definition: SortingHelper.cc:212
SortClusterByOmegaTracks class.
Definition: SortingHelper.h:84
static bool SortClustersByNHits(const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs)
Sort clusters by inner layer, and hadronic energy for same layer.
Definition: SortingHelper.cc:39
bool operator()(const pandora::Cluster *const pLhs, const pandora::Cluster *const pRhs) const
Functor to sort clusters by omega track parameter.
Definition: SortingHelper.cc:178
static bool SortTracksByEnergy(const pandora::Track *const pLhs, const pandora::Track *const pRhs)
Sort tracks by energy at dca.
Definition: SortingHelper.cc:122
Branch class.
Definition: Branch.h:42
static bool SortBranchesBySize(const Branch &lhs, const Branch &rhs)
Sort branches by size.
Definition: SortingHelper.cc:115
SortByTrackClusterCompatibility(const pandora::Pandora *const pPandora)
Constructor.
Definition: SortingHelper.cc:204
SortClusterByOmegaTracks(const pandora::Pandora *const pPandora)
Constructor.
Definition: SortingHelper.cc:170