Program Listing for File KPCluster.h

Return to documentation for file (larflow/Reco/KPCluster.h)

#ifndef __KPCLUSTER_H__
#define __KPCLUSTER_H__

#include <vector>

namespace larflow {
namespace reco {

  class KPCluster {

  public:

    KPCluster()
      : center_pt_v({0,0,0}),
      pca_max_r(-1.0),
      pca_ave_r2(-1.0),
      pca_len(-1.0),
      max_idx(-1),
      max_score(-1.0),
      max_pt_v( {0,0,0} ),
      _cluster_idx(-1),
      _cluster_type(-1)
      {};
    virtual ~KPCluster() {};

    std::vector< float > center_pt_v;
    std::vector< std::vector<float> > pt_pos_v;
    std::vector< float >              pt_score_v;

    // pca info from clustering of neighboring points
    // this info is copied from the cluster_t object used to make it
    std::vector< std::vector<float> > pca_axis_v;
    std::vector<float>                pca_center;
    std::vector<float>                pca_eigenvalues;
    std::vector< std::vector<float> > pca_ends_v;
    std::vector< std::vector<float> > bbox_v;
    float                             pca_max_r;
    float                             pca_ave_r2;
    float                             pca_len;

    int                               max_idx;
    float                             max_score;
    std::vector<float>                max_pt_v;

    int _cluster_idx;
    //cluster_t cluster;

    int _cluster_type;

    void printInfo() const;

  };

}
}

#endif