CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiTrackerMultiRecHit.h
Go to the documentation of this file.
1 #ifndef SiTrackerMultiRecHit_H
2 #define SiTrackerMultiRecHit_H
3 
6 #include <vector>
7 #include <map>
8 /*
9 A rechit type suitable for tracking algorithm that use soft hit-to-track assignement,
10 such as the Deterministic Annealing Filter (DAF) or the Multi Track Filter (MTF).
11 it contains an OwnVector with the component rechits and a vector of weights
12 */
14 {
15  public:
17  theHits(),
18  theWeights(){}
19  SiTrackerMultiRecHit(const LocalPoint&, const LocalError&, const DetId&, const std::vector< std::pair<const TrackingRecHit*, float> >&);
20 
21  virtual SiTrackerMultiRecHit* clone() const {return new SiTrackerMultiRecHit(*this);};
22 
23  virtual ~SiTrackerMultiRecHit(){};
24 
25  //vector of component rechits
26  virtual std::vector<const TrackingRecHit*> recHits() const;
27 
28  virtual std::vector<TrackingRecHit*> recHits() ;
29 
30  //vector of weights
31  std::vector<float> weights() const {return theWeights;}
32 
33  //returns the weight for the i component
34  float weight(unsigned int i) const ;
35 
36  bool sharesInput(const TrackingRecHit* other,
37  SharedInputType what) const;
38  private:
39 
41  std::vector<float> theWeights;
42 
43 
44 };
45 
46 // Comparison operators
47 inline bool operator<( const SiTrackerMultiRecHit& one, const SiTrackerMultiRecHit& other) {
48  if ( one.geographicalId() < other.geographicalId() ) {
49  return true;
50  } else {
51  return false;
52  }
53 }
54 
55 #endif
SharedInputType
definition of equality via shared input
int i
Definition: DBlmapReader.cc:9
bool sharesInput(const TrackingRecHit *other, SharedInputType what) const
virtual float weight() const
edm::OwnVector< TrackingRecHit > theHits
std::vector< float > weights() const
bool operator<(const FedChannelConnection &, const FedChannelConnection &)
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
virtual SiTrackerMultiRecHit * clone() const
std::vector< float > theWeights
Definition: DetId.h:20
DetId geographicalId() const