APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
Classes | Static Public Member Functions | Static Private Attributes | List of all members
APRILContentApi Class Reference

APRILContentApi class. More...

#include <APRILContentApi.h>

Classes

class  CaloHitMetadata
 CaloHitMetadata class. More...
 

Static Public Member Functions

static pandora::StatusCode AlterMetadata (const pandora::Algorithm &algorithm, const april_content::CaloHit *const pCaloHit, const CaloHitMetadata &caloHitMetadata)
 Alter calo hit meta data. More...
 
static bool IsConnected (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2)
 Whether the two calo hits are connected (backward or forward directions) More...
 
static bool IsConnected (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2, april_content::ConnectorDirection direction)
 Whether the two calo hits are connected in the given direction. More...
 
static pandora::StatusCode FindConnector (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2, const april_content::Connector *&pConnector)
 Find a connector that links the two calo hits. More...
 
static pandora::StatusCode FindConnector (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2, april_content::ConnectorDirection direction, const april_content::Connector *&pConnector)
 Find a connector that links the two calo hits in a given direction. More...
 
static bool HasAnyConnection (const april_content::CaloHit *const pCaloHit)
 Whether the calo hit has at least one connection. More...
 
static const
april_content::ConnectorList & 
GetConnectorList (const april_content::CaloHit *const pCaloHit)
 Get the global connector list (backward and forward) of the calo hit. More...
 
static const
april_content::ConnectorList & 
GetConnectorList (const april_content::CaloHit *const pCaloHit, april_content::ConnectorDirection direction)
 Get the connector list of a calo hit for a given direction. More...
 
static bool IsSeed (const april_content::CaloHit *const pCaloHit)
 Whether the calo hit is a seed calo hit in the tree. More...
 
static bool IsLeaf (const april_content::CaloHit *const pCaloHit)
 Whether the calo hit is a leaf calo hit in the tree. More...
 
static pandora::StatusCode Connect (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2, april_content::ConnectorDirection direction, float referenceLength=1.f, unsigned int creationStage=-1)
 Connect the two calo hits in a given direction. More...
 
static pandora::StatusCode Connect (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2, april_content::ConnectorDirection direction, const april_content::Connector *&pConnector, float referenceLength=1.f, unsigned int creationStage=-1)
 Connect the two calo hits in a given direction. More...
 
static pandora::StatusCode RemoveConnectionBetween (const april_content::CaloHit *const pCaloHit1, const april_content::CaloHit *const pCaloHit2)
 Remove and delete the connection between the two calo hits. More...
 
static pandora::StatusCode RemoveAndDeleteConnector (const april_content::Connector *const pConnector)
 Remove the connection between the two calo hits and delete the connector. More...
 
static pandora::StatusCode RemoveAndDeleteAllConnections (const april_content::CaloHit *const pCaloHit)
 Remove and delete all the connections of the calo hit. More...
 
static pandora::StatusCode Tag (const april_content::CaloHit *const pCaloHit, april_content::HitTag tag, bool value)
 Set the calo hit tag. More...
 
static bool IsTagged (const april_content::CaloHit *const pCaloHit, april_content::HitTag tag)
 Whether the calo hit has been tagged. More...
 
static pandora::StatusCode ResetTags (const april_content::CaloHit *const pCaloHit)
 Reset the calo hit tags. More...
 
static pandora::StatusCode InitializeReclustering (const pandora::Algorithm &algorithm, const pandora::TrackList &inputTrackList, const pandora::ClusterList &inputClusterList, std::string &originalClustersListName)
 Initialize APRIL re-clustering. Save calo hit meta data and create a new one for each calo hit. More...
 
static pandora::StatusCode RunReclusteringAlgorithm (const pandora::Algorithm &algorithm, const std::string &clusteringAlgorithmName, const pandora::ClusterList *&pNewClusterList, std::string &newClusterListName)
 Run a re-clustering algorithm. Must be called only to run a clustering algorithm in a re-clustering process. More...
 
static pandora::StatusCode PostRunReclusteringAlgorithm (const pandora::Algorithm &algorithm, const std::string &clusterListName)
 Function to call just after a re-clustering algorithm and potential association algorithms. More...
 
static pandora::StatusCode EndReclustering (const pandora::Algorithm &algorithm, const std::string &selectedClusterListName)
 End the re-clustering procedure. More...
 
static pandora::StatusCode Create (const pandora::Algorithm &algorithm, PandoraContentApi::Cluster::Parameters clusterParameters, const pandora::Cluster *&pCluster)
 
static pandora::StatusCode CreateAPRILCluster (const pandora::Algorithm &algorithm, PandoraContentApi::Cluster::Parameters clusterParameters, const pandora::Cluster *&pCluster)
 
static pandora::StatusCode AddToCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHitList *const pCaloHitList)
 
static pandora::StatusCode MergeAndDeleteClusters (const pandora::Algorithm &algorithm, const pandora::Cluster *const pClusterToEnlarge, const pandora::Cluster *pClusterToDelete)
 
static pandora::StatusCode RemoveFromCluster (const pandora::Algorithm &algorithm, const pandora::Cluster *const pCluster, const pandora::CaloHit *const pCaloHit)
 
static pandora::StatusCode RemoveConnector (const april_content::Connector *const pConnector)
 
template<typename T >
static T * Modifiable (const T *const pT)
 Alter the object (const_cast<T*>) for internal modification through the API. More...
 

Static Private Attributes

static
april_content::ClusterFactory 
m_clusterFactory
 Remove the connection. Destructor not called, the connector responsibility is forwarded to the caller. More...
 

Detailed Description

APRILContentApi class.

Member Function Documentation

pandora::StatusCode APRILContentApi::AlterMetadata ( const pandora::Algorithm &  algorithm,
const april_content::CaloHit *const  pCaloHit,
const CaloHitMetadata caloHitMetadata 
)
static

Alter calo hit meta data.

Parameters
algorithmto access internal content
pCaloHitto modify
caloHitMetadatathe input meta data
pandora::StatusCode APRILContentApi::Connect ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2,
april_content::ConnectorDirection  direction,
float  referenceLength = 1.f,
unsigned int  creationStage = -1 
)
static

Connect the two calo hits in a given direction.

Parameters
pCaloHit1the first calo hit to connect
pCaloHit2the second calo hit to connect
directionthe direction of the connection (FORWARD_DIRECTION means that pCaloHit1 will be the "from")
referenceLengththe reference length assigned to the connector
pandora::StatusCode APRILContentApi::Connect ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2,
april_content::ConnectorDirection  direction,
const april_content::Connector *&  pConnector,
float  referenceLength = 1.f,
unsigned int  creationStage = -1 
)
static

Connect the two calo hits in a given direction.

Parameters
pCaloHit1the first calo hit to connect
pCaloHit2the second calo hit to connect
directionthe direction of the connection (FORWARD_DIRECTION means that pCaloHit1 will be the "from")
pConnectorthe connector address to receive
referenceLengththe reference length assigned to the connector
pandora::StatusCode APRILContentApi::EndReclustering ( const pandora::Algorithm &  algorithm,
const std::string &  selectedClusterListName 
)
static

End the re-clustering procedure.

Parameters
algorithmthe parent algorithm that run the re-clustering
selectedClusterListNamethe name of the selected cluster list
pandora::StatusCode APRILContentApi::FindConnector ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2,
const april_content::Connector *&  pConnector 
)
static

Find a connector that links the two calo hits.

Parameters
pCaloHit1the first calo hit
pCaloHit2the second calo hit
pConnectorthe connector address to receive
pandora::StatusCode APRILContentApi::FindConnector ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2,
april_content::ConnectorDirection  direction,
const april_content::Connector *&  pConnector 
)
static

Find a connector that links the two calo hits in a given direction.

Parameters
pCaloHit1the first calo hit
pCaloHit2the second calo hit
directionthe direction in which the two calo hits are connected
pConnectorthe connector address to receive
const april_content::ConnectorList & APRILContentApi::GetConnectorList ( const april_content::CaloHit *const  pCaloHit)
static

Get the global connector list (backward and forward) of the calo hit.

Parameters
pCaloHitthe calo hit to get the connector list
Returns
ConnectorList the connector list (std::set<const Connector*>)
const april_content::ConnectorList & APRILContentApi::GetConnectorList ( const april_content::CaloHit *const  pCaloHit,
april_content::ConnectorDirection  direction 
)
static

Get the connector list of a calo hit for a given direction.

Parameters
pCaloHitthe calo hit to get the connector list
directionthe direction of the connector list
Returns
ConnectorList the connector list (std::set<const Connector*>)
bool APRILContentApi::HasAnyConnection ( const april_content::CaloHit *const  pCaloHit)
static

Whether the calo hit has at least one connection.

Parameters
pCaloHitthe calo hit to test
Returns
boolean
pandora::StatusCode APRILContentApi::InitializeReclustering ( const pandora::Algorithm &  algorithm,
const pandora::TrackList &  inputTrackList,
const pandora::ClusterList &  inputClusterList,
std::string &  originalClustersListName 
)
static

Initialize APRIL re-clustering. Save calo hit meta data and create a new one for each calo hit.

Parameters
algorithmthe parent algorithm that initializes the re-clustering
inputTrackListthe list of tracks used for re-clustering
inputClusterListthe list of cluster used for re-clustering
originalClustersListNamethe list of the original cluster to receive
bool APRILContentApi::IsConnected ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2 
)
static

Whether the two calo hits are connected (backward or forward directions)

Parameters
pCaloHit1the first calo hit
pCaloHit2the second calo hit
Returns
boolean
bool APRILContentApi::IsConnected ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2,
april_content::ConnectorDirection  direction 
)
static

Whether the two calo hits are connected in the given direction.

Parameters
pCaloHit1the first calo hit
pCaloHit2the second calo hit
directionthe direction in which the calo hits may be connected
Returns
boolean
bool APRILContentApi::IsLeaf ( const april_content::CaloHit *const  pCaloHit)
static

Whether the calo hit is a leaf calo hit in the tree.

Parameters
pCaloHitthe calo hit to test
Returns
boolean
bool APRILContentApi::IsSeed ( const april_content::CaloHit *const  pCaloHit)
static

Whether the calo hit is a seed calo hit in the tree.

Parameters
pCaloHitthe calo hit to test
Returns
boolean
bool APRILContentApi::IsTagged ( const april_content::CaloHit *const  pCaloHit,
april_content::HitTag  tag 
)
static

Whether the calo hit has been tagged.

Parameters
pCaloHitthe calo hit to test
tagthe reconstruction tag to test
Returns
boolean
template<typename T >
template april_content::Connector * APRILContentApi::Modifiable ( const T *const  pT)
static

Alter the object (const_cast<T*>) for internal modification through the API.

Parameters
pTthe object to alter
Returns
T* the altered object
pandora::StatusCode APRILContentApi::PostRunReclusteringAlgorithm ( const pandora::Algorithm &  algorithm,
const std::string &  clusterListName 
)
static

Function to call just after a re-clustering algorithm and potential association algorithms.

Parameters
algorithmthe parent algorithm that run the re-clustering algorithm
clusterListNamethe name of the cluster list
pandora::StatusCode APRILContentApi::RemoveAndDeleteAllConnections ( const april_content::CaloHit *const  pCaloHit)
static

Remove and delete all the connections of the calo hit.

Parameters
pCaloHitthe calo hit to remove all connections
pandora::StatusCode APRILContentApi::RemoveAndDeleteConnector ( const april_content::Connector *const  pConnector)
static

Remove the connection between the two calo hits and delete the connector.

 

Parameters
pConnectorthe connector to remove and delete
pandora::StatusCode APRILContentApi::RemoveConnectionBetween ( const april_content::CaloHit *const  pCaloHit1,
const april_content::CaloHit *const  pCaloHit2 
)
static

Remove and delete the connection between the two calo hits.

 

Parameters
pCaloHit1the first calo hit to disconnect
pCaloHit2the second calo hit to disconnect
pandora::StatusCode APRILContentApi::ResetTags ( const april_content::CaloHit *const  pCaloHit)
static

Reset the calo hit tags.

Parameters
pCaloHitthe calo hit to reset tags
pandora::StatusCode APRILContentApi::RunReclusteringAlgorithm ( const pandora::Algorithm &  algorithm,
const std::string &  clusteringAlgorithmName,
const pandora::ClusterList *&  pNewClusterList,
std::string &  newClusterListName 
)
static

Run a re-clustering algorithm. Must be called only to run a clustering algorithm in a re-clustering process.

Parameters
algorithmthe parent algorithm running the (re)clustering algorithm
clusteringAlgorithmNamethe name of the clustering algorithm
pNewClusterListthe list of created clusters to receive
newClusterListNamethe cluster list name to receive
pandora::StatusCode APRILContentApi::Tag ( const april_content::CaloHit *const  pCaloHit,
april_content::HitTag  tag,
bool  value 
)
static

Set the calo hit tag.

Parameters
pCaloHitthe calo hit to tag
tagthe reconstruction tag to apply
valuethe tag value to assign

Member Data Documentation

april_content::ClusterFactory APRILContentApi::m_clusterFactory
staticprivate

Remove the connection. Destructor not called, the connector responsibility is forwarded to the caller.

 

Parameters
pConnectorthe connector to remove

The documentation for this class was generated from the following files: