9#include <tracking/dataobjects/ExtHit.h>
33 for (
int k = 0; k < 21; ++k) {
40 const ROOT::Math::XYZPoint& position,
const ROOT::Math::XYZVector& momentum,
const TMatrixDSym& covariance) :
56 for (
int i = 0; i < 6; ++i) {
57 for (
int j = 0; j <= i; ++j) {
65 const G4ThreeVector& position,
const G4ThreeVector& momentum,
const G4ErrorSymMatrix& covariance) :
81 for (
int i = 0; i < 6; ++i) {
82 for (
int j = 0; j <= i; ++j) {
103 for (
int k = 0; k < 21; ++k) {
122 for (
int k = 0; k < 21; ++k) {
133 for (
int i = 0; i < 6; ++i) {
134 for (
int j = 0; j <= i; ++j) {
143 const G4ThreeVector& momentum,
const G4ErrorSymMatrix& covariance)
154 for (
int i = 0; i < 6; ++i) {
155 for (
int j = 0; j <= i; ++j) {
175 TMatrixDSym covariance(3);
183 double perp =
sqrt(perpSq);
185 double r =
sqrt(rSq);
186 TMatrixD jacobian(3, 3);
192 jacobian[1][2] = -perp / rSq;
195 jacobian[2][2] = 0.0;
196 return (covariance.Similarity(jacobian))[i][i];
This class provides a set of constants for the framework.
EDetector
Enum for identifying the detector components (detector and subdetector).
ExtHit & operator=(const ExtHit &)
Assignment operator.
double getErrorPhi() const
Get the uncertainty in the azimuthal angle phi (radians)
double getErrorTheta() const
Get the uncertainty in the azimuthal angle phi (radians)
double getPolarCovariance(int i) const
Get diagonal elemment of the 3x3 position-covariance matrix in polar coordinates (r,...
float m_Momentum[3]
momentum (GeV/c)
TMatrixDSym getCovariance() const
Get phase-space covariance at this extrapolation hit.
void update(ExtHitStatus status, double t, const G4ThreeVector &r, const G4ThreeVector &p, const G4ErrorSymMatrix &e)
Update the parameters of this extrapolation hit.
float m_Covariance[21]
phase-space covariance (symmetric 6x6 linearized to 6*(6+1)/2: position & momentum in cm & GeV/c)
bool m_BackwardPropagation
Direction of track propagation.
Const::EDetector m_DetectorID
detector ID
float m_TOF
time of flight (ns)
ExtHit()
Empty constructor for ROOT IO (needed to make the class storable)
float m_Position[3]
position (cm)
ExtHitStatus m_Status
extrapolation state
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
double sqrt(double a)
sqrt for double
ExtHitStatus
Define state of extrapolation for each recorded hit.
Abstract base class for different kinds of events.