Jpp 20.0.0-rc.9-29-gccc23c492-D
the software that should make you happy
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
JFIT::JLine1Z Class Reference

Data structure for fit of straight line paralel to z-axis. More...

#include <JLine1Z.hh>

Inheritance diagram for JFIT::JLine1Z:
JFIT::JEstimator< JLine1Z > JFIT::JLine3Z JFIT::JModel< JLine1Z > JFIT::JLine3EZ

Public Types

typedef double JLine1Z::* parameter_type
 

Public Member Functions

 JLine1Z ()
 Default constructor.
 
 JLine1Z (const JVector3D &pos, const double t)
 Constructor.
 
void move (const double step, const double velocity)
 Move vertex along this line with given velocity.
 
void setZ (const double z, const double velocity)
 Set z-position of vertex.
 
double getDistanceSquared (const JVector3D &pos) const
 Get distance squared.
 
double getDistance (const JVector3D &pos) const
 Get distance.
 
double getT (const JVector3D &pos) const
 Get arrival time of Cherenkov light at given position.
 
double getZ (const JPosition3D &pos) const
 Get point of emission of Cherenkov light along muon path.
 
JVersor3D getDirection (const JVector3D &pos) const
 Get photon direction of Cherenkov light on PMT.
 
double getDot (const JAxis3D &axis) const
 Get cosine angle of impact of Cherenkov light on PMT.
 

Static Public Member Functions

static parameter_type pX ()
 
static parameter_type pY ()
 
static parameter_type pT ()
 

Detailed Description

Data structure for fit of straight line paralel to z-axis.

Definition at line 27 of file JLine1Z.hh.

Member Typedef Documentation

◆ parameter_type

typedef double JLine1Z::* JFIT::JLine1Z::parameter_type

Definition at line 178 of file JLine1Z.hh.

Constructor & Destructor Documentation

◆ JLine1Z() [1/2]

JFIT::JLine1Z::JLine1Z ( )
inline

Default constructor.

Definition at line 39 of file JLine1Z.hh.

39 :
40 JVertex3D()
41 {}

◆ JLine1Z() [2/2]

JFIT::JLine1Z::JLine1Z ( const JVector3D & pos,
const double t )
inline

Constructor.

Parameters
posposition
ttime at position

Definition at line 50 of file JLine1Z.hh.

51 :
52 JVertex3D(pos, t)
53 {}

Member Function Documentation

◆ move()

void JFIT::JLine1Z::move ( const double step,
const double velocity )
inline

Move vertex along this line with given velocity.

Parameters
stepstep
velocityvelocity

Definition at line 62 of file JLine1Z.hh.

63 {
64 __z += step;
65 __t += step / velocity;
66 }

◆ setZ()

void JFIT::JLine1Z::setZ ( const double z,
const double velocity )
inline

Set z-position of vertex.

Parameters
zz-position
velocityvelocity

Definition at line 75 of file JLine1Z.hh.

76 {
77 move(z - getZ(), velocity);
78 }
double getZ(const JPosition3D &pos) const
Get point of emission of Cherenkov light along muon path.
Definition JLine1Z.hh:134
void move(const double step, const double velocity)
Move vertex along this line with given velocity.
Definition JLine1Z.hh:62

◆ getDistanceSquared()

double JFIT::JLine1Z::getDistanceSquared ( const JVector3D & pos) const
inline

Get distance squared.

Parameters
posposition
Returns
square of distance

Definition at line 87 of file JLine1Z.hh.

88 {
89 const double dx = pos.getX() - this->getX();
90 const double dy = pos.getY() - this->getY();
91
92 return dx*dx + dy*dy;
93 }

◆ getDistance()

double JFIT::JLine1Z::getDistance ( const JVector3D & pos) const
inline

Get distance.

Parameters
posposition
Returns
distance

Definition at line 102 of file JLine1Z.hh.

103 {
104 return sqrt(this->getDistanceSquared(pos));
105 }
double getDistanceSquared(const JVector3D &pos) const
Get distance squared.
Definition JLine1Z.hh:87

◆ getT()

double JFIT::JLine1Z::getT ( const JVector3D & pos) const
inline

Get arrival time of Cherenkov light at given position.

Parameters
posposition [m]
Returns
time [ns]

Definition at line 114 of file JLine1Z.hh.

115 {
116 using namespace JPP;
117
118 const double dx = pos.getX() - this->getX();
119 const double dy = pos.getY() - this->getY();
120 const double dz = pos.getZ() - this->getZ();
121
122 const double R = sqrt(dx*dx + dy*dy);
123
124 return this->getT() + (dz + R * getKappaC()) * getInverseSpeedOfLight();
125 }
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
Definition JLine1Z.hh:114

◆ getZ()

double JFIT::JLine1Z::getZ ( const JPosition3D & pos) const
inline

Get point of emission of Cherenkov light along muon path.

Parameters
posposition
Returns
position along muon path

Definition at line 134 of file JLine1Z.hh.

135 {
136 using namespace JPP;
137
138 return pos.getZ() - this->getDistance(pos) / getTanThetaC();
139 }
double getDistance(const JVector3D &pos) const
Get distance.
Definition JLine1Z.hh:102

◆ getDirection()

JVersor3D JFIT::JLine1Z::getDirection ( const JVector3D & pos) const
inline

Get photon direction of Cherenkov light on PMT.

Parameters
posPMT position
Returns
direction

Definition at line 148 of file JLine1Z.hh.

149 {
150 using namespace JPP;
151
152 double dx = pos.getX() - this->getX();
153 double dy = pos.getY() - this->getY();
154
155 const double R = sqrt(dx*dx + dy*dy);
156
157 dx *= getSinThetaC() / R;
158 dy *= getSinThetaC() / R;
159
160 const double dz = getCosThetaC();
161
162 return JVersor3D(dx,dy,dz);
163 }

◆ getDot()

double JFIT::JLine1Z::getDot ( const JAxis3D & axis) const
inline

Get cosine angle of impact of Cherenkov light on PMT.

Parameters
axisPMT axis
Returns
cosine angle of impact

Definition at line 172 of file JLine1Z.hh.

173 {
174 return getDirection(axis.getPosition()).getDot(axis.getDirection());
175 }
JVersor3D getDirection(const JVector3D &pos) const
Get photon direction of Cherenkov light on PMT.
Definition JLine1Z.hh:148

◆ pX()

static parameter_type JFIT::JLine1Z::pX ( )
inlinestatic

Definition at line 180 of file JLine1Z.hh.

180{ return &JLine1Z::__x; }

◆ pY()

static parameter_type JFIT::JLine1Z::pY ( )
inlinestatic

Definition at line 181 of file JLine1Z.hh.

181{ return &JLine1Z::__y; }

◆ pT()

static parameter_type JFIT::JLine1Z::pT ( )
inlinestatic

Definition at line 182 of file JLine1Z.hh.

182{ return &JLine1Z::__t; }

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