ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::SCTinformation Class Referencefinal

#include <SCTinformation.h>

Collaboration diagram for InDet::SCTinformation:

Public Member Functions

 SCTinformation ()=default
 SCTinformation (const InDet::SiCluster *cluster, const Amg::Vector3D &strip_start, const Amg::Vector3D &strip_end, const Amg::Vector3D &vec, const double &locx)
const InDet::SiClustercluster () const
const Amg::Vector3Dstrip_center () const
const Amg::Vector3Dstrip_direction () const
const Amg::Vector3Dtraj_direction () const
const Amg::Vector3Dnormal () const
const double & oneOverStrip () const
const double & locX () const
double step (SCTinformation &) const
Amg::Vector3D position (const double &s) const
void set (const InDet::SiCluster *CL, const Amg::Vector3D &strip_start, const Amg::Vector3D &strip_end, const Amg::Vector3D &vec, const double &locx)

Private Attributes

const InDet::SiClusterm_cluster {}
Amg::Vector3D m_center
Amg::Vector3D m_sdir
Amg::Vector3D m_tdir
Amg::Vector3D m_normal
double m_oneOverStrip {}
double m_locX {}

Detailed Description

Definition at line 25 of file SCTinformation.h.

Constructor & Destructor Documentation

◆ SCTinformation() [1/2]

InDet::SCTinformation::SCTinformation ( )
default

◆ SCTinformation() [2/2]

InDet::SCTinformation::SCTinformation ( const InDet::SiCluster * cluster,
const Amg::Vector3D & strip_start,
const Amg::Vector3D & strip_end,
const Amg::Vector3D & vec,
const double & locx )
inline

Definition at line 74 of file SCTinformation.h.

78 {
79 this->set(cluster, strip_start, strip_end, vec, locx);
80 }
std::vector< size_t > vec
const InDet::SiCluster * cluster() const
void set(const InDet::SiCluster *CL, const Amg::Vector3D &strip_start, const Amg::Vector3D &strip_end, const Amg::Vector3D &vec, const double &locx)

Member Function Documentation

◆ cluster()

const InDet::SiCluster * InDet::SCTinformation::cluster ( ) const
inline

Definition at line 40 of file SCTinformation.h.

40{return m_cluster;}
const InDet::SiCluster * m_cluster

◆ locX()

const double & InDet::SCTinformation::locX ( ) const
inline

Definition at line 46 of file SCTinformation.h.

46{return m_locX;}

◆ normal()

const Amg::Vector3D & InDet::SCTinformation::normal ( ) const
inline

Definition at line 44 of file SCTinformation.h.

44{return m_normal;}

◆ oneOverStrip()

const double & InDet::SCTinformation::oneOverStrip ( ) const
inline

Definition at line 45 of file SCTinformation.h.

45{return m_oneOverStrip;}

◆ position()

Amg::Vector3D InDet::SCTinformation::position ( const double & s) const
inline

Definition at line 103 of file SCTinformation.h.

104 {
105 return (m_center+(0.5*s)*m_sdir);
106 }

◆ set()

void InDet::SCTinformation::set ( const InDet::SiCluster * CL,
const Amg::Vector3D & strip_start,
const Amg::Vector3D & strip_end,
const Amg::Vector3D & vec,
const double & locx )
inline

Definition at line 107 of file SCTinformation.h.

111 {
113 m_center = 0.5*(strip_start+strip_end);
114 m_sdir = strip_start-strip_end;
115 m_tdir = 2.*(m_center-vec);
116 m_normal = m_sdir.cross(m_tdir);
117 m_oneOverStrip = 1./m_sdir.mag();
118 m_locX = locx;
119 }

◆ step()

double InDet::SCTinformation::step ( SCTinformation & In) const
inline

Definition at line 87 of file SCTinformation.h.

88 {
89 // this function returns the ratio between the components of the
90 // In normal vector over the strip direction and trajectory direction.
91
92 // first evaluate the denominator:
93 // a is component of the In normal vector on the strip direction.
94 double a = m_sdir.dot(In.m_normal);
95
96 // a = 0 if the In.m_normal and m_sdir are perpendicular.
97 // If so, return a very big number.
98 // Otherwise, evaluate the numerator and return
99 if (a!=0.) return (-m_tdir.dot(In.m_normal)/a);
100 else return 10000.;
101 }
static Double_t a

◆ strip_center()

const Amg::Vector3D & InDet::SCTinformation::strip_center ( ) const
inline

Definition at line 41 of file SCTinformation.h.

41{return m_center ;}

◆ strip_direction()

const Amg::Vector3D & InDet::SCTinformation::strip_direction ( ) const
inline

Definition at line 42 of file SCTinformation.h.

42{return m_sdir ;}

◆ traj_direction()

const Amg::Vector3D & InDet::SCTinformation::traj_direction ( ) const
inline

Definition at line 43 of file SCTinformation.h.

43{return m_tdir ;}

Member Data Documentation

◆ m_center

Amg::Vector3D InDet::SCTinformation::m_center
private

Definition at line 60 of file SCTinformation.h.

◆ m_cluster

const InDet::SiCluster* InDet::SCTinformation::m_cluster {}
private

Definition at line 59 of file SCTinformation.h.

59{}; // SCT cluster

◆ m_locX

double InDet::SCTinformation::m_locX {}
private

Definition at line 65 of file SCTinformation.h.

65{}; // cluster local X

◆ m_normal

Amg::Vector3D InDet::SCTinformation::m_normal
private

Definition at line 63 of file SCTinformation.h.

◆ m_oneOverStrip

double InDet::SCTinformation::m_oneOverStrip {}
private

Definition at line 64 of file SCTinformation.h.

64{}; // Invert length of the strip

◆ m_sdir

Amg::Vector3D InDet::SCTinformation::m_sdir
private

Definition at line 61 of file SCTinformation.h.

◆ m_tdir

Amg::Vector3D InDet::SCTinformation::m_tdir
private

Definition at line 62 of file SCTinformation.h.


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