FEDRA emulsion software from the OPERA Collaboration
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EdbSegCorr Class Reference

#include <EdbSegCorr.h>

Inheritance diagram for EdbSegCorr:
Collaboration diagram for EdbSegCorr:

Public Member Functions

void AddV (int i, float x)
 
void ApplyCorrections (EdbSegP &s)
 
 EdbSegCorr ()
 
void Print ()
 
void ResetCorr ()
 
void SetV (int i, float x)
 
float T (EdbSegP &s)
 
float TX (EdbSegP &s)
 
float TY (EdbSegP &s)
 
float V (int i)
 
float X (EdbSegP &s)
 
float Xpos (EdbSegP &s)
 
float Xrot (EdbSegP &s)
 
float Y (EdbSegP &s)
 
float Ypos (EdbSegP &s)
 
float Yrot (EdbSegP &s)
 
virtual ~EdbSegCorr ()
 

Public Attributes

Bool_t eApplyCorr
 do correction More...
 

Private Attributes

TArrayF eV
 

Constructor & Destructor Documentation

◆ EdbSegCorr()

EdbSegCorr::EdbSegCorr ( )
inline
16{ eApplyCorr=true; ResetCorr(); }
Bool_t eApplyCorr
do correction
Definition: EdbSegCorr.h:13
void ResetCorr()
Definition: EdbSegCorr.h:19

◆ ~EdbSegCorr()

virtual EdbSegCorr::~EdbSegCorr ( )
inlinevirtual
17{}

Member Function Documentation

◆ AddV()

void EdbSegCorr::AddV ( int  i,
float  x 
)
inline
22{eV[i]+=x;}
TArrayF eV
Definition: EdbSegCorr.h:10

◆ ApplyCorrections()

void EdbSegCorr::ApplyCorrections ( EdbSegP s)

14{
15 if(eApplyCorr) {
16 float x=X(s), y=Y(s), tx=TX(s), ty=TY(s);
17 s.SetX(x); s.SetY(y); s.SetTX(tx); s.SetTY(ty);
18 }
19}
float TX(EdbSegP &s)
Definition: EdbSegCorr.h:34
float X(EdbSegP &s)
Definition: EdbSegCorr.h:25
float Y(EdbSegP &s)
Definition: EdbSegCorr.h:26
float TY(EdbSegP &s)
Definition: EdbSegCorr.h:35
s
Definition: check_shower.C:55

◆ Print()

void EdbSegCorr::Print ( )

◆ ResetCorr()

void EdbSegCorr::ResetCorr ( )
inline
19{ eV.Set(10); eV[5]=1.; }

◆ SetV()

void EdbSegCorr::SetV ( int  i,
float  x 
)
inline
21{eV[i]=x;}

◆ T()

float EdbSegCorr::T ( EdbSegP s)
inline
36{ return TMath::Sqrt( TX(s)*TX(s) + TY(s)*TY(s) ); }

◆ TX()

float EdbSegCorr::TX ( EdbSegP s)
inline
34{ return eApplyCorr? s.eTX/eV[5]+eV[3] : s.eTX; }

◆ TY()

float EdbSegCorr::TY ( EdbSegP s)
inline
35{ return eApplyCorr? s.eTY/eV[5]+eV[4] : s.eTY; }

◆ V()

float EdbSegCorr::V ( int  i)
inline
23{ return eV[i]; }

◆ X()

float EdbSegCorr::X ( EdbSegP s)
inline
25{ if(!eApplyCorr) return s.eX; if(TMath::Abs(eV[6])<0.00001) return Xpos(s); else return Xrot(s); }
float Xpos(EdbSegP &s)
Definition: EdbSegCorr.h:28
float Xrot(EdbSegP &s)
Definition: EdbSegCorr.h:31

◆ Xpos()

float EdbSegCorr::Xpos ( EdbSegP s)
inline
28{ return eApplyCorr? eV[0] + s.eX + TX(s)*eV[2] : s.eX; }

◆ Xrot()

float EdbSegCorr::Xrot ( EdbSegP s)
inline
31{ return Xpos(s)*TMath::Cos(eV[6])-Ypos(s)*TMath::Sin(eV[6]); }
float Ypos(EdbSegP &s)
Definition: EdbSegCorr.h:29

◆ Y()

float EdbSegCorr::Y ( EdbSegP s)
inline
26{ if(!eApplyCorr) return s.eY; if(TMath::Abs(eV[6])<0.00001) return Ypos(s); else return Yrot(s); }
float Yrot(EdbSegP &s)
Definition: EdbSegCorr.h:32

◆ Ypos()

float EdbSegCorr::Ypos ( EdbSegP s)
inline
29{ return eApplyCorr? eV[1] + s.eY + TY(s)*eV[2] : s.eY; }

◆ Yrot()

float EdbSegCorr::Yrot ( EdbSegP s)
inline
32{ return Xpos(s)*TMath::Sin(eV[6])+Ypos(s)*TMath::Cos(eV[6]); }

Member Data Documentation

◆ eApplyCorr

Bool_t EdbSegCorr::eApplyCorr

do correction

◆ eV

TArrayF EdbSegCorr::eV
private

variables: dx,dy,dz, dtx,dty, shr, phy 0 1 2 3 4 5 6


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