BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkBmSpotOnTrk.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkBmSpotOnTrk.h,v 1.1.1.1 2005/04/21 06:26:56 maqm Exp $
4//
5// Description:
6// Defines interface between Svt hit and track, and stores information
7// about fit. Used by fitters
8// Environment:
9// Software developed for the BaBar Detector at the SLAC B-Factory.
10//
11// Authors: Steve Schaffner
12//
13// Copyright (C) 1996 Stanford Linear Accelerator Center
14//------------------------------------------------------------------------
15
16#ifndef TRKBMSPOTONTRK_H
17#define TRKBMSPOTONTRK_H
18
19#include "TrkBase/TrkEnums.h"
20#include "TrkBase/TrkHitOnTrk.h"
21#include "TrkBase/TrkLineTraj.h"
22
23#include "CLHEP/Geometry/Point3D.h"
24#include "CLHEP/Matrix/SymMatrix.h"
25
26// Class interface //
27class TrkBmSpotOnTrk : public TrkHitOnTrk {
28public:
29 TrkBmSpotOnTrk( const HepPoint3D& ip, const HepSymMatrix& size );
31
32 TrkBmSpotOnTrk* clone( TrkRep*, const TrkDifTraj* t = 0 ) const;
34 virtual unsigned layerNumber() const { return 0; }
35
36 const Trajectory* hitTraj() const;
37 const HepPoint3D& ip() const;
38
39 // this hot has no timing information
40 virtual bool timeResid( double& t, double& tErr ) const { return false; }
41 virtual bool timeAbsolute( double& t, double& tErr ) const { return false; }
42
43protected:
44 TrkBmSpotOnTrk( const TrkBmSpotOnTrk& hitToBeCopied, TrkRep* newRep,
45 const TrkDifTraj* trkTraj = 0 );
46 virtual TrkErrCode updateMeasurement( const TrkDifTraj* traj, bool maintainAmbiguity );
47
48 static const TrkLineTraj FindBeamTrajectory( const HepPoint3D& point,
49 const HepSymMatrix& error );
50 double GetRms();
51
52private:
53 // Make sure these aren't used by mistake:
54 TrkBmSpotOnTrk& operator=( const TrkBmSpotOnTrk& );
56
57 const TrkLineTraj _beamTraj;
58 const HepPoint3D _ip;
59 const HepSymMatrix _size;
60};
61
62#endif
HepGeom::Point3D< double > HepPoint3D
TrkBmSpotOnTrk * clone(TrkRep *, const TrkDifTraj *t=0) const
virtual TrkErrCode updateMeasurement(const TrkDifTraj *traj, bool maintainAmbiguity)
const HepPoint3D & ip() const
double GetRms()
virtual TrkEnums::TrkViewInfo whatView() const
const Trajectory * hitTraj() const
TrkBmSpotOnTrk(const HepPoint3D &ip, const HepSymMatrix &size)
static const TrkLineTraj FindBeamTrajectory(const HepPoint3D &point, const HepSymMatrix &error)
virtual bool timeAbsolute(double &t, double &tErr) const
TrkBmSpotOnTrk(const TrkBmSpotOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
int t()
Definition t.c:1