kalmanalignment is hosted by Hepforge, IPPP Durham

Description of a straight track. More...

#include <Track.h>

List of all members.

Public Member Functions

 Track ()
 Track (CLHEP::HepVector origin, CLHEP::HepVector destination, double momentum)
virtual ~Track ()
CLHEP::HepVector GetOrigin () const
 Compute intersection with plane fixed at (0,0,0) and normal (0,0,1)
CLHEP::HepVector GetDestination () const
 Compute intersection with plane fixed at (0,0,detector height) and normal (0,0,1).
double GetMomentum () const
 Get particle momentum (in GeV)
double GetMass () const
 Get particle mass (in GeV)
int GetCharge () const
 Get particle charge.
double GetChi2 () const
 Get chi2.
int GetNdof () const
 Get ndof.
void SetChi2Ndof (double chi2, int ndof)
 Set chi2 and ndof.
HitMisalignedIntersection (const Det &adet) const
 Compute the hit position of the track with a detector in misaligned state.
HitNominalIntersection (const Det &adet) const
 Compute the hit position of the track with a detector in nominal state.
CLHEP::HepVector * IntersectionWithPlane (const ReferenceFrame &frame) const
 Get intersection of track with a plane in global coordinate system.
CLHEP::HepVector GetGlobalParameters () const
void SetGlobalParameters (CLHEP::HepVector p)
void SetGlobalCovariance (CLHEP::HepSymMatrix covariance)
CLHEP::HepSymMatrix GetGlobalCovariance () const
CLHEP::HepVector GetLocalParameters (const ReferenceFrame &frame) const
CLHEP::HepSymMatrix GetLocalCovariance (const ReferenceFrame &frame)
void SetLocalCovariance (const ReferenceFrame &frame, const CLHEP::HepSymMatrix &covariance)
CLHEP::HepMatrix Jacobian (const ReferenceFrame &frame) const
 Jacobian matrix of local to global track parameters.
void SetLocalParameters (const ReferenceFrame &frame, CLHEP::HepVector p)
const std::vector< Hit * > & GetHits () const
std::vector< Hit * > & GetHits ()

Protected Attributes

CLHEP::HepVector fOrigin
 track origin
CLHEP::HepVector fDestination
 track destination
CLHEP::HepSymMatrix fCovariance
 track covariance matrix in global frame
double fMomentum
double fChi2
 track chi^2. Initialized to -1, only meaningful once track reconstructed
int fNdof
 number of degrees of freedom. Initialized to zero.
std::vector< Hit * > fHits

Detailed Description

Description of a straight track.

A track can be described with several parameters. Here, a start and end point parametrization is used in the constructor, and internally a parametrization by the definition of a (x,y) point on some reference plane and the tangent to the track is used as parameters.


Constructor & Destructor Documentation

Track::Track ( )

A track parallel to z in the center of the detector, with a momentum according to the mean of cosmic muons at the surface of the earth.

Track::~Track ( ) [virtual]

Destruct the track. Has to delete all the hits.


Member Function Documentation

HepVector Track::GetGlobalParameters ( ) const

Starting from origin and destination, fill track parameters. For this, the reference surface is z=0.

HepVector Track::GetLocalParameters ( const ReferenceFrame frame) const

Get local track parameters for given detector, using misaligned state. No boundary checking.

for storing the results

first part: get local intersection coordinates

track is parallel to plane, should not happen here because checked previously

HepVector * Track::IntersectionWithPlane ( const ReferenceFrame frame) const

Get intersection of track with a plane in global coordinate system.

Compute the intersection point of the track with plane given by "reference frame" in global coordinates.

The plane is parametrized by {x} * {n} = d. The track is parametrized by {x} = {x}_0 + * ({x}_1 - {x}_0) . No boundary checking is performed.

direction of track

get distance from origin of detector

intersection

HepMatrix Track::Jacobian ( const ReferenceFrame frame) const

Jacobian matrix of local to global track parameters.

This method calculates the derivatives of local track parameters to global track parameters for the given reference frame.

Hit * Track::MisalignedIntersection ( const Det adet) const

Compute the hit position of the track with a detector in misaligned state.

Compute the intersection with the detector and return a Hit. Boundary checking is performed. In case the hit is outside the detector bounds, a null pointer is retuned.

Returns null pointer if no hit in this detector, else returns the hit.

Compute intersection with detector plane

check detector bounds

Hit * Track::NominalIntersection ( const Det adet) const

Compute the hit position of the track with a detector in nominal state.

Returns null pointer if no hit in this detector, else returns the hit.

Compute intersection with detector plane

check detector bounds

void Track::SetGlobalParameters ( CLHEP::HepVector  p)

Given parameters p, compute origin, direction and finally destination.


Member Data Documentation

std::vector<Hit *> Track::fHits [protected]

vector of hits that the track has in the detector. Can be empty and needs to be filled externally, e.g. during simulation or reconstruction. However, the track takes ownership of the hits, i.e. deletes them in the destructor.

double Track::fMomentum [protected]

Track momentum in GeV. It is used only for multiple scattering. The particle is assumed to be a muon.


The documentation for this class was generated from the following files:
  • /home/mweber/Dokumente/CMS/Alignment/kalmanalignment/trunk/simulation/Track.h
  • /home/mweber/Dokumente/CMS/Alignment/kalmanalignment/trunk/simulation/Track.cc