CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
BasicTrajectoryState Class Referenceabstract

#include <BasicTrajectoryState.h>

Inheritance diagram for BasicTrajectoryState:
BasicMultiTrajectoryState BasicSingleTrajectoryState

Public Types

typedef BasicTrajectoryState BTSOS
 
using Components = std::vector< TrajectoryStateOnSurface >
 
typedef Proxy::pointer pointer
 
typedef ProxyBase11< BTSOSProxy
 
typedef
SurfaceSideDefinition::SurfaceSide 
SurfaceSide
 
typedef Surface SurfaceType
 

Public Member Functions

 BasicTrajectoryState ()
 
 BasicTrajectoryState (const SurfaceType &aSurface)
 construct invalid trajectory state (without parameters) More...
 
 BasicTrajectoryState (const FreeTrajectoryState &fts, const SurfaceType &aSurface, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
 BasicTrajectoryState (const LocalTrajectoryParameters &par, const LocalTrajectoryError &err, const SurfaceType &aSurface, const MagneticField *field, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
 BasicTrajectoryState (const LocalTrajectoryParameters &par, const SurfaceType &aSurface, const MagneticField *field, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
 BasicTrajectoryState (const GlobalTrajectoryParameters &par, const CartesianTrajectoryError &err, const SurfaceType &aSurface, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
 BasicTrajectoryState (const GlobalTrajectoryParameters &par, const CurvilinearTrajectoryError &err, const SurfaceType &aSurface, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
 BasicTrajectoryState (const GlobalTrajectoryParameters &par, const SurfaceType &aSurface, const SurfaceSide side=SurfaceSideDefinition::atCenterOfSurface)
 
template<typename... Args>
 BasicTrajectoryState (double iweight, Args &&...args)
 
virtual bool canUpdateLocalParameters () const
 
const CartesianTrajectoryError cartesianError () const
 
TrackCharge charge () const
 
virtual pointer clone () const =0
 
virtual Components const & components () const =0
 
const CurvilinearTrajectoryErrorcurvilinearError () const
 
FreeTrajectoryState const * freeTrajectoryState (bool withErrors=true) const
 
GlobalVector globalDirection () const
 
GlobalVector globalMomentum () const
 
const GlobalTrajectoryParametersglobalParameters () const
 
GlobalPoint globalPosition () const
 
bool hasError () const
 
bool isValid () const
 
LocalVector localDirection () const
 
const LocalTrajectoryErrorlocalError () const
 
LocalVector localMomentum () const
 
const LocalTrajectoryParameterslocalParameters () const
 
LocalPoint localPosition () const
 
const MagneticFieldmagneticField () const
 
void rescaleError (double factor)
 
CurvilinearTrajectoryErrorsetCurvilinearError ()
 
double signedInverseMomentum () const
 
virtual bool singleState () const =0
 
const SurfaceTypesurface () const
 
SurfaceSide surfaceSide () const
 Position relative to material, defined relative to momentum vector. More...
 
double transverseCurvature () const
 
virtual void update (const LocalTrajectoryParameters &p, const SurfaceType &aSurface, const MagneticField *field, const SurfaceSide side)
 
virtual void update (const LocalTrajectoryParameters &p, const SurfaceSide side) final
 
virtual void update (double weight, const LocalTrajectoryParameters &p, const LocalTrajectoryError &err, const SurfaceType &aSurface, const MagneticField *field, const SurfaceSide side)
 
virtual void update (const LocalTrajectoryParameters &p, const LocalTrajectoryError &err, const SurfaceSide side) final
 
double weight () const
 
virtual ~BasicTrajectoryState ()
 

Static Public Member Functions

template<typename T , typename... Args>
static std::shared_ptr< BTSOSbuild (Args &&...args)
 
template<typename T , typename... Args>
static std::shared_ptr< BTSOSchurn (Args &&...args)
 

Private Member Functions

void checkCurvilinError () const
 
void createLocalError () const
 
void createLocalErrorFromCurvilinearError () const
 
void createLocalParameters () const
 
void missingError (char const *where) const
 

Static Private Member Functions

static void notValid ()
 

Private Attributes

FreeTrajectoryState theFreeState
 
LocalTrajectoryError theLocalError
 
LocalTrajectoryParameters theLocalParameters
 
bool theLocalParametersValid
 
ConstReferenceCountingPointer
< SurfaceType
theSurfaceP
 
SurfaceSide theSurfaceSide
 
bool theValid
 
double theWeight =0.
 

Detailed Description

No so Abstract (anyore) base class for TrajectoryState. It is ReferenceCounted.

VI 8/12/2011 content of BasicSingleTrajectoryState moved here.... fully devirtualized

Definition at line 63 of file BasicTrajectoryState.h.

Member Typedef Documentation

Definition at line 66 of file BasicTrajectoryState.h.

Definition at line 298 of file BasicTrajectoryState.h.

Definition at line 68 of file BasicTrajectoryState.h.

Definition at line 67 of file BasicTrajectoryState.h.

Definition at line 69 of file BasicTrajectoryState.h.

Definition at line 70 of file BasicTrajectoryState.h.

Constructor & Destructor Documentation

BasicTrajectoryState::BasicTrajectoryState ( )
inline

Definition at line 75 of file BasicTrajectoryState.h.

BasicTrajectoryState::BasicTrajectoryState ( const SurfaceType aSurface)
explicit

construct invalid trajectory state (without parameters)

Definition at line 42 of file BasicTrajectoryState.cc.

BasicTrajectoryState::~BasicTrajectoryState ( )
virtual

Definition at line 40 of file BasicTrajectoryState.cc.

40 {}
BasicTrajectoryState::BasicTrajectoryState ( const FreeTrajectoryState fts,
const SurfaceType aSurface,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)

Constructor from FTS and surface. For surfaces with material the side of the surface should be specified explicitely.

Definition at line 78 of file BasicTrajectoryState.cc.

80  :
81  theFreeState(fts),
85  theValid(true),
86  theSurfaceSide(side),
87  theSurfaceP( &aSurface),
88  theWeight(1.)
89 {}
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
BasicTrajectoryState::BasicTrajectoryState ( const LocalTrajectoryParameters par,
const LocalTrajectoryError err,
const SurfaceType aSurface,
const MagneticField field,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)

Constructor from local parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely. For multi-states the weight should be specified explicitely.

Definition at line 110 of file BasicTrajectoryState.cc.

114  :
115  theFreeState(makeFTS(par,aSurface,field)),
116  theLocalError(err),
117  theLocalParameters(par),
119  theValid(true),
120  theSurfaceSide(side),
121  theSurfaceP( &aSurface),
122  theWeight(1.)
123 {}
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
BasicTrajectoryState::BasicTrajectoryState ( const LocalTrajectoryParameters par,
const SurfaceType aSurface,
const MagneticField field,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)
inline

Constructor from local parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely.

Definition at line 115 of file BasicTrajectoryState.h.

118  :
119  BasicTrajectoryState(par, InvalidError(), aSurface, field, side){}
BasicTrajectoryState::BasicTrajectoryState ( const GlobalTrajectoryParameters par,
const CartesianTrajectoryError err,
const SurfaceType aSurface,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)

Constructor from global parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely.

Definition at line 93 of file BasicTrajectoryState.cc.

96  :
97  theFreeState(par, err),
101  theValid(true),
102  theSurfaceSide(side),
103  theSurfaceP( &aSurface),
104  theWeight(1.)
105 {}
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
BasicTrajectoryState::BasicTrajectoryState ( const GlobalTrajectoryParameters par,
const CurvilinearTrajectoryError err,
const SurfaceType aSurface,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)
inline

Constructor from global parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely. For multi-states the weight should be specified explicitely.

Definition at line 136 of file BasicTrajectoryState.h.

139  :
140  theFreeState(par, err),
144  theValid(true),
145  theSurfaceSide(side),
146  theSurfaceP( &aSurface),
147  theWeight(1.)
148  {}
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
BasicTrajectoryState::BasicTrajectoryState ( const GlobalTrajectoryParameters par,
const SurfaceType aSurface,
const SurfaceSide  side = SurfaceSideDefinition::atCenterOfSurface 
)
inline

Constructor from global parameters and surface. For surfaces with material the side of the surface should be specified explicitely.

Definition at line 154 of file BasicTrajectoryState.h.

156  :
157  BasicTrajectoryState(par, InvalidError(), aSurface, side){}
template<typename... Args>
BasicTrajectoryState::BasicTrajectoryState ( double  iweight,
Args &&...  args 
)
inline

Definition at line 162 of file BasicTrajectoryState.h.

References theWeight.

162  : BasicTrajectoryState(std::forward<Args>(args)...) {
163  theWeight = iweight;
164  }

Member Function Documentation

template<typename T , typename... Args>
static std::shared_ptr<BTSOS> BasicTrajectoryState::build ( Args &&...  args)
inlinestatic

Definition at line 85 of file BasicTrajectoryState.h.

References createfilelist::args.

85 { return std::make_shared<T>(std::forward<Args>(args)...);}
virtual bool BasicTrajectoryState::canUpdateLocalParameters ( ) const
inlinevirtual

Reimplemented in BasicMultiTrajectoryState.

Definition at line 269 of file BasicTrajectoryState.h.

269 { return true; }
const CartesianTrajectoryError BasicTrajectoryState::cartesianError ( ) const
inline

Definition at line 194 of file BasicTrajectoryState.h.

References FreeTrajectoryState::cartesianError(), freeTrajectoryState(), hasError(), missingError(), and unlikely.

194  {
195  if unlikely(!hasError()) {
196  missingError(" accesing cartesian error.");
197  return CartesianTrajectoryError();
198  }
199  return freeTrajectoryState(true)->cartesianError();
200  }
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
CartesianTrajectoryError cartesianError() const
#define unlikely(x)
void missingError(char const *where) const
TrackCharge BasicTrajectoryState::charge ( void  ) const
inline

Definition at line 184 of file BasicTrajectoryState.h.

References FreeTrajectoryState::charge(), and theFreeState.

Referenced by PixelTrackBuilder::build().

184  {
185  return theFreeState.charge();
186  }
TrackCharge charge() const
FreeTrajectoryState theFreeState
void BasicTrajectoryState::checkCurvilinError ( ) const
private

Definition at line 165 of file BasicTrajectoryState.cc.

References createLocalParameters(), globalParameters(), FreeTrajectoryState::hasCurvilinearError(), JacobianLocalToCurvilinear::jacobian(), likely, localParameters(), magneticField(), LocalTrajectoryError::matrix(), FreeTrajectoryState::setCurvilinearError(), surface(), theFreeState, theLocalError, theLocalParametersValid, and unlikely.

Referenced by freeTrajectoryState().

165  {
167 
169 
171  const AlgebraicMatrix55& jac = loc2Curv.jacobian();
172  const AlgebraicSymMatrix55 &cov = ROOT::Math::Similarity(jac, theLocalError.matrix());
173 
175 
176  verifyLocalErr(theLocalError,theFreeState);
177  verifyCurvErr(cov,theFreeState);
178 }
CurvilinearTrajectoryError & setCurvilinearError()
const MagneticField * magneticField() const
bool hasCurvilinearError() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
#define unlikely(x)
#define likely(x)
void createLocalParameters() const
const SurfaceType & surface() const
const GlobalTrajectoryParameters & globalParameters() const
FreeTrajectoryState theFreeState
const LocalTrajectoryParameters & localParameters() const
LocalTrajectoryError theLocalError
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
template<typename T , typename... Args>
static std::shared_ptr<BTSOS> BasicTrajectoryState::churn ( Args &&...  args)
inlinestatic

Definition at line 88 of file BasicTrajectoryState.h.

References createfilelist::args.

88 { return std::allocate_shared<T>(churn_allocator<T>(),std::forward<Args>(args)...);}
virtual pointer BasicTrajectoryState::clone ( ) const
pure virtual
virtual Components const& BasicTrajectoryState::components ( ) const
pure virtual
void BasicTrajectoryState::createLocalError ( ) const
private
void BasicTrajectoryState::createLocalErrorFromCurvilinearError ( ) const
private

Definition at line 201 of file BasicTrajectoryState.cc.

References FreeTrajectoryState::curvilinearError(), globalParameters(), JacobianCurvilinearToLocal::jacobian(), localParameters(), magneticField(), CurvilinearTrajectoryError::matrix(), surface(), theFreeState, and theLocalError.

Referenced by createLocalError().

201  {
202 
204  const AlgebraicMatrix55 & jac = curv2Loc.jacobian();
205 
206  theLocalError = ROOT::Math::Similarity(jac, theFreeState.curvilinearError().matrix());
207 
208  verifyCurvErr(theFreeState.curvilinearError(),theFreeState);
209  verifyLocalErr(theLocalError,theFreeState);
210 
211 }
const MagneticField * magneticField() const
const CurvilinearTrajectoryError & curvilinearError() const
const SurfaceType & surface() const
const GlobalTrajectoryParameters & globalParameters() const
FreeTrajectoryState theFreeState
const LocalTrajectoryParameters & localParameters() const
const AlgebraicSymMatrix55 & matrix() const
LocalTrajectoryError theLocalError
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
void BasicTrajectoryState::createLocalParameters ( ) const
private

Definition at line 183 of file BasicTrajectoryState.cc.

References FreeTrajectoryState::charge(), PV3DBase< T, PVType, FrameType >::mag(), FreeTrajectoryState::momentum(), FreeTrajectoryState::position(), FreeTrajectoryState::signedInverseMomentum(), surface(), theFreeState, theLocalParameters, theLocalParametersValid, GloballyPositioned< T >::toLocal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by checkCurvilinError(), and localParameters().

183  {
186 // believe p.z() never exactly equals 0.
187  bool isCharged = theFreeState.charge()!=0;
190  p.x()/p.z(), p.y()/p.z(), x.x(), x.y(), p.z()>0. ? 1.:-1., isCharged);
192 }
T y() const
Definition: PV3DBase.h:63
TrackCharge charge() const
T mag() const
Definition: PV3DBase.h:67
LocalPoint toLocal(const GlobalPoint &gp) const
T z() const
Definition: PV3DBase.h:64
GlobalVector momentum() const
GlobalPoint position() const
const SurfaceType & surface() const
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
T x() const
Definition: PV3DBase.h:62
double signedInverseMomentum() const
const CurvilinearTrajectoryError& BasicTrajectoryState::curvilinearError ( ) const
inline

Definition at line 201 of file BasicTrajectoryState.h.

References FreeTrajectoryState::curvilinearError(), freeTrajectoryState(), hasError(), missingError(), and unlikely.

Referenced by PixelTrackBuilder::build().

201  {
202  if unlikely(!hasError()) {
203  missingError(" accesing curvilinearerror.");
204  static const CurvilinearTrajectoryError crap;
205  return crap;
206  }
207  return freeTrajectoryState(true)->curvilinearError();
208  }
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
const CurvilinearTrajectoryError & curvilinearError() const
#define unlikely(x)
void missingError(char const *where) const
FreeTrajectoryState const* BasicTrajectoryState::freeTrajectoryState ( bool  withErrors = true) const
inline

Definition at line 212 of file BasicTrajectoryState.h.

References checkCurvilinError(), hasError(), isValid(), notValid(), theFreeState, and unlikely.

Referenced by cartesianError(), and curvilinearError().

212  {
213  if unlikely(!isValid()) notValid();
214  if(withErrors && hasError()) { // this is the right thing
216  }
217  return &theFreeState;
218  }
#define unlikely(x)
FreeTrajectoryState theFreeState
if(dp >Float(M_PI)) dp-
GlobalVector BasicTrajectoryState::globalDirection ( ) const
inline

Definition at line 181 of file BasicTrajectoryState.h.

References FreeTrajectoryState::momentum(), theFreeState, and Vector3DBase< T, FrameTag >::unit().

181  {
182  return theFreeState.momentum().unit();
183  }
GlobalVector momentum() const
Vector3DBase unit() const
Definition: Vector3DBase.h:57
FreeTrajectoryState theFreeState
GlobalVector BasicTrajectoryState::globalMomentum ( ) const
inline

Definition at line 178 of file BasicTrajectoryState.h.

References FreeTrajectoryState::momentum(), and theFreeState.

Referenced by PixelTrackBuilder::build().

178  {
179  return theFreeState.momentum();
180  }
GlobalVector momentum() const
FreeTrajectoryState theFreeState
const GlobalTrajectoryParameters& BasicTrajectoryState::globalParameters ( void  ) const
inline

Definition at line 172 of file BasicTrajectoryState.h.

References FreeTrajectoryState::parameters(), and theFreeState.

Referenced by checkCurvilinError(), and createLocalErrorFromCurvilinearError().

172  {
173  return theFreeState.parameters();
174  }
const GlobalTrajectoryParameters & parameters() const
FreeTrajectoryState theFreeState
GlobalPoint BasicTrajectoryState::globalPosition ( ) const
inline

Definition at line 175 of file BasicTrajectoryState.h.

References FreeTrajectoryState::position(), and theFreeState.

Referenced by PixelTrackBuilder::build().

175  {
176  return theFreeState.position();
177  }
GlobalPoint position() const
FreeTrajectoryState theFreeState
bool BasicTrajectoryState::hasError ( void  ) const
inline
bool BasicTrajectoryState::isValid ( void  ) const
inline
LocalVector BasicTrajectoryState::localDirection ( ) const
inline

Definition at line 236 of file BasicTrajectoryState.h.

References localMomentum(), and Vector3DBase< T, FrameTag >::unit().

236  {
237  return localMomentum().unit();
238  }
Vector3DBase unit() const
Definition: Vector3DBase.h:57
LocalVector localMomentum() const
const LocalTrajectoryError& BasicTrajectoryState::localError ( ) const
inline

Definition at line 240 of file BasicTrajectoryState.h.

References createLocalError(), hasError(), LocalTrajectoryError::invalid(), missingError(), theLocalError, and unlikely.

240  {
241  if unlikely(!hasError()) {
242  missingError(" accessing local error.");
243  return theLocalError;
244  }
246  return theLocalError;
247  }
#define unlikely(x)
void missingError(char const *where) const
LocalTrajectoryError theLocalError
LocalVector BasicTrajectoryState::localMomentum ( ) const
inline

Definition at line 233 of file BasicTrajectoryState.h.

References localParameters(), and LocalTrajectoryParameters::momentum().

Referenced by localDirection().

233  {
234  return localParameters().momentum();
235  }
LocalVector momentum() const
Momentum vector in the local frame.
const LocalTrajectoryParameters & localParameters() const
const LocalTrajectoryParameters& BasicTrajectoryState::localParameters ( ) const
inline

Definition at line 224 of file BasicTrajectoryState.h.

References createLocalParameters(), isValid(), notValid(), theLocalParameters, theLocalParametersValid, and unlikely.

Referenced by checkCurvilinError(), createLocalErrorFromCurvilinearError(), localMomentum(), and localPosition().

224  {
225  if unlikely(!isValid()) notValid();
229  }
#define unlikely(x)
void createLocalParameters() const
return(e1-e2)*(e1-e2)+dp *dp
if(dp >Float(M_PI)) dp-
LocalTrajectoryParameters theLocalParameters
LocalPoint BasicTrajectoryState::localPosition ( ) const
inline

Definition at line 230 of file BasicTrajectoryState.h.

References localParameters(), and LocalTrajectoryParameters::position().

230  {
231  return localParameters().position();
232  }
LocalPoint position() const
Local x and y position coordinates.
const LocalTrajectoryParameters & localParameters() const
const MagneticField* BasicTrajectoryState::magneticField ( ) const
inline
void BasicTrajectoryState::missingError ( char const *  where) const
private

Definition at line 151 of file BasicTrajectoryState.cc.

References LocalTrajectoryError::matrix(), theFreeState, theLocalError, and LocalTrajectoryError::valid().

Referenced by cartesianError(), curvilinearError(), localError(), and rescaleError().

151  {
152  std::stringstream form;
153  form<<"BasicTrajectoryState: attempt to access errors when none available "
154  <<where<<".\nfreestate pointer: " <<theFreeState
155  <<"\nlocal error valid/values :"<< theLocalError.valid() << "\n"
156  << theLocalError.matrix();
157 
158  edm::LogWarning("BasicTrajectoryState") << form.str();
159 
160  // throw TrajectoryStateException(form.str());
161 }
const AlgebraicSymMatrix55 & matrix() const
FreeTrajectoryState theFreeState
LocalTrajectoryError theLocalError
void BasicTrajectoryState::notValid ( )
staticprivate

Definition at line 129 of file BasicTrajectoryState.cc.

Referenced by freeTrajectoryState(), and localParameters().

129  {
130  throw TrajectoryStateException("TrajectoryStateOnSurface is invalid and cannot return any parameters");
131 }
void BasicTrajectoryState::rescaleError ( double  factor)

Definition at line 282 of file BasicTrajectoryState.cc.

References benchmark_cfg::errors, V0MonitoringClient_cfi::factor, hasError(), i, j, magneticField(), LocalTrajectoryError::matrix(), missingError(), MagneticField::nominalValue(), FreeTrajectoryState::rescaleError(), theFreeState, theLocalError, unlikely, and LocalTrajectoryError::valid().

282  {
283  if unlikely(!hasError()) missingError(" trying to rescale");
285 
286  if (theLocalError.valid()){
287  //do it by hand if the free state is not around.
288  bool zeroField = (magneticField()->nominalValue()==0);
289  if unlikely(zeroField){
291  //scale the 0 indexed covariance by the square root of the factor
292  for (unsigned int i=1;i!=5;++i) errors(i,0)*=factor;
293  double factor_squared=factor*factor;
294  //scale all others by the scaled factor
295  for (unsigned int i=1;i!=5;++i) for (unsigned int j=i;j!=5;++j) errors(i,j)*=factor_squared;
296  //term 0,0 is not scaled at all
298  }
299  else theLocalError *= (factor*factor);
300  }
301 }
int i
Definition: DBlmapReader.cc:9
const MagneticField * magneticField() const
int nominalValue() const
The nominal field value for this map in kGauss.
Definition: MagneticField.h:56
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
void rescaleError(double factor)
#define unlikely(x)
int j
Definition: DBlmapReader.cc:9
const AlgebraicSymMatrix55 & matrix() const
FreeTrajectoryState theFreeState
void missingError(char const *where) const
if(dp >Float(M_PI)) dp-
LocalTrajectoryError theLocalError
CurvilinearTrajectoryError& BasicTrajectoryState::setCurvilinearError ( )
inline

Definition at line 293 of file BasicTrajectoryState.h.

References FreeTrajectoryState::setCurvilinearError(), and theFreeState.

293  {
295  }
FreeTrajectoryState theFreeState
CurvilinearTrajectoryError & setCurvilinearError()
double BasicTrajectoryState::signedInverseMomentum ( ) const
inline

Definition at line 187 of file BasicTrajectoryState.h.

References FreeTrajectoryState::signedInverseMomentum(), and theFreeState.

187  {
189  }
FreeTrajectoryState theFreeState
double signedInverseMomentum() const
virtual bool BasicTrajectoryState::singleState ( ) const
pure virtual
const SurfaceType& BasicTrajectoryState::surface ( ) const
inline

Definition at line 249 of file BasicTrajectoryState.h.

References theSurfaceP.

Referenced by checkCurvilinError(), createLocalErrorFromCurvilinearError(), createLocalParameters(), and update().

249  {
250  return *theSurfaceP;
251  }
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
SurfaceSide BasicTrajectoryState::surfaceSide ( ) const
inline

Position relative to material, defined relative to momentum vector.

Definition at line 260 of file BasicTrajectoryState.h.

References theSurfaceSide.

260  {
261  return theSurfaceSide;
262  }
double BasicTrajectoryState::transverseCurvature ( ) const
inline

Definition at line 190 of file BasicTrajectoryState.h.

References theFreeState, and FreeTrajectoryState::transverseCurvature().

190  {
192  }
FreeTrajectoryState theFreeState
double transverseCurvature() const
void BasicTrajectoryState::update ( const LocalTrajectoryParameters p,
const SurfaceType aSurface,
const MagneticField field,
const SurfaceSide  side 
)
virtual

Reimplemented in BasicMultiTrajectoryState.

Definition at line 230 of file BasicTrajectoryState.cc.

References AlCaHLTBitMon_ParallelJobs::p, theFreeState, theLocalError, theLocalParameters, theLocalParametersValid, theSurfaceP, theSurfaceSide, theValid, and theWeight.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), BasicMultiTrajectoryState::combine(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

234 {
236  if (&aSurface != &*theSurfaceP) theSurfaceP.reset(&aSurface);
237  theSurfaceSide = side;
238  theWeight = 1.0;
240  theFreeState=makeFTS(p,aSurface,field);
241 
242  theValid = true;
244 }
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
void BasicTrajectoryState::update ( const LocalTrajectoryParameters p,
const SurfaceSide  side 
)
finalvirtual

Definition at line 217 of file BasicTrajectoryState.cc.

References magneticField(), GlobalTrajectoryParameters::magneticFieldInTesla(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::parameters(), surface(), theFreeState, theLocalError, theLocalParameters, theLocalParametersValid, theSurfaceSide, and theValid.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

217  {
219  theSurfaceSide = side;
222 
223  theValid = true;
225 
226 }
const MagneticField * magneticField() const
const GlobalTrajectoryParameters & parameters() const
GlobalVector magneticFieldInTesla() const
const SurfaceType & surface() const
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
void BasicTrajectoryState::update ( double  weight,
const LocalTrajectoryParameters p,
const LocalTrajectoryError err,
const SurfaceType aSurface,
const MagneticField field,
const SurfaceSide  side 
)
virtual

Reimplemented in BasicMultiTrajectoryState.

Definition at line 247 of file BasicTrajectoryState.cc.

References AlCaHLTBitMon_ParallelJobs::p, theFreeState, theLocalError, theLocalParameters, theLocalParametersValid, theSurfaceP, theSurfaceSide, theValid, theWeight, and weight().

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

253 {
255  theLocalError = err;
256  if (&aSurface != &*theSurfaceP) theSurfaceP.reset(&aSurface);
257  theSurfaceSide = side;
258  theWeight = weight;
259  theFreeState=makeFTS(p,aSurface,field);
260 
261  theValid = true;
263 }
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
void BasicTrajectoryState::update ( const LocalTrajectoryParameters p,
const LocalTrajectoryError err,
const SurfaceSide  side 
)
finalvirtual

Definition at line 267 of file BasicTrajectoryState.cc.

References magneticField(), GlobalTrajectoryParameters::magneticFieldInTesla(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::parameters(), surface(), theFreeState, theLocalError, theLocalParameters, theLocalParametersValid, theSurfaceSide, and theValid.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

270 {
272  theLocalError = err;
273  theSurfaceSide = side;
275 
276  theValid = true;
278 }
const MagneticField * magneticField() const
const GlobalTrajectoryParameters & parameters() const
GlobalVector magneticFieldInTesla() const
const SurfaceType & surface() const
FreeTrajectoryState theFreeState
LocalTrajectoryParameters theLocalParameters
LocalTrajectoryError theLocalError
double BasicTrajectoryState::weight ( void  ) const
inline

Member Data Documentation

FreeTrajectoryState BasicTrajectoryState::theFreeState
mutableprivate
LocalTrajectoryError BasicTrajectoryState::theLocalError
mutableprivate
LocalTrajectoryParameters BasicTrajectoryState::theLocalParameters
mutableprivate

Definition at line 323 of file BasicTrajectoryState.h.

Referenced by createLocalParameters(), localParameters(), and update().

bool BasicTrajectoryState::theLocalParametersValid
mutableprivate
ConstReferenceCountingPointer<SurfaceType> BasicTrajectoryState::theSurfaceP
private

Definition at line 330 of file BasicTrajectoryState.h.

Referenced by surface(), and update().

SurfaceSide BasicTrajectoryState::theSurfaceSide
private

Definition at line 329 of file BasicTrajectoryState.h.

Referenced by surfaceSide(), and update().

bool BasicTrajectoryState::theValid
mutableprivate

Definition at line 326 of file BasicTrajectoryState.h.

Referenced by isValid(), and update().

double BasicTrajectoryState::theWeight =0.
private

Definition at line 332 of file BasicTrajectoryState.h.

Referenced by BasicTrajectoryState(), update(), and weight().