ATLAS Offline Software
Loading...
Searching...
No Matches
VP1ErrorUtils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7// //
8// Header file for class VP1ErrorUtils //
9// //
10// Description: Utilities for drawing errors for various //
11// measurements //
12// //
13// Author: Troels Kofoed Jacobsen //
14// Initial version: July 2008 //
15// //
16// Update: Riccardo Maria BIANCHI Feb 2014 //
17// //
19
20#ifndef VP1ERRORUTILS_H
21#define VP1ERRORUTILS_H
22
23//#include "CLHEP/Geometry/Point3D.h"
24//#include "TrkParameters/MeasuredTrackParameters.h"
26#include "EventPrimitives/EventPrimitives.h"// EDM include(s):
27
28
29
30typedef AmgSymMatrix(2) AmgCovMatrix;
31
32class SoSeparator;
33class SoGroup;
34class SoLineSet;
35
36namespace InDet { class PixelCluster; }
37namespace Trk {
38 class Surface;
39 class CovarianceMatrix;
40}
41
43{
44public:
45 static void errorAtPlaneSurface( SoSeparator* errSimple,
46 SoSeparator* errDetailed,
47 const AmgSymMatrix(5)& tmpCovMat,
48 const Trk::Surface* theSurface,
49 const Amg::Vector3D& p1,
50 const double& nStdDev=3.0,
51 int numNodes = 12,
52 const bool& moveToSurface = false,
53 const bool& force1D=false,
54 const bool& addTransform=true);
55
56 static void errorAtStraightLineSurface( SoSeparator* errSimple, SoSeparator* errDetailed,
57 const AmgSymMatrix(5)& tmpcovmat,
58 const Amg::Vector2D& localPos,
59 const Trk::Surface* theSurface,
60 const double& nStdDev=3.0,
61 const bool& drawZErrCircles=false,
62 const bool& drawCylinder=false,
63 int numNodes=12,
64 const bool& force1D=false,
65 const bool& addTransform=true);
66
67 static void addRotatedErrorEllipse( SoGroup* gr,
68 const AmgSymMatrix(5)& covmat,
69 const double& sigmaScale,
70 int numNodes=12,
71 const double& translate=0.0,
72 const bool& symmetric=false);
73
74 static void addSimple1DError( SoGroup* gr,
75 const double& error,
76 const double& sigmaScale,
77 const double& length);
78
79 static bool covMatrixIsSane( const AmgCovMatrix& covmat);
80 static bool covMatrixIsSane( const AmgSymMatrix(5)& covmat);
81};
82
83#endif
#define gr
#define AmgSymMatrix(dim)
double length(const pvec &v)
Abstract Base Class for tracking surfaces.
static void addSimple1DError(SoGroup *gr, const double &error, const double &sigmaScale, const double &length)
static void addRotatedErrorEllipse(SoGroup *gr, const AmgSymMatrix(5)&covmat, const double &sigmaScale, int numNodes=12, const double &translate=0.0, const bool &symmetric=false)
static bool covMatrixIsSane(const AmgCovMatrix &covmat)
returns false if there is a problem detected with the cov matrix
static void errorAtPlaneSurface(SoSeparator *errSimple, SoSeparator *errDetailed, const AmgSymMatrix(5)&tmpCovMat, const Trk::Surface *theSurface, const Amg::Vector3D &p1, const double &nStdDev=3.0, int numNodes=12, const bool &moveToSurface=false, const bool &force1D=false, const bool &addTransform=true)
static void errorAtStraightLineSurface(SoSeparator *errSimple, SoSeparator *errDetailed, const AmgSymMatrix(5)&tmpcovmat, const Amg::Vector2D &localPos, const Trk::Surface *theSurface, const double &nStdDev=3.0, const bool &drawZErrCircles=false, const bool &drawCylinder=false, int numNodes=12, const bool &force1D=false, const bool &addTransform=true)
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.