ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
InDet::SCTinformation Class Referencefinal

#include <SCTinformation.h>

Collaboration diagram for InDet::SCTinformation:

Public Member Functions

 SCTinformation ()
 
 SCTinformation (const InDet::SiCluster *cluster, const Amg::Vector3D &strip_start, const Amg::Vector3D &strip_end, const Amg::Vector3D &vec, const double &locx)
 
 SCTinformation (const SCTinformation &)=default
 
 ~SCTinformation ()=default
 
SCTinformationoperator= (const SCTinformation &)=default
 
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 23 of file SCTinformation.h.

Constructor & Destructor Documentation

◆ SCTinformation() [1/3]

InDet::SCTinformation::SCTinformation ( )
inline

Definition at line 73 of file SCTinformation.h.

73 : m_cluster(nullptr) {}

◆ SCTinformation() [2/3]

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 79 of file SCTinformation.h.

83  {
84  this->set(cluster, strip_start, strip_end, vec, locx);
85  }

◆ SCTinformation() [3/3]

InDet::SCTinformation::SCTinformation ( const SCTinformation )
default

◆ ~SCTinformation()

InDet::SCTinformation::~SCTinformation ( )
default

Member Function Documentation

◆ cluster()

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

Definition at line 41 of file SCTinformation.h.

41 {return m_cluster;}

◆ locX()

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

Definition at line 47 of file SCTinformation.h.

47 {return m_locX;}

◆ normal()

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

Definition at line 45 of file SCTinformation.h.

45 {return m_normal;}

◆ oneOverStrip()

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

Definition at line 46 of file SCTinformation.h.

46 {return m_oneOverStrip;}

◆ operator=()

SCTinformation& InDet::SCTinformation::operator= ( const SCTinformation )
default

◆ position()

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

Definition at line 108 of file SCTinformation.h.

109  {
110  return (m_center+(0.5*s)*m_sdir);
111  }

◆ 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 112 of file SCTinformation.h.

116  {
117  m_cluster = cluster;
118  m_center = 0.5*(strip_start+strip_end);
119  m_sdir = strip_start-strip_end;
120  m_tdir = 2.*(m_center-vec);
121  m_normal = m_sdir.cross(m_tdir);
122  m_oneOverStrip = 1./m_sdir.mag();
123  m_locX = locx;
124  }

◆ step()

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

Definition at line 92 of file SCTinformation.h.

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

◆ strip_center()

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

Definition at line 42 of file SCTinformation.h.

42 {return m_center ;}

◆ strip_direction()

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

Definition at line 43 of file SCTinformation.h.

43 {return m_sdir ;}

◆ traj_direction()

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

Definition at line 44 of file SCTinformation.h.

44 {return m_tdir ;}

Member Data Documentation

◆ m_center

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

Definition at line 61 of file SCTinformation.h.

◆ m_cluster

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

Definition at line 60 of file SCTinformation.h.

◆ m_locX

double InDet::SCTinformation::m_locX
private

Definition at line 66 of file SCTinformation.h.

◆ m_normal

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

Definition at line 64 of file SCTinformation.h.

◆ m_oneOverStrip

double InDet::SCTinformation::m_oneOverStrip
private

Definition at line 65 of file SCTinformation.h.

◆ m_sdir

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

Definition at line 62 of file SCTinformation.h.

◆ m_tdir

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

Definition at line 63 of file SCTinformation.h.


The documentation for this class was generated from the following file:
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDet::SCTinformation::m_oneOverStrip
double m_oneOverStrip
Definition: SCTinformation.h:65
InDet::SCTinformation::m_center
Amg::Vector3D m_center
Definition: SCTinformation.h:61
InDet::SCTinformation::set
void set(const InDet::SiCluster *CL, const Amg::Vector3D &strip_start, const Amg::Vector3D &strip_end, const Amg::Vector3D &vec, const double &locx)
Definition: SCTinformation.h:112
InDet::SCTinformation::cluster
const InDet::SiCluster * cluster() const
Definition: SCTinformation.h:41
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
InDet::SCTinformation::m_locX
double m_locX
Definition: SCTinformation.h:66
InDet::SCTinformation::m_tdir
Amg::Vector3D m_tdir
Definition: SCTinformation.h:63
InDet::SCTinformation::m_sdir
Amg::Vector3D m_sdir
Definition: SCTinformation.h:62
a
TList * a
Definition: liststreamerinfos.cxx:10
InDet::SCTinformation::m_normal
Amg::Vector3D m_normal
Definition: SCTinformation.h:64
InDet::SCTinformation::m_cluster
const InDet::SiCluster * m_cluster
Definition: SCTinformation.h:60