GeneralBrokenLines V03-01-01
using EIGEN
Classes | Typedefs | Enumerations | Functions
gbl Namespace Reference

Namespace for the general broken lines package. More...

Classes

class  BorderedBandMatrix
 (Symmetric) Bordered Band Matrix. More...
 
class  GblData
 Data (block) for independent scalar measurement. More...
 
class  GblDetectorLayer
 Detector layer. More...
 
class  GblHelixPrediction
 Prediction on helix. More...
 
class  GblMeasurement
 Measurement at point. More...
 
class  GblPoint
 Point on trajectory. More...
 
class  GblSimpleHelix
 Simple helix. More...
 
class  GblTrajectory
 GBL trajectory. More...
 
class  MilleBinary
 Millepede-II (binary) record. More...
 
class  VMatrix
 Simple Matrix based on std::vector<double> More...
 
class  VSymMatrix
 Simple symmetric Matrix based on std::vector<double> More...
 
class  VVector
 Simple Vector based on std::vector<double> More...
 

Typedefs

typedef Eigen::Matrix< double, 5, 5 > Matrix5d
 
typedef Eigen::Matrix< double, 4, 9 > Matrix49d
 
typedef Eigen::Matrix< double, 5, 1 > Vector5d
 
typedef Eigen::Matrix< double, 2, 3 > Matrix23d
 
typedef Eigen::Matrix< double, 2, 5 > Matrix25d
 
typedef Eigen::Matrix< double, 3, 2 > Matrix32d
 

Enumerations

enum  dataBlockType {
  None , InternalMeasurement , InternalKink , ExternalSeed ,
  ExternalMeasurement
}
 

Functions

GblDetectorLayer CreateLayerDc (const std::string aName, unsigned int layer, double xPos, double yPos, double zPos, double thickness, double xzAngle, double stereoAngle, double uRes)
 Create a drift chamber layer with 1D measurement. More...
 
GblDetectorLayer CreateLayerSit (const std::string aName, unsigned int layer, double xPos, double yPos, double zPos, double thickness, double uAngle, double uRes)
 Create a silicon layer with 1D measurement. More...
 
GblDetectorLayer CreateLayerSit (const std::string aName, unsigned int layer, double xPos, double yPos, double zPos, double thickness, double uAngle, double uRes, double vAngle, double vRes)
 Create a silicon layer with 2D measurement. More...
 
GblDetectorLayer CreateWireCdc (const std::string aName, unsigned int layer, double xPos, double yPos, double zPos, double phi, double tanLambda, double stereoAngle, double uRes)
 Create a drift chamber wire with 1D measurement. More...
 
GblDetectorLayer CreateImpactPar (const std::string aName, unsigned int layer, double xPos, double yPos, double zPos, double phi, double tanLambda, double xRes, double yRes, double zRes)
 Create detector plane for impact parameters as 2D measurement. More...
 
double gblMultipleScatteringError (double qbyp, double xbyx0)
 Multiple scattering error. More...
 
Matrix5d gblSimpleJacobian (double ds, double cosl, double bfac)
 Simple jacobian. More...
 
double unrm ()
 unit normal distribution, Box-Muller method, polar form More...
 
double unif ()
 uniform distribution [0..1] More...
 

Detailed Description

Namespace for the general broken lines package.

Typedef Documentation

◆ Matrix23d

typedef Eigen::Matrix< double, 2, 3 > gbl::Matrix23d

Definition at line 52 of file GblMeasurement.h.

◆ Matrix25d

typedef Eigen::Matrix< double, 2, 5 > gbl::Matrix25d

Definition at line 53 of file GblMeasurement.h.

◆ Matrix32d

typedef Eigen::Matrix< double, 3, 2 > gbl::Matrix32d

Definition at line 54 of file GblMeasurement.h.

◆ Matrix49d

typedef Eigen::Matrix< double, 4, 9 > gbl::Matrix49d

Definition at line 47 of file GblData.h.

◆ Matrix5d

typedef Eigen::Matrix< double, 5, 5 > gbl::Matrix5d

Definition at line 46 of file GblData.h.

◆ Vector5d

typedef Eigen::Matrix< double, 5, 1 > gbl::Vector5d

Definition at line 51 of file GblMeasurement.h.

Enumeration Type Documentation

◆ dataBlockType

Enumerator
None 
InternalMeasurement 
InternalKink 
ExternalSeed 
ExternalMeasurement 

Definition at line 49 of file GblData.h.

Function Documentation

◆ CreateImpactPar()

GblDetectorLayer gbl::CreateImpactPar ( const std::string  aName,
unsigned int  layer,
double  xPos,
double  yPos,
double  zPos,
double  phi,
double  tanLambda,
double  xRes,
double  yRes,
double  zRes 
)

Create detector plane for impact parameters as 2D measurement.

Parameters
[in]aNamename
[in]layerlayer ID
[in]xPosX-position (of center)
[in]yPosY-position (of center)
[in]zPosZ-position (of center)
[in]phitrack direction in XY
[in]tanLambdatrack direction in ZS
[in]xResresolution in x-direction
[in]yResresolution in y-direction
[in]zResresolution in z-direction

Definition at line 90 of file exampleUtilCdc.cpp.

Referenced by exampleComposedGeo(), and exampleComposedKin().

◆ CreateLayerDc()

GblDetectorLayer gbl::CreateLayerDc ( const std::string  aName,
unsigned int  layer,
double  xPos,
double  yPos,
double  zPos,
double  thickness,
double  xzAngle,
double  stereoAngle,
double  uRes 
)

Create a drift chamber layer with 1D measurement.

Create drift chamber layer with 1D measurement (u)

Parameters
[in]aNamename
[in]layerlayer ID
[in]xPosX-position (of center)
[in]yPosY-position (of center)
[in]zPosZ-position (of center)
[in]thicknessthickness / radiation_length
[in]xzAngleangle of normal in XZ plane
[in]stereoAnglestereo angle
[in]uResresolution in u-direction

Definition at line 305 of file exampleDc.cpp.

Referenced by exampleDc().

◆ CreateLayerSit() [1/2]

GblDetectorLayer gbl::CreateLayerSit ( const std::string  aName,
unsigned int  layer,
double  xPos,
double  yPos,
double  zPos,
double  thickness,
double  uAngle,
double  uRes 
)

Create a silicon layer with 1D measurement.

Create silicon layer with 1D measurement (u) at fixed X-position.

Parameters
[in]aNamename
[in]layerlayer ID
[in]xPosX-position (of center)
[in]yPosY-position (of center)
[in]zPosZ-position (of center)
[in]thicknessthickness / radiation_length
[in]uAngleangle of u-direction in YZ plane
[in]uResresolution in u-direction

Definition at line 278 of file exampleSit.cpp.

◆ CreateLayerSit() [2/2]

GblDetectorLayer gbl::CreateLayerSit ( const std::string  aName,
unsigned int  layer,
double  xPos,
double  yPos,
double  zPos,
double  thickness,
double  uAngle,
double  uRes,
double  vAngle,
double  vRes 
)

Create a silicon layer with 2D measurement.

Create silicon layer with 2D measurement (u,v) at fixed X-position. The measurement directions in the YZ plane can be orthogonal or non-orthogonal (but must be different).

Parameters
[in]aNamename
[in]layerlayer ID
[in]xPosX-position (of center)
[in]yPosY-position (of center)
[in]zPosZ-position (of center)
[in]thicknessthickness / radiation_length
[in]uAngleangle of u-direction in YZ plane
[in]uResresolution in u-direction
[in]vAngleangle of v-direction in YZ plane
[in]vResresolution in v-direction

Definition at line 311 of file exampleSit.cpp.

Referenced by exampleSit().

◆ CreateWireCdc()

GblDetectorLayer gbl::CreateWireCdc ( const std::string  aName,
unsigned int  layer,
double  xPos,
double  yPos,
double  zPos,
double  phi,
double  tanLambda,
double  stereoAngle,
double  uRes 
)

Create a drift chamber wire with 1D measurement.

Create drift chamber wire at given position with 1D measurement (u)

Parameters
[in]aNamename
[in]layerlayer ID
[in]xPosX-position (of center)
[in]yPosY-position (of center)
[in]zPosZ-position (of center)
[in]phitrack direction in XY
[in]tanLambdatrack direction in ZS
[in]stereoAnglestereo angle
[in]uResresolution in u-direction

Definition at line 50 of file exampleUtilCdc.cpp.

Referenced by exampleComposedGeo(), and exampleComposedKin().

◆ gblMultipleScatteringError()

double gbl::gblMultipleScatteringError ( double  qbyp,
double  xbyx0 
)

Multiple scattering error.

Angular error in plane, simple model (Rossi, Greisen, (1941))

Parameters
[in]qbypq/p [1/GeV]
[in]xbyx0thickness / radiation length

Definition at line 44 of file GblUtilities.cpp.

Referenced by exampleComposedGeo(), exampleComposedKin(), exampleDc(), and exampleSit().

◆ gblSimpleJacobian()

Eigen::Matrix< double, 5, 5 > gbl::gblSimpleJacobian ( double  ds,
double  cosl,
double  bfac 
)

Simple jacobian.

Simple jacobian for (q/p, slopes, offsets) in curvilinear system, constant magnetic field in Z direction, quadratic in arc length difference.

Parameters
[in]dsarc-length
[in]coslcos(lambda)
[in]bfacBz*c
Returns
jacobian to move by 'ds' on trajectory

Definition at line 58 of file GblUtilities.cpp.

Referenced by example1(), example2(), example3(), example4(), exampleComposedGeo(), exampleComposedKin(), exampleDc(), and exampleSit().

◆ unif()

double gbl::unif ( )

uniform distribution [0..1]

Definition at line 94 of file GblUtilities.cpp.

Referenced by exampleComposedGeo(), exampleComposedKin(), exampleDc(), and exampleSit().

◆ unrm()

double gbl::unrm ( )

unit normal distribution, Box-Muller method, polar form

Definition at line 69 of file GblUtilities.cpp.

Referenced by example1(), example2(), example3(), example4(), exampleComposedGeo(), exampleComposedKin(), exampleDc(), and exampleSit().