Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

VeloRMeasurement Class Reference

#include <VeloRMeasurement.h>

Inheritance diagram for VeloRMeasurement:

Measurement List of all members.

Public Member Functions

 VeloRMeasurement (VeloCluster &cluster, DeVelo &det, double phi=999.0)
 Constructor from an VeloRCluster.
 VeloRMeasurement ()
 Default Constructor.
virtual ~VeloRMeasurement ()
 Default Destructor.
VeloRMeasurementclone () const
 Clone the VeloRMeasurement.
double phi () const
 Retrieve const the phi of the Velo R measurement.
void setPhi (double value)
 Update the phi of the Velo R measurement.
const VeloCluster * cluster () const
 Retrieve const Pointer to the VeloRCluster.
VeloCluster * cluster ()
 Retrieve Pointer to the VeloRCluster.
void setCluster (VeloCluster *value)
 Update Pointer to the VeloRCluster.

Private Attributes

double m_phi
 the phi of the Velo R measurement
VeloCluster * m_cluster
 Pointer to the VeloRCluster.

Detailed Description

VeloRMeasurement is a measurement made from a VeloRCluster.

Author:
Jose Hernando, Eduardo Rodrigues created Thu Apr 7 22:55:05 2005

Definition at line 35 of file VeloRMeasurement.h.


Constructor & Destructor Documentation

VeloRMeasurement::VeloRMeasurement VeloCluster &  cluster,
DeVelo &  det,
double  phi = 999.0
 

Constructor from an VeloRCluster.

Definition at line 18 of file VeloRMeasurement.cpp.

References cluster(), m_cluster, and m_phi.

00020                                                  {
00021 
00022   m_phi = phi;
00023   m_cluster = &cluster;
00024   
00025   int sensor = m_cluster->sensor();
00026   double sum   = 0.;
00027   double sum2  = 0.;
00028   double sums  = 0.;
00029 
00030   std::vector< std::pair<long,double> > sign = m_cluster->stripSignals();
00031   std::vector< std::pair<long,double> >::const_iterator strIt;
00032   VeloChannelID channelOne(sensor,(*sign.begin()).first);
00033   double radius = det.rOfStrip( channelOne );
00034   double pitch =   det.rPitch( channelOne );
00035 
00036   for ( strIt = sign.begin() ; sign.end() != strIt ; strIt++ ) {
00037     VeloChannelID channel(sensor,(*strIt).first);
00038     radius= det.rOfStrip( channel );
00039     sum   += (*strIt).second;
00040     sum2  += pow((*strIt).second,2) ;
00041     sums  += (*strIt).second * radius ;
00042   }
00043   if ( 0 < sum ) {
00044     m_measure = sums / sum;
00045     // MM+
00046     // m_measure    = ( pitch / sum ) * sqrt( sum2 / 12 );
00047     m_errMeasure    = 0.8 * ( pitch / sum ) * sqrt( sum2 / 12 );
00048     // m_errMeasure = 0.254*pitch - 0.0049*mm;
00049     // MM-
00050   }
00051 
00052   m_z = det.zSensor( m_cluster->sensor() );
00053 
00054 }

VeloRMeasurement::VeloRMeasurement  )  [inline]
 

Default Constructor.

Definition at line 45 of file VeloRMeasurement.h.

References m_cluster, and m_phi.

Referenced by clone().

00045                      : m_phi(0.0),
00046                        m_cluster() {}

virtual VeloRMeasurement::~VeloRMeasurement  )  [inline, virtual]
 

Default Destructor.

Definition at line 49 of file VeloRMeasurement.h.

00049 {}


Member Function Documentation

VeloRMeasurement * VeloRMeasurement::clone  )  const [inline, virtual]
 

Clone the VeloRMeasurement.

Reimplemented from Measurement.

Definition at line 109 of file VeloRMeasurement.h.

References VeloRMeasurement().

00110 {
00111 
00112   VeloRMeasurement* me = new VeloRMeasurement(); *me = *this; return me;
00113         
00114 }

VeloCluster * VeloRMeasurement::cluster  )  [inline]
 

Retrieve Pointer to the VeloRCluster.

Definition at line 99 of file VeloRMeasurement.h.

References m_cluster.

00100 {
00101   return m_cluster;
00102 }

const VeloCluster * VeloRMeasurement::cluster  )  const [inline]
 

Retrieve const Pointer to the VeloRCluster.

Definition at line 94 of file VeloRMeasurement.h.

References m_cluster.

Referenced by VeloRMeasurement().

00095 {
00096   return m_cluster;
00097 }

double VeloRMeasurement::phi  )  const [inline]
 

Retrieve const the phi of the Velo R measurement.

Definition at line 84 of file VeloRMeasurement.h.

References m_phi.

Referenced by TrackVeloRProjector::project().

00085 {
00086   return m_phi;
00087 }

void VeloRMeasurement::setCluster VeloCluster *  value  )  [inline]
 

Update Pointer to the VeloRCluster.

Definition at line 104 of file VeloRMeasurement.h.

References m_cluster.

00105 {
00106   m_cluster = value;
00107 }

void VeloRMeasurement::setPhi double  value  )  [inline]
 

Update the phi of the Velo R measurement.

Definition at line 89 of file VeloRMeasurement.h.

References m_phi.

00090 {
00091   m_phi = value;
00092 }


Member Data Documentation

VeloCluster* VeloRMeasurement::m_cluster [private]
 

Pointer to the VeloRCluster.

Definition at line 74 of file VeloRMeasurement.h.

Referenced by cluster(), setCluster(), and VeloRMeasurement().

double VeloRMeasurement::m_phi [private]
 

the phi of the Velo R measurement

Definition at line 73 of file VeloRMeasurement.h.

Referenced by phi(), setPhi(), and VeloRMeasurement().


The documentation for this class was generated from the following files:
Generated on Wed May 4 11:52:44 2005 for New Track Event Model by doxygen 1.4.1