CMS 3D CMS Logo

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

double a () const
 
void addHit (edm::det_id_type detId, const TotemRPRecHit &hit)
 
double b () const
 
bool fittable () const
 
const edm::DetSetVector< TotemRPRecHit > & hits () const
 
ProjectionType projection () const
 
void setA (double a)
 
void setB (double b)
 
void setFittable (bool fittable)
 
void setProjection (ProjectionType type)
 
void setW (double w)
 
 TotemRPUVPattern ()
 
double w () const
 

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 25 of file TotemRPUVPattern.h.

Constructor & Destructor Documentation

TotemRPUVPattern::TotemRPUVPattern ( )
inline

Definition at line 27 of file TotemRPUVPattern.h.

27 : projection_(projInvalid), a_(0.), b_(0.), w_(0.), fittable_(false) {}
double w_
weight
bool fittable_
whether this pattern is worth including in track fits
ProjectionType projection_
projection
double b_
intercept in mm
double a_
slope in rad

Member Function Documentation

double TotemRPUVPattern::a ( ) const
inline

Definition at line 32 of file TotemRPUVPattern.h.

References a_.

Referenced by setA().

32 { return a_; }
double a_
slope in rad
void TotemRPUVPattern::addHit ( edm::det_id_type  detId,
const TotemRPRecHit hit 
)
inline

Definition at line 44 of file TotemRPUVPattern.h.

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

Referenced by FastLineRecognition::getPatterns().

44 { hits_.find_or_insert(detId).push_back(hit); }
void push_back(const T &t)
Definition: DetSet.h:67
reference find_or_insert(det_id_type id)
Definition: DetSetVector.h:234
edm::DetSetVector< TotemRPRecHit > hits_
hits associated with the pattern
double TotemRPUVPattern::b ( ) const
inline

Definition at line 35 of file TotemRPUVPattern.h.

References b_.

Referenced by setB().

35 { return b_; }
double b_
intercept in mm
bool TotemRPUVPattern::fittable ( ) const
inline

Definition at line 41 of file TotemRPUVPattern.h.

References fittable_.

Referenced by setFittable().

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

Definition at line 46 of file TotemRPUVPattern.h.

References hits_, cmsLHEtoEOSManager::l, operator<, and alignCSCRings::r.

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

Definition at line 29 of file TotemRPUVPattern.h.

References projection_.

Referenced by TotemRPLocalTrackFitter::produce().

29 { return projection_; }
ProjectionType projection_
projection
void TotemRPUVPattern::setA ( double  a)
inline

Definition at line 33 of file TotemRPUVPattern.h.

References a(), and a_.

Referenced by FastLineRecognition::getPatterns().

33 { a_ = a; }
double a() const
double a_
slope in rad
void TotemRPUVPattern::setB ( double  b)
inline

Definition at line 36 of file TotemRPUVPattern.h.

References b(), and b_.

Referenced by FastLineRecognition::getPatterns().

36 { b_ = b; }
double b() const
double b_
intercept in mm
void TotemRPUVPattern::setFittable ( bool  fittable)
inline

Definition at line 42 of file TotemRPUVPattern.h.

References fittable(), and fittable_.

42 { fittable_ = fittable; }
bool fittable() const
bool fittable_
whether this pattern is worth including in track fits
void TotemRPUVPattern::setProjection ( ProjectionType  type)
inline

Definition at line 30 of file TotemRPUVPattern.h.

References projection_.

30 { projection_ = type; }
type
Definition: HCALResponse.h:21
ProjectionType projection_
projection
void TotemRPUVPattern::setW ( double  w)
inline

Definition at line 39 of file TotemRPUVPattern.h.

References w(), and w_.

Referenced by FastLineRecognition::getPatterns().

39 { w_ = w; }
double w() const
double w_
weight
double TotemRPUVPattern::w ( ) const
inline

Definition at line 38 of file TotemRPUVPattern.h.

References w_.

Referenced by setW().

38 { return 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.

Referenced by hits().

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

Member Data Documentation

double TotemRPUVPattern::a_
private

slope in rad

Definition at line 52 of file TotemRPUVPattern.h.

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

double TotemRPUVPattern::b_
private

intercept in mm

Definition at line 53 of file TotemRPUVPattern.h.

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

bool TotemRPUVPattern::fittable_
private

whether this pattern is worth including in track fits

Definition at line 55 of file TotemRPUVPattern.h.

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

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

hits associated with the pattern

Definition at line 57 of file TotemRPUVPattern.h.

Referenced by addHit(), and hits().

ProjectionType TotemRPUVPattern::projection_
private

projection

Definition at line 51 of file TotemRPUVPattern.h.

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

double TotemRPUVPattern::w_
private

weight

Definition at line 54 of file TotemRPUVPattern.h.

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