FEDRA emulsion software from the OPERA Collaboration
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
 

Private Attributes

TArrayF eV
 

Constructor & Destructor Documentation

◆ EdbSegCorr()

EdbSegCorr::EdbSegCorr ( )
inline
16 { eApplyCorr=true; ResetCorr(); }
Bool_t eApplyCorr
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
void SetY(Float_t y)
Definition: EdbSegP.h:175
void SetTX(Float_t tx)
Definition: EdbSegP.h:176
void SetX(Float_t x)
Definition: EdbSegP.h:174
void SetTY(Float_t ty)
Definition: EdbSegP.h:177
EdbSegP * s
Definition: tlg2pattern.C:32

◆ 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; }
Float_t eTX
Definition: EdbSegP.h:29

◆ TY()

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

◆ 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
Float_t eX
Definition: EdbSegP.h:28

◆ 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
Float_t eY
Definition: EdbSegP.h:28

◆ 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

◆ eV

TArrayF EdbSegCorr::eV
private

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