Main Page | Class List | File List | Class Members | File Members | Related Pages

CSCTrack Class Reference

The CSCTrack class will store a track segment within a chamber. More...

#include <CSCTrack.h>

List of all members.

Public Member Functions

 CSCTrack ()
 Constructor for intialization.
 ~CSCTrack ()
 Destructor.
void Print ()
 Print parameters to stdout for debugging.
double GetInterceptX ()
 Provides access to linefit parameters:.
double GetInterceptY ()
 Provides access to linefit parameters:.
double GetSlopeX ()
 Provides access to linefit parameters:.
double GetSlopeY ()
 Provides access to linefit parameters:.
double GetAngleX ()
double GetSlopeY ()
double GetChi2X ()
double GetChi2Y ()
double GetBitmapX ()
 Provides access to the bitmask of the track: For each layer, a bit is set if a hit has been found.
double GetBitmapY ()
 Provides access to the bitmask of the track: For each layer, a bit is set if a hit has been found.
int GetNumHitsX ()
int GetNumHitsY ()
CSCHitGetHitX (int layer)
 Provides access to the hits of this track.
CSCHitGetHitY (int layer)
 Provides access to the hits of this track.
double GetPredictedX (int layer)
 Provides the predicted X position from the line fit.
double GetPredictedY (int layer)
 Provides the predicted Y position from the line fit.
double GetMeasuredX (int layer)
 Provides the measured X position from the CSCHit().
double GetMeasuredY (int layer)
 Provides the measured Y position from the CSCHit().
void SetOffsetA (int layer, double offset)
 Set the constant offset in the X direction.
void SetOffsetB (int layer, double offset)
 Set the Y-dependant offset in the X direction.
double GetOffsetA (int layer)
 Get the constant offset in the X direction.
double GetOffsetB (int layer)
 Set the Y-dependant offset in the X direction.
CSCChamberGetChamber ()
void SetChamber (CSCChamber *csc)
 Sets the pointer to the chamber of this track.
void AddHit (CSCHit *hit)
 Adds a CSCHit() to the track.
void Fit ()
 Performs the line fit in X and Y directions and computes the largest and smallest peaking times of the hits.
double GetEarliest ()
double GetLatest ()


Detailed Description

The CSCTrack class will store a track segment within a chamber.

Warning:
NOTHING HAS BEEN IMPLEMENTED.
This class maintains 4 pointers to X hits and 4 pointers to Y hits. If a layer has no hit, the pointer is NULL.

Each set of 4 hits is fitted to a straight line, where the intercept value marks the crossing of that line with layer 0.

For each layer, the alignment consists of an offset in the X direction with a constant component and a Y-dependent component: Offset = OffsetA + Y * OffsetB. The Offset values can be set manually, or with the GeoServer() class. The Y value for the correction comes from the line fit prediction, not from the Y hit in that plane.

Status
Just an idea in a header file.
Todo:
implement all this and the tracklist class.
See also:
long.cpp implements long tracks through all 4 chambers.


Member Function Documentation

void CSCTrack::AddHit CSCHit hit  ) 
 

Adds a CSCHit() to the track.

Layer and direction are taken from the channelID. The new hit replaces any previous hit for the layer and direction.

Parameters:
hit a pointer to the hit to be added to the track.

void CSCTrack::Fit  ) 
 

Performs the line fit in X and Y directions and computes the largest and smallest peaking times of the hits.

This is to be called after all hits have been added.

double CSCTrack::GetAngleX  )  [inline]
 

Returns:
the angle of the slope of the X data line fit in degrees.

double CSCTrack::GetBitmapX  )  [inline]
 

Provides access to the bitmask of the track: For each layer, a bit is set if a hit has been found.

This can be used to study effiencies.

Returns:
the the bitmask for the X layers.

double CSCTrack::GetBitmapY  )  [inline]
 

Provides access to the bitmask of the track: For each layer, a bit is set if a hit has been found.

This can be used to study effiencies.

Returns:
the the bitmask for the Y layers.

CSCChamber* CSCTrack::GetChamber  )  [inline]
 

Returns:
a pointer to the CSCChamber() of this track for access to raw data.

double CSCTrack::GetChi2X  )  [inline]
 

Returns:
the Chi-squared of the X data line fit.

double CSCTrack::GetChi2Y  )  [inline]
 

Returns:
the Chi-squared of the Y data line fit.

double CSCTrack::GetEarliest  )  [inline]
 

Returns:
the value of the earliest peaking time.

CSCHit* CSCTrack::GetHitX int  layer  )  [inline]
 

Provides access to the hits of this track.

Parameters:
layer the layer number 0-3.
Returns:
the pointer to the CSCHit() object, or NULL if this layer has no hit.

CSCHit* CSCTrack::GetHitY int  layer  )  [inline]
 

Provides access to the hits of this track.

Parameters:
layer the layer number 0-3.
Returns:
the pointer to the CSCHit() object, or NULL if this layer has no hit.

double CSCTrack::GetInterceptX  )  [inline]
 

Provides access to linefit parameters:.

Returns:
the intercept of the X data line with layer 0.

double CSCTrack::GetInterceptY  )  [inline]
 

Provides access to linefit parameters:.

Returns:
the intercept of the Y data line with layer 0.

double CSCTrack::GetLatest  )  [inline]
 

Returns:
the value of the latest peaking time.

double CSCTrack::GetMeasuredX int  layer  ) 
 

Provides the measured X position from the CSCHit().

The shift of layers relative to another is taken into account.

Parameters:
layer the layer number in the range 0-3.
Returns:
the predicted position in channel numbers, or -1 if there is no hit in this layer.

double CSCTrack::GetMeasuredY int  layer  ) 
 

Provides the measured Y position from the CSCHit().

No shift of layers relative to another is taken into account for the Y direction.

Parameters:
layer the layer number in the range 0-3.
Returns:
the predicted position in channel numbers, or -1 if there is no hit in this layer.

int CSCTrack::GetNumHitsX  )  [inline]
 

Returns:
the number of hits for the X data, 0-4.

int CSCTrack::GetNumHitsY  )  [inline]
 

Returns:
the number of hits for the Y data, 0-4.

double CSCTrack::GetOffsetA int  layer  )  [inline]
 

Get the constant offset in the X direction.

Parameters:
layer is the layer number, ranging from 0 - 3.
Returns:
the offset in microns.

double CSCTrack::GetOffsetB int  layer  )  [inline]
 

Set the Y-dependant offset in the X direction.

Parameters:
layer is the layer number, ranging from 0 - 3.
Returns:
offset is the offset in microns.

double CSCTrack::GetPredictedX int  layer  )  [inline]
 

Provides the predicted X position from the line fit.

The shift of layers relative to another is taken into account.

Parameters:
layer the layer number in the range 0-3.
Returns:
the predicted position in channel numbers.

double CSCTrack::GetPredictedY int  layer  )  [inline]
 

Provides the predicted Y position from the line fit.

The shift of layers relative to another is taken into account.

Parameters:
layer the layer number in the range 0-3.
Returns:
the predicted position in channel numbers.

double CSCTrack::GetSlopeX  )  [inline]
 

Provides access to linefit parameters:.

Returns:
the slope of the X data line fit. The result is in 'natural units": channel distance / layer number.

double CSCTrack::GetSlopeY  )  [inline]
 

Returns:
the angle of slope of the Y data line fit in degrees.

double CSCTrack::GetSlopeY  )  [inline]
 

Provides access to linefit parameters:.

Returns:
the slope of the Y data line fit. The result is in 'natural units": channel distance / layer number.

void CSCTrack::SetChamber CSCChamber csc  )  [inline]
 

Sets the pointer to the chamber of this track.

Note:
This is done automatically when hits are added to the track.
Parameters:
csc the pointer to the CSCChamber() object.

void CSCTrack::SetOffsetA int  layer,
double  offset
[inline]
 

Set the constant offset in the X direction.

Parameters:
layer is the layer number, ranging from 0 - 3.
offset is the offset in microns.

void CSCTrack::SetOffsetB int  layer,
double  offset
[inline]
 

Set the Y-dependant offset in the X direction.

Parameters:
layer is the layer number, ranging from 0 - 3.
offset is the offset in microns.


The documentation for this class was generated from the following file:
Generated on Wed Oct 29 10:35:18 2008 for CSCRead by  doxygen 1.3.9.1