CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes | Friends
TotemRPUVPattern Class Reference

A linear pattern in U or V projection. The intercept b is taken at the middle of a RP: (geometry->GetRPDevice(RPId)->translation().z()) The global coordinate system is used (wrt. the beam). This is the same convention as for the 1-RP track fits. More...

#include <TotemRPUVPattern.h>

Public Types

enum  ProjectionType { projInvalid, projU, projV }
 

Public Member Functions

void addHit (edm::det_id_type detId, const TotemRPRecHit &hit)
 
double getA () const
 
double getB () const
 
bool getFittable () const
 
const edm::DetSetVector
< TotemRPRecHit > & 
getHits () const
 
ProjectionType getProjection () const
 
double getW () const
 
void setA (double a_)
 
void setB (double b_)
 
void setFittable (bool f_)
 
void setProjection (ProjectionType p_)
 
void setW (double w_)
 
 TotemRPUVPattern ()
 

Private Attributes

double a
 slope in rad More...
 
double b
 intercept in mm More...
 
bool fittable
 whether this pattern is worth including in track fits More...
 
edm::DetSetVector< TotemRPRecHithits
 hits associated with the pattern More...
 
ProjectionType projection
 projection More...
 
double w
 weight More...
 

Friends

bool operator< (const TotemRPUVPattern &l, const TotemRPUVPattern &r)
 

Detailed Description

A linear pattern in U or V projection. The intercept b is taken at the middle of a RP: (geometry->GetRPDevice(RPId)->translation().z()) The global coordinate system is used (wrt. the beam). This is the same convention as for the 1-RP track fits.

Definition at line 23 of file TotemRPUVPattern.h.

Member Enumeration Documentation

Enumerator
projInvalid 
projU 
projV 

Definition at line 26 of file TotemRPUVPattern.h.

Constructor & Destructor Documentation

TotemRPUVPattern::TotemRPUVPattern ( )
inline

Definition at line 28 of file TotemRPUVPattern.h.

28  : projection(projInvalid), a(0.), b(0.), w(0.), fittable(false)
29  {
30  }
ProjectionType projection
projection
bool fittable
whether this pattern is worth including in track fits
double a
slope in rad
double b
intercept in mm
double w
weight

Member Function Documentation

void TotemRPUVPattern::addHit ( edm::det_id_type  detId,
const TotemRPRecHit hit 
)
inline

Definition at line 47 of file TotemRPUVPattern.h.

References edm::DetSetVector< T >::find_or_insert(), hits, and edm::DetSet< T >::push_back().

Referenced by FastLineRecognition::getPatterns().

48  {
49  hits.find_or_insert(detId).push_back(hit);
50  }
void push_back(const T &t)
Definition: DetSet.h:68
edm::DetSetVector< TotemRPRecHit > hits
hits associated with the pattern
reference find_or_insert(det_id_type id)
Definition: DetSetVector.h:254
double TotemRPUVPattern::getA ( ) const
inline

Definition at line 35 of file TotemRPUVPattern.h.

References a.

35 { return a; }
double a
slope in rad
double TotemRPUVPattern::getB ( ) const
inline

Definition at line 38 of file TotemRPUVPattern.h.

References b.

38 { return b; }
double b
intercept in mm
bool TotemRPUVPattern::getFittable ( ) const
inline

Definition at line 44 of file TotemRPUVPattern.h.

References fittable.

44 { return fittable; }
bool fittable
whether this pattern is worth including in track fits
const edm::DetSetVector<TotemRPRecHit>& TotemRPUVPattern::getHits ( ) const
inline

Definition at line 52 of file TotemRPUVPattern.h.

References hits.

52 { return hits; }
edm::DetSetVector< TotemRPRecHit > hits
hits associated with the pattern
ProjectionType TotemRPUVPattern::getProjection ( ) const
inline

Definition at line 32 of file TotemRPUVPattern.h.

References projection.

Referenced by TotemRPLocalTrackFitter::produce().

32 { return projection; }
ProjectionType projection
projection
double TotemRPUVPattern::getW ( ) const
inline

Definition at line 41 of file TotemRPUVPattern.h.

References w.

41 { return w; }
double w
weight
void TotemRPUVPattern::setA ( double  a_)
inline

Definition at line 36 of file TotemRPUVPattern.h.

References a.

Referenced by FastLineRecognition::getPatterns().

36 { a = a_; }
double a
slope in rad
void TotemRPUVPattern::setB ( double  b_)
inline

Definition at line 39 of file TotemRPUVPattern.h.

References b.

Referenced by FastLineRecognition::getPatterns().

39 { b = b_; }
double b
intercept in mm
void TotemRPUVPattern::setFittable ( bool  f_)
inline

Definition at line 45 of file TotemRPUVPattern.h.

References fittable.

45 { fittable = f_; }
bool fittable
whether this pattern is worth including in track fits
void TotemRPUVPattern::setProjection ( ProjectionType  p_)
inline

Definition at line 33 of file TotemRPUVPattern.h.

References projection.

33 { projection = p_; }
ProjectionType projection
projection
void TotemRPUVPattern::setW ( double  w_)
inline

Definition at line 42 of file TotemRPUVPattern.h.

References w.

Referenced by FastLineRecognition::getPatterns().

42 { w = w_; }
double w
weight

Friends And Related Function Documentation

bool operator< ( const TotemRPUVPattern l,
const TotemRPUVPattern r 
)
friend

Definition at line 13 of file TotemRPUVPattern.cc.

14 {
15  if (l.projection < r.projection)
16  return true;
17  if (l.projection > r.projection)
18  return false;
19 
20  if (l.a < r.a)
21  return true;
22  if (l.a > r.a)
23  return false;
24 
25  if (l.b < r.b)
26  return true;
27  if (l.b > r.b)
28  return false;
29 
30  if (l.w < r.w)
31  return true;
32  if (l.w > r.w)
33  return false;
34 
35  if (l.fittable < r.fittable)
36  return true;
37  if (l.fittable > r.fittable)
38  return false;
39 
40  return false;
41 }
ProjectionType projection
projection
bool fittable
whether this pattern is worth including in track fits
double a
slope in rad
double b
intercept in mm
double w
weight

Member Data Documentation

double TotemRPUVPattern::a
private

slope in rad

Definition at line 58 of file TotemRPUVPattern.h.

Referenced by getA(), operator<(), and setA().

double TotemRPUVPattern::b
private

intercept in mm

Definition at line 59 of file TotemRPUVPattern.h.

Referenced by getB(), operator<(), and setB().

bool TotemRPUVPattern::fittable
private

whether this pattern is worth including in track fits

Definition at line 61 of file TotemRPUVPattern.h.

Referenced by getFittable(), operator<(), and setFittable().

edm::DetSetVector<TotemRPRecHit> TotemRPUVPattern::hits
private

hits associated with the pattern

Definition at line 63 of file TotemRPUVPattern.h.

Referenced by addHit(), and getHits().

ProjectionType TotemRPUVPattern::projection
private

projection

Definition at line 57 of file TotemRPUVPattern.h.

Referenced by getProjection(), operator<(), and setProjection().

double TotemRPUVPattern::w
private

weight

Definition at line 60 of file TotemRPUVPattern.h.

Referenced by getW(), operator<(), and setW().