CEDRIC  Revision_backup-2009-02
EventSignature.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 2008 Boris Iven, Max Hermann
4  *
5  * This file is part of the "CEDRIC Event Display" application.
6  *
7  *****************************************************************************/
8 
9 #ifndef EVENTSIGNATURE_H
10 #define EVENTSIGNATURE_H
11 
12 #include <Redukt/Signature.h>
13 #include "EventGroundDistances.h"
14 #include "EventFeature.h"
15 
16 #include <vector>
17 
18 #include <Phast.h>
19 
20 
22 typedef std::vector<EventSignature> EventSignatureSet;
23 
24 
37 class EventSignature: public Signature<EventFeature>
38 {
39 public:
41  {
49  };
50 
52  {
55  };
56 
58  : m_index(-1),
59  m_pivotDistance(std::numeric_limits<double>::max()),
60  m_label(-1)
61  {}
62 
63  EventSignature( const PaEvent& event, int index, int weightType=NormalizedWeight );
64 
65  //### BAD BAD BAD to return Signature's feature vector!
66  const std::vector<EventFeature>& getFeaturesAsVector() const { return m_features; }
67 
69  int index () const { return m_index; }
70 
72  double pivotDistance() const { return m_pivotDistance; }
73 
75  int label () const { return m_label; }
76 
78  bool operator < ( const EventSignature& other ) const
79  {
80  return pivotDistance() < other.pivotDistance();
81  }
82 
83  void setPivotDistance( double d ) { m_pivotDistance = d; }
84  void setLabel ( int l ) { m_label = l; }
85 
86 protected:
87  void normalizeWeights();
88 
89 private:
90  int m_index;
91 
92  double m_pivotDistance;
93 
94  int m_label;
95 };
96 
97 #endif // EVENTSIGNATURE_H
int index() const
Return Phast event index if available, else return -1.
Definition: EventSignature.h:69
void normalizeWeights()
Definition: EventSignature.cpp:88
Definition: EventSignature.h:46
Definition: EventSignature.h:45
double pivotDistance() const
Return distance to pivot.
Definition: EventSignature.h:72
bool operator<(const EventSignature &other) const
Compare pivot distance of this to other EventSignature.
Definition: EventSignature.h:78
std::vector< EventFeature > m_features
Definition: Signature.h:56
Definition: EventSignature.h:53
EventSignature()
Definition: EventSignature.h:57
Definition: EventSignature.h:43
Attributes
Definition: EventSignature.h:40
const std::vector< EventFeature > & getFeaturesAsVector() const
Definition: EventSignature.h:66
WeightType
Definition: EventSignature.h:51
int label() const
Return cluster label.
Definition: EventSignature.h:75
Definition: EventSignature.h:47
std::vector< EventSignature > EventSignatureSet
Definition: EventSignature.h:21
void setLabel(int l)
Definition: EventSignature.h:84
Definition: EventSignature.h:54
Definition: Signature.h:18
Create signature for "physical" event (check numFeatures()>0 to recognize "physical" event afterwards...
Definition: EventSignature.h:37
void setPivotDistance(double d)
Definition: EventSignature.h:83
Definition: EventSignature.h:42
Definition: EventSignature.h:44
Definition: EventSignature.h:48