12#ifndef ALICEO2_EMCAL_SHISHKEBABTRD1MODULE_H
13#define ALICEO2_EMCAL_SHISHKEBABTRD1MODULE_H
22#include <fairlogger/Logger.h>
50 void Init(Double_t
A, Double_t
B);
60 LOG(fatal) <<
"operator = not implemented";
108 LOG(debug2) <<
" ieta " << std::setw(2) << std::setprecision(2) << ieta <<
" xr " << std::setw(8)
109 << std::setprecision(4) << xr <<
" zr " << std::setw(8) << std::setprecision(4) << zr;
120 xr =
mOK3X3[2 - ieta].Y();
121 zr =
mOK3X3[2 - ieta].X();
153 static Double_t
ThetaToEta(Double_t theta) {
return -TMath::Log(TMath::Tan(theta / 2.)); }
EMCAL geometry definition.
Main class for TRD1 geometry of Shish-Kebab case.
Double_t mB
system where zero point is IP.
~ShishKebabTrd1Module()=default
Double_t GetTheta() const
void PrintShish(Int_t pri=1) const
void Init(Double_t A, Double_t B)
Init (add explanation)
static Double_t sangle
in rad (1.5 degree)
Bool_t SetParameters()
Recover module parameters stored in geometry.
Double_t GetPosXfromR() const
Double_t mThetaOB2
theta of cell center line (go through OB2)
void GetCenterOfCellInLocalCoordinateofSM3X3(Int_t ieta, Double_t &xr, Double_t &zr) const
void GetCenterOfCellInLocalCoordinateofSM1X1(Double_t &xr, Double_t &zr) const
TVector2 mOK
position the module center in ALICE system; x->y; z->x;
Double_t mThetaOB1
theta of cell center line (go through OB1)
static Double_t sa
2*dx1=2*dy1
const TVector2 & GetCenterOfModuleFace(Int_t ieta) const
Double_t mThetaA
angle coresponding fA - for convinience
void GetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t &xr, Double_t &zr) const
TVector2 mORB
position of right/bottom point of module
Double_t GetMaxEtaOfModule() const
Double_t mTheta
theta angle of perpendicular to SK module
Double_t GetThetaInDegree() const
ShishKebabTrd1Module & operator=(const ShishKebabTrd1Module &)
Double_t mA
parameters of right line : y = A*z + B
static Double_t stanBetta
tan(fgangle/2.)
static Double_t sr
radius to IP
void DefineFirstModule(const Int_t key=0)
static Double_t ThetaToEta(Double_t theta)
void GetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2 &v) const
Geometry * mGeometry
! pointer to geometry info
const TVector2 & GetCenterOfModuleFace() const
Double_t GetTanBetta() const
TVector2 mORT
position of right/top point of module
const TVector2 & GetCenterOfModule() const
const TVector2 & GetCenterOfCellInLocalCoordinateofSM(Int_t ieta) const
Double_t GetEtaOfCenterOfModule() const
void DefineAllStuff()
Define more things (add explanation)
Double_t GetRadius() const
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"