EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicKfNodeTemplate Class Referenceabstract

#include <EicRoot/blob/master/eic/tracking/EicTrackingDigiHitProducer.h>

+ Inheritance diagram for EicKfNodeTemplate:
+ Collaboration diagram for EicKfNodeTemplate:

Public Member Functions

 EicKfNodeTemplate (TGeoMatrix *node2sv=0)
 
 ~EicKfNodeTemplate ()
 
virtual bool CylindricalThreeDeeOnly () const
 
virtual bool CartesianThreeDeeOnly () const
 
virtual void FillGranularityArray (bool useCartesian, double spGranularity, double aGranularity, double gra[]) const =0
 
virtual double GetSmearingValue (double spSmearing, const EicTrackingDigiHit *hit, unsigned iq) const =0
 
virtual void FillMinMaxArrays (bool useCartesian, const std::set< double > &xMin, const std::set< double > &xMax, const std::set< double > &yMin, const std::set< double > &yMax, const std::set< double > &rMin, const std::set< double > &rMax, double min[], double max[]) const =0
 
virtual unsigned GetMdim () const =0
 
virtual double GetSigma (unsigned iq) const =0
 
virtual double GetPitch (unsigned iq) const =0
 
virtual double GetPixelCenterOffset (unsigned iq) const =0
 
virtual KfMatrixGetMeasurementNoise (const EicTrackingDigiHit *hit) const =0
 
virtual double GetSpatialSigma () const
 
virtual double GetAngularSigma () const
 
bool IsCompatible (const EicKfNodeTemplate *sample)
 
int IncrementLinearTrackFitMatrices (SensitiveVolume *sv, EicTrackingDigiHit *hit, double zRef, KfMatrix *A, KfMatrix *b)
 
virtual TVector3 TemplateToThreeDee (const double tmplCoord[]) const
 
virtual void ThreeDeeToTemplate (const TVector3 &crs, double tmplCoord[]) const
 
virtual void CartesianToCylindrical (const TVector3 &crs, double tmplCoord[]) const
 

Protected Member Functions

double GetSmearedValue (double value, unsigned iq, EicDigiHitProducer::SmearingModel smearing_model)
 
virtual void SmearLocalCoord (TVector3 &local, EicDigiHitProducer::SmearingModel smearing_model)=0
 
virtual void PackSmearedHit (TClonesArray *arr, const TString &detName, const EicMoCaPoint *point, unsigned kfNodeID, TVector3 &global, TVector3 &local)=0
 
void StoreDigiHit (TClonesArray *arr, const TString &detName, const EicMoCaPoint *point, unsigned kfNodeID, TVector3 &global, TVector3 &local, EicDigiHitProducer::SmearingModel smearing_model)
 

Private Attributes

TGeoMatrix * mNodeToSensitiveVolume
 

Friends

class EicTrackingDigiHitProducer
 
class EicHtcTask
 
class KalmanNodeWrapper
 

Detailed Description

Definition at line 23 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 23 of file EicTrackingDigiHitProducer.h

Constructor & Destructor Documentation

EicKfNodeTemplate::EicKfNodeTemplate ( TGeoMatrix *  node2sv = 0)
inline

Definition at line 30 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 30 of file EicTrackingDigiHitProducer.h

EicKfNodeTemplate::~EicKfNodeTemplate ( )
inline

Definition at line 31 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 31 of file EicTrackingDigiHitProducer.h

Member Function Documentation

virtual bool EicKfNodeTemplate::CartesianThreeDeeOnly ( ) const
inlinevirtual

Reimplemented in EicKfNodeTemplateLinear1D.

Definition at line 37 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 37 of file EicTrackingDigiHitProducer.h

Referenced by FwdHoughTree::AddNodeGroup(), and IsCompatible().

+ Here is the caller graph for this function:

virtual void EicKfNodeTemplate::CartesianToCylindrical ( const TVector3 &  crs,
double  tmplCoord[] 
) const
inlinevirtual

Reimplemented in EicKfNodeTemplateOrth2D, EicKfNodeTemplateAsimuthal1D, and EicKfNodeTemplateRadial1D.

Definition at line 96 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 96 of file EicTrackingDigiHitProducer.h

Referenced by FwdHoughNodeGroup::PackCore().

+ Here is the caller graph for this function:

virtual bool EicKfNodeTemplate::CylindricalThreeDeeOnly ( ) const
inlinevirtual

Reimplemented in EicKfNodeTemplateAsimuthal1D, and EicKfNodeTemplateRadial1D.

Definition at line 36 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 36 of file EicTrackingDigiHitProducer.h

Referenced by FwdHoughTree::AddNodeGroup(), and IsCompatible().

+ Here is the caller graph for this function:

virtual void EicKfNodeTemplate::FillGranularityArray ( bool  useCartesian,
double  spGranularity,
double  aGranularity,
double  gra[] 
) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, EicKfNodeTemplateAsimuthal1D, EicKfNodeTemplateRadial1D, and EicKfNodeTemplateLinear1D.

Referenced by FwdHoughTree::AddNodeGroup().

+ Here is the caller graph for this function:

virtual void EicKfNodeTemplate::FillMinMaxArrays ( bool  useCartesian,
const std::set< double > &  xMin,
const std::set< double > &  xMax,
const std::set< double > &  yMin,
const std::set< double > &  yMax,
const std::set< double > &  rMin,
const std::set< double > &  rMax,
double  min[],
double  max[] 
) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, EicKfNodeTemplateAsimuthal1D, EicKfNodeTemplateRadial1D, and EicKfNodeTemplateLinear1D.

Referenced by FwdHoughTree::AddNodeGroup().

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetAngularSigma ( ) const
inlinevirtual

Reimplemented in EicKfNodeTemplateCylindrical2D, and EicKfNodeTemplateAsimuthal1D.

Definition at line 60 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 60 of file EicTrackingDigiHitProducer.h

Referenced by FwdHoughTree::AddNodeGroup().

+ Here is the caller graph for this function:

virtual unsigned EicKfNodeTemplate::GetMdim ( ) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by FwdHoughTree::AddNodeGroup(), EicHtcTask::DeclareSensitiveVolumes(), GetSmearedValue(), EicTrackingDigiHitProducer::HandleHit(), IncrementLinearTrackFitMatrices(), IsCompatible(), FwdHoughNodeGroup::PackCore(), TemplateToThreeDee(), and ThreeDeeToTemplate().

+ Here is the caller graph for this function:

virtual KfMatrix* EicKfNodeTemplate::GetMeasurementNoise ( const EicTrackingDigiHit hit) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by EicHtcTask::Exec(), and FwdHoughTree::SetupKalmanFilter().

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetPitch ( unsigned  iq) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by GetSmearedValue().

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetPixelCenterOffset ( unsigned  iq) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by GetSmearedValue().

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetSigma ( unsigned  iq) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by GetSmearedValue(), and FwdHoughNodeGroup::PackFromTo().

+ Here is the caller graph for this function:

double EicKfNodeTemplate::GetSmearedValue ( double  value,
unsigned  iq,
EicDigiHitProducer::SmearingModel  smearing_model 
)
inlineprotected

Definition at line 101 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 101 of file EicTrackingDigiHitProducer.h

References GetMdim(), GetPitch(), GetPixelCenterOffset(), GetSigma(), EicDigiHitProducer::Quantize, EicDigiHitProducer::Smear, and value.

Referenced by EicKfNodeTemplateLinear1D::SmearLocalCoord(), and EicKfNodeTemplateCartesian2D::SmearLocalCoord().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetSmearingValue ( double  spSmearing,
const EicTrackingDigiHit hit,
unsigned  iq 
) const
pure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateCylindrical2D, EicKfNodeTemplateCartesian2D, EicKfNodeTemplateAsimuthal1D, EicKfNodeTemplateRadial1D, and EicKfNodeTemplateLinear1D.

Referenced by FwdHoughNodeGroup::PackFromTo().

+ Here is the caller graph for this function:

virtual double EicKfNodeTemplate::GetSpatialSigma ( ) const
inlinevirtual

Reimplemented in EicKfNodeTemplateCylindrical2D, EicKfNodeTemplateCartesian2D, EicKfNodeTemplateRadial1D, and EicKfNodeTemplateLinear1D.

Definition at line 59 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 59 of file EicTrackingDigiHitProducer.h

Referenced by FwdHoughTree::AddNodeGroup().

+ Here is the caller graph for this function:

int EicKfNodeTemplate::IncrementLinearTrackFitMatrices ( SensitiveVolume sv,
EicTrackingDigiHit hit,
double  zRef,
KfMatrix A,
KfMatrix b 
)

Definition at line 351 of file EicTrackingDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 351 of file EicTrackingDigiHitProducer.cxx

References _DIM_, _X_, _Y_, _Z_, dz, KalmanNodeWrapper::GetAxis(), KalmanNodeWrapper::GetAxisComponent(), EicTrackingDigiHit::GetKfNodeID(), GetMdim(), KalmanNodeWrapper::GetOrigin(), ip(), KfMatrix::KFM(), KfMatrix::KFV(), SensitiveVolume::mKfNodeWrappers, and Acts::IntegrationTest::R.

Referenced by EicHtcTask::Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool EicKfNodeTemplate::IsCompatible ( const EicKfNodeTemplate sample)
inline

Definition at line 66 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 66 of file EicTrackingDigiHitProducer.h

References CartesianThreeDeeOnly(), CylindricalThreeDeeOnly(), and GetMdim().

+ Here is the call graph for this function:

virtual void EicKfNodeTemplate::PackSmearedHit ( TClonesArray *  arr,
const TString &  detName,
const EicMoCaPoint point,
unsigned  kfNodeID,
TVector3 &  global,
TVector3 &  local 
)
protectedpure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateOrth2D, and EicKfNodeTemplate1D.

Referenced by StoreDigiHit().

+ Here is the caller graph for this function:

virtual void EicKfNodeTemplate::SmearLocalCoord ( TVector3 &  local,
EicDigiHitProducer::SmearingModel  smearing_model 
)
protectedpure virtual

Implemented in EicKfNodeTemplateOrth3D, EicKfNodeTemplateCylindrical2D, EicKfNodeTemplateCartesian2D, EicKfNodeTemplateAsimuthal1D, EicKfNodeTemplateRadial1D, and EicKfNodeTemplateLinear1D.

Referenced by StoreDigiHit().

+ Here is the caller graph for this function:

void EicKfNodeTemplate::StoreDigiHit ( TClonesArray *  arr,
const TString &  detName,
const EicMoCaPoint point,
unsigned  kfNodeID,
TVector3 &  global,
TVector3 &  local,
EicDigiHitProducer::SmearingModel  smearing_model 
)
inlineprotected

Definition at line 126 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 126 of file EicTrackingDigiHitProducer.h

References PackSmearedHit(), and SmearLocalCoord().

Referenced by EicTrackingDigiHitProducer::HandleHit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual TVector3 EicKfNodeTemplate::TemplateToThreeDee ( const double  tmplCoord[]) const
inlinevirtual

Reimplemented in EicKfNodeTemplateCylindrical2D, EicKfNodeTemplateAsimuthal1D, and EicKfNodeTemplateRadial1D.

Definition at line 84 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 84 of file EicTrackingDigiHitProducer.h

References GetMdim().

Referenced by FwdHoughNodeGroup::PackFromTo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void EicKfNodeTemplate::ThreeDeeToTemplate ( const TVector3 &  crs,
double  tmplCoord[] 
) const
inlinevirtual

Reimplemented in EicKfNodeTemplateCylindrical2D, EicKfNodeTemplateAsimuthal1D, and EicKfNodeTemplateRadial1D.

Definition at line 92 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 92 of file EicTrackingDigiHitProducer.h

References GetMdim().

Referenced by SensitiveVolume::TrackToHitDistance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class EicHtcTask
friend

Definition at line 26 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 26 of file EicTrackingDigiHitProducer.h

friend class EicTrackingDigiHitProducer
friend

Definition at line 25 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 25 of file EicTrackingDigiHitProducer.h

friend class KalmanNodeWrapper
friend

Definition at line 27 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 27 of file EicTrackingDigiHitProducer.h

Member Data Documentation

TGeoMatrix* EicKfNodeTemplate::mNodeToSensitiveVolume
private

Definition at line 134 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 134 of file EicTrackingDigiHitProducer.h

Referenced by EicTrackingDigiHitProducer::HandleHit(), and KalmanNodeWrapper::KalmanNodeWrapper().


The documentation for this class was generated from the following files: