CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
TTClusterAlgorithm< T > Class Template Reference

Base class for any algorithm to be used in TTClusterBuilder. More...

#include <TTClusterAlgorithm.h>

Inheritance diagram for TTClusterAlgorithm< T >:
TTClusterAlgorithm_neighbor< T > TTClusterAlgorithm_official< T >

Public Member Functions

virtual std::string AlgorithmName () const
 Algorithm name. More...
 
virtual void Cluster (std::vector< std::vector< T > > &output, const std::vector< T > &input, bool module) const
 
virtual void Cluster (std::vector< std::vector< T > > &output, const std::vector< T > &input) const
 Basic version common to all the algorithms but official. More...
 
 TTClusterAlgorithm (std::string fName)
 Constructors. More...
 
virtual ~TTClusterAlgorithm ()
 Destructor. More...
 

Protected Attributes

std::string className_
 Data members. More...
 

Detailed Description

template<typename T>
class TTClusterAlgorithm< T >

Base class for any algorithm to be used in TTClusterBuilder.

After moving from SimDataFormats to DataFormats, the template structure of the class was maintained in order to accomodate any types other than PixelDigis in case there is such a need in the future.

Author
Andrew W. Rose
Nicola Pozzobon
Date
2013, Jul 12

Definition at line 26 of file TTClusterAlgorithm.h.

Constructor & Destructor Documentation

◆ TTClusterAlgorithm()

template<typename T>
TTClusterAlgorithm< T >::TTClusterAlgorithm ( std::string  fName)
inline

Constructors.

Definition at line 34 of file TTClusterAlgorithm.h.

References TTClusterAlgorithm< T >::className_, and isotrackTrainRegressor::fName.

34 { className_ = classNameFinder<T>(fName); }
std::string className_
Data members.

◆ ~TTClusterAlgorithm()

template<typename T>
virtual TTClusterAlgorithm< T >::~TTClusterAlgorithm ( )
inlinevirtual

Destructor.

Definition at line 37 of file TTClusterAlgorithm.h.

37 {}

Member Function Documentation

◆ AlgorithmName()

template<typename T>
virtual std::string TTClusterAlgorithm< T >::AlgorithmName ( ) const
inlinevirtual

Algorithm name.

NOTE When calling TTClusterAlgoHandle->Cluster( output, input, module ) in L1TkClusterBuilder, this will go in the following way

  • case official it will go with the overloaded method (***) which has its specific implementation in TTClusterAlgorithm_official.h
  • case "everything else" the overloaded method will call the basic one it is the basic one which has its specific implementation in the various TTClusterAlgorithm_*.h This way, all the existing interfaces will be unchanged, but the new algorithm will use the new interface

Definition at line 62 of file TTClusterAlgorithm.h.

References TTClusterAlgorithm< T >::className_.

62 { return className_; }
std::string className_
Data members.

◆ Cluster() [1/2]

template<typename T>
virtual void TTClusterAlgorithm< T >::Cluster ( std::vector< std::vector< T > > &  output,
const std::vector< T > &  input,
bool  module 
) const
inlinevirtual

Clustering operations Overloaded method (***) to preserve the interface of all the algorithms but official

Reimplemented in TTClusterAlgorithm_official< T >.

Definition at line 41 of file TTClusterAlgorithm.h.

References input.

41  {
43  }
virtual void Cluster(std::vector< std::vector< T > > &output, const std::vector< T > &input, bool module) const
static std::string const input
Definition: EdmProvDump.cc:50
Definition: output.py:1

◆ Cluster() [2/2]

template<typename T>
virtual void TTClusterAlgorithm< T >::Cluster ( std::vector< std::vector< T > > &  output,
const std::vector< T > &  input 
) const
inlinevirtual

Basic version common to all the algorithms but official.

Reimplemented in TTClusterAlgorithm_neighbor< T >.

Definition at line 46 of file TTClusterAlgorithm.h.

46 { output.clear(); }
Definition: output.py:1

Member Data Documentation

◆ className_

template<typename T>
std::string TTClusterAlgorithm< T >::className_
protected