Project
Loading...
Searching...
No Matches
o2::emcal::Geometry Class Reference

EMCAL geometry definition. More...

#include <Geometry.h>

Public Member Functions

 Geometry ()=default
 Default constructor. It must be kept public for root persistency purposes, but should never be called by the outside world.
 
 Geometry (const std::string_view name, const std::string_view mcname="", const std::string_view mctitle="")
 Constructor for normal use.
 
 Geometry (const Geometry &geom)
 Copy constructor.
 
 ~Geometry ()
 Destructor.
 
Geometryoperator= (const Geometry &rvalue)
 Assignment operator.
 
void DefineSamplingFraction (const std::string_view mcname="", const std::string_view mctitle="")
 Set the value of the Sampling used to calibrate the MC hits energy (check)
 
const std::string & GetName () const
 
void CreateListOfTrd1Modules ()
 
const std::vector< ShishKebabTrd1Module > & GetShishKebabTrd1Modules () const
 
const ShishKebabTrd1ModuleGetShishKebabModule (Int_t neta) const
 Get the Module parameters for a eta.
 
Bool_t Impact (const TParticle *particle) const
 Check if particle falls in the EMCal/DCal geometry.
 
void ImpactOnEmcal (const math_utils::Point3D< double > &vtx, Double_t theta, Double_t phi, Int_t &absId, math_utils::Point3D< double > &vimpact) const
 Get the impact coordinates on EMCAL.
 
Bool_t IsInEMCAL (const math_utils::Point3D< double > &pnt) const
 Checks whether point is inside the EMCal volume.
 
Bool_t IsInDCAL (const math_utils::Point3D< double > &pnt) const
 Checks whether point is inside the DCal volume.
 
AcceptanceType_t IsInEMCALOrDCAL (const math_utils::Point3D< double > &pnt) const
 Checks whether point is inside the EMCal volume (included DCal)
 
const Char_t * GetNameOfEMCALEnvelope () const
 
Float_t GetArm1PhiMin () const
 
Float_t GetArm1PhiMax () const
 
Float_t GetArm1EtaMin () const
 
Float_t GetArm1EtaMax () const
 
Float_t GetIPDistance () const
 
Float_t GetEnvelop (Int_t index) const
 
Float_t GetShellThickness () const
 
Float_t GetZLength () const
 
Float_t GetDCALInnerEdge () const
 
Float_t GetDCALPhiMin () const
 
Float_t GetDCALPhiMax () const
 
Float_t GetEMCALPhiMax () const
 
Float_t GetDCALStandardPhiMax () const
 
Int_t GetNECLayers () const
 
Float_t GetDCALInnerExtandedEta () const
 
Int_t GetNZ () const
 Get the number of modules in supermodule in z- (beam) direction.
 
Int_t GetNEta () const
 Get the number of modules in supermodule in #eta direction.
 
Int_t GetNPhi () const
 Get the number of modules in supermodule in #phi direction.
 
Float_t GetECPbRadThick () const
 
Float_t GetECScintThick () const
 
Float_t GetSampling () const
 
Int_t GetNumberOfSuperModules () const
 
Float_t GetPhiGapForSuperModules () const
 
Float_t GetPhiModuleSize () const
 
Float_t GetEtaModuleSize () const
 
Float_t GetFrontSteelStrip () const
 
Float_t GetLateralSteelStrip () const
 
Float_t GetPassiveScintThick () const
 
Float_t GetPhiTileSize () const
 
Float_t GetEtaTileSize () const
 
Float_t GetPhiSuperModule () const
 
Int_t GetNPhiSuperModule () const
 
Int_t GetNPHIdiv () const
 
Int_t GetNETAdiv () const
 
Int_t GetNCells () const
 
Float_t GetLongModuleSize () const
 
Float_t GetTrd1Angle () const
 
Float_t Get2Trd1Dx2 () const
 
Float_t GetTrd1AlFrontThick () const
 
Float_t GetTrd1BondPaperThick () const
 
Int_t GetNCellsInSupMod () const
 
Int_t GetNCellsInModule () const
 
Int_t GetKey110DEG () const
 
Int_t GetnSupModInDCAL () const
 
Int_t GetILOSS () const
 
Int_t GetIHADR () const
 
Float_t GetDeltaEta () const
 
Float_t GetDeltaPhi () const
 
Int_t GetNTowers () const
 
Double_t GetPhiCenterOfSM (Int_t nsupmod) const
 
Double_t GetPhiCenterOfSMSec (Int_t nsupmod) const
 
Float_t GetSuperModulesPar (Int_t ipar) const
 
EMCALSMType GetSMType (Int_t nSupMod) const
 
Bool_t IsDCALSM (Int_t nSupMod) const
 Check if iSupMod is a valid DCal standard SM.
 
Bool_t IsDCALExtSM (Int_t nSupMod) const
 Check if iSupMod is a valid DCal 1/3rd SM.
 
std::tuple< double, double > GetPhiBoundariesOfSM (Int_t nSupMod) const
 
std::tuple< double, double > GetPhiBoundariesOfSMGap (Int_t nPhiSec) const
 
Float_t GetSteelFrontThickness () const
 
void SetNZ (Int_t nz)
 
void SetNPhi (Int_t nphi)
 
void SetSampling (Float_t samp)
 
void GetGlobal (const Double_t *loc, Double_t *glob, int ind) const
 Figure out the global coordinates from local coordinates on a supermodule.
 
void GetGlobal (const TVector3 &vloc, TVector3 &vglob, int ind) const
 Figure out the global coordinates from local coordinates on a supermodule.
 
void GetGlobal (Int_t absId, Double_t glob[3]) const
 Figure out the global coordinates of a cell. Use the supermodule alignment. Use double[3].
 
void GetGlobal (Int_t absId, TVector3 &vglob) const
 Figure out the global coordinates of a cell.
 
std::tuple< double, double > EtaPhiFromIndex (Int_t absId) const
 Figure out the eta/phi coordinates of a cell.
 
int GetAbsCellIdFromEtaPhi (Double_t eta, Double_t phi) const
 Get cell absolute ID number from eta and phi location.
 
std::tuple< int, intGlobalRowColFromIndex (int cellID) const
 get (Column,Row) pair of cell in global numbering scheme
 
int GlobalCol (int cellID) const
 Get column number of cell in global numbering scheme.
 
int GlobalRow (int cellID) const
 Get row number of cell in global numbering scheme.
 
int GetCellAbsIDFromGlobalRowCol (int row, int col) const
 Get the absolute cell ID from global position in the EMCAL.
 
std::tuple< int, int, intGetPositionInSupermoduleFromGlobalRowCol (int row, int col) const
 Get the posision (row, col) of a global row-col position.
 
std::tuple< int, int, int, intGetCellIndexFromGlobalRowCol (int row, int col) const
 Get the cell indices from global position in the EMCAL.
 
int SuperModuleNumberFromEtaPhi (Double_t eta, Double_t phi) const
 Given a global eta/phi point check if it belongs to a supermodule covered region.
 
int GetAbsCellId (int supermoduleID, int moduleID, int phiInModule, int etaInModule) const
 Get cell absolute ID number from location module (2 times 2 cells) of a super module.
 
Bool_t CheckAbsCellId (Int_t absId) const
 Check whether a cell number is valid.
 
std::tuple< int, int, int, intGetCellIndex (Int_t absId) const
 Get cell SM, module numbers from absolute ID number.
 
std::tuple< int, intGetModulePhiEtaIndexInSModule (int supermoduleID, int moduleID) const
 Get eta-phi indexes of module in SM.
 
std::tuple< int, intGetCellPhiEtaIndexInSModule (int supermoduleID, int moduleID, int phiInModule, int etaInModule) const
 Get eta-phi indexes of cell in SM.
 
std::tuple< int, intShiftOnlineToOfflineCellIndexes (Int_t supermoduleID, Int_t iphi, Int_t ieta) const
 Adapt cell indices in supermodule to online indexing.
 
std::tuple< int, intShiftOfflineToOnlineCellIndexes (Int_t supermoduleID, Int_t iphi, Int_t ieta) const
 Adapt cell indices in supermodule to offline indexing.
 
Int_t GetSuperModuleNumber (Int_t absId) const
 Get cell SM, from absolute ID number.
 
Int_t GetNumberOfModuleInPhiDirection (Int_t nSupMod) const
 
std::tuple< int, int, intGetModuleIndexesFromCellIndexesInSModule (int supermoduleID, int phiInSupermodule, int etaInSupermodule) const
 Transition from cell indexes (iphi, ieta) to module indexes (iphim, ietam, nModule)
 
Int_t GetAbsCellIdFromCellIndexes (Int_t nSupMod, Int_t iphi, Int_t ieta) const
 Transition from super module number (nSupMod) and cell indexes (ieta,iphi) to cell absolute ID number.
 
math_utils::Point3D< double > RelPosCellInSModule (Int_t absId, Double_t distEf) const
 Look to see what the relative position inside a given cell is for a recpoint.
 
math_utils::Point3D< double > RelPosCellInSModule (Int_t absId) const
 Look to see what the relative position inside a given cell is for a recpoint.
 
std::tuple< int, int, intgetOnlineID (int towerID)
 Get link ID, row and column from cell ID, have a look here: https://alice.its.cern.ch/jira/browse/EMCAL-660.
 
std::tuple< int, intgetLinkAssignment (int ddlID) const
 Temporary link assignment (till final link assignment is known -.
 
std::vector< EMCALSMTypeGetEMCSystem () const
 
std::vector< Double_t > GetCentersOfCellsEtaDir () const
 
std::vector< Double_t > GetCentersOfCellsXDir () const
 
std::vector< Double_t > GetCentersOfCellsPhiDir () const
 
std::vector< Double_t > GetEtaCentersOfCells () const
 
std::vector< Double_t > GetPhiCentersOfCells () const
 
Float_t AngleFromEta (Float_t eta) const
 
Float_t ZFromEtaR (Float_t r, Float_t eta) const
 
void SetMisalMatrix (const TGeoHMatrix *m, Int_t smod) const
 
void RecalculateTowerPosition (Float_t drow, Float_t dcol, const Int_t sm, const Float_t depth, const Float_t misaligTransShifts[15], const Float_t misaligRotShifts[15], Float_t global[3]) const
 
const TGeoHMatrix * GetMatrixForSuperModule (Int_t smod) const
 Provides shift-rotation matrix for EMCAL from externally set matrix or from TGeoManager.
 
const TGeoHMatrix * GetMatrixForSuperModuleFromGeoManager (Int_t smod) const
 Provides shift-rotation matrix for EMCAL from the TGeoManager.
 
const TGeoHMatrix * GetMatrixForSuperModuleFromArray (Int_t smod) const
 Provides shift-rotation matrix for EMCAL from fkSModuleMatrix[smod].
 

Static Public Member Functions

static GeometryGetInstance ()
 Get geometry instance. It should have been set before.
 
static GeometryGetInstance (const std::string_view name, const std::string_view mcname="TGeant3", const std::string_view mctitle="")
 Get instance of the EMCAL geometry.
 
static GeometryGetInstanceFromRunNumber (Int_t runNumber, const std::string_view="", const std::string_view mcname="TGeant3", const std::string_view mctitle="")
 Instanciate geometry depending on the run number. Mostly used in analysis and MC anchors.
 
static const std::string & GetDefaultGeometryName ()
 
static Bool_t IsInitialized ()
 

Protected Member Functions

void Init ()
 initializes the parameters of EMCAL
 
void DefineEMC (std::string_view mcname, std::string_view mctitle)
 Init function of previous class EMCGeometry.
 
std::tuple< int, int, int, intCalculateCellIndex (Int_t absId) const
 Calculate cell SM, module numbers from absolute ID number.
 

Protected Attributes

std::string mGeoName
 Geometry name string.
 
Int_t mKey110DEG
 For calculation abs cell id; 19-oct-05.
 
Int_t mnSupModInDCAL
 For calculation abs cell id; 06-nov-12.
 
Int_t mNCellsInSupMod
 Number cell in super module.
 
Int_t mNETAdiv
 Number eta division of module.
 
Int_t mNPHIdiv
 Number phi division of module.
 
Int_t mNCellsInModule
 Number cell in module.
 
std::vector< Double_t > mPhiBoundariesOfSM
 Phi boundaries of SM in rad; size is fNumberOfSuperModules;.
 
std::vector< Double_t > mPhiCentersOfSM
 Phi of centers of SM; size is fNumberOfSuperModules/2.
 
std::vector< Double_t > mPhiCentersOfSMSec
 Phi of centers of section where SM lies; size is fNumberOfSuperModules/2.
 
std::vector< Double_t > mPhiCentersOfCells
 [fNPhi*fNPHIdiv] from center of SM (-10. < phi < +10.)
 
std::vector< Double_t > mCentersOfCellsEtaDir
 Size fNEta*fNETAdiv (for TRD1 only) (eta or z in SM, in cm)
 
std::vector< Double_t > mCentersOfCellsPhiDir
 Size fNPhi*fNPHIdiv (for TRD1 only) (phi or y in SM, in cm)
 
std::vector< Double_t > mEtaCentersOfCells
 [fNEta*fNETAdiv*fNPhi*fNPHIdiv], positive direction (eta>0); eta depend from phi position;
 
Int_t mNCells
 Number of cells in calo.
 
Int_t mNPhi
 Number of Towers in the PHI direction.
 
std::vector< Double_t > mCentersOfCellsXDir
 Size fNEta*fNETAdiv (for TRD1 only) ( x in SM, in cm)
 
Float_t mEnvelop [3]
 The GEANT TUB for the detector.
 
Float_t mArm1EtaMin
 Minimum pseudorapidity position of EMCAL in Eta.
 
Float_t mArm1EtaMax
 Maximum pseudorapidity position of EMCAL in Eta.
 
Float_t mArm1PhiMin
 Minimum angular position of EMCAL in Phi (degrees)
 
Float_t mArm1PhiMax
 Maximum angular position of EMCAL in Phi (degrees)
 
Float_t mEtaMaxOfTRD1
 Max eta in case of TRD1 geometry (see AliEMCALShishKebabTrd1Module)
 
Float_t mDCALPhiMin
 Minimum angular position of DCAL in Phi (degrees)
 
Float_t mDCALPhiMax
 Maximum angular position of DCAL in Phi (degrees)
 
Float_t mEMCALPhiMax
 Maximum angular position of EMCAL in Phi (degrees)
 
Float_t mDCALStandardPhiMax
 Special edge for the case that DCAL contian extension.
 
Float_t mDCALInnerExtandedEta
 DCAL inner edge in Eta (with some extension)
 
Float_t mDCALInnerEdge
 Inner edge for DCAL.
 
std::vector< ShishKebabTrd1ModulemShishKebabTrd1Modules
 List of modules.
 
Float_t mParSM [3]
 SM sizes as in GEANT (TRD1)
 
Float_t mPhiModuleSize
 Phi -> X.
 
Float_t mEtaModuleSize
 Eta -> Y.
 
Float_t mPhiTileSize
 Size of phi tile.
 
Float_t mEtaTileSize
 Size of eta tile.
 
Int_t mNZ
 Number of Towers in the Z direction.
 
Float_t mIPDistance
 Radial Distance of the inner surface of the EMCAL.
 
Float_t mLongModuleSize
 Size of long module.
 
Float_t mShellThickness
 Total thickness in (x,y) direction.
 
Float_t mZLength
 Total length in z direction.
 
Float_t mSampling
 Sampling factor.
 
Float_t mECPbRadThickness
 cm, Thickness of the Pb radiators
 
Float_t mECScintThick
 cm, Thickness of the scintillators
 
Int_t mNECLayers
 number of scintillator layers
 
Int_t mNumberOfSuperModules
 default is 12 = 6 * 2
 
std::vector< EMCALSMTypemEMCSMSystem
 geometry structure
 
Float_t mFrontSteelStrip
 13-may-05
 
Float_t mLateralSteelStrip
 13-may-05
 
Float_t mPassiveScintThick
 13-may-05
 
Float_t mPhiSuperModule
 Phi of normal supermodule (20, in degree)
 
Int_t mNPhiSuperModule
 9 - number supermodule in phi direction
 
Float_t mTrd1Angle
 angle in x-z plane (in degree)
 
Float_t m2Trd1Dx2
 2*dx2 for TRD1
 
Float_t mPhiGapForSM
 Gap betweeen supermodules in phi direction.
 
Float_t mTrd1AlFrontThick
 Thickness of the Al front plate.
 
Float_t mTrd1BondPaperThick
 Thickness of the Bond Paper sheet.
 
Int_t mILOSS
 Options for Geant (MIP business) - will call in AliEMCAL.
 
Int_t mIHADR
 Options for Geant (MIP business) - will call in AliEMCAL.
 
Float_t mSteelFrontThick
 Thickness of the front stell face of the support box - 9-sep-04; obsolete?
 
std::array< int, 46 > mCRORCID = {110, 110, 112, 112, 110, 110, 112, 112, 110, 110, 112, 112, 111, 111, 113, 113, 111, 111, 113, 113, 111, 111, 113, 113, 114, 114, 116, 116, 114, 114, 116, 116, 115, 115, 117, 117, 115, 115, 117, 117, -1, -1, -1, -1, 111, 117}
 
std::array< int, 46 > mCRORCLink = {0, 1, 0, 1, 2, 3, 2, 3, 4, 5, 4, 5, 0, 1, 0, 1, 2, 3, 2, 3, 4, -1, 4, 5, 0, 1, 0, 1, 2, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, -1, -1, -1, -1, -1, 5, 3}
 
const TGeoHMatrix * SMODULEMATRIX [EMCAL_MODULES]
 Orientations of EMCAL super modules.
 
std::vector< std::tuple< int, int, int, int > > mCellIndexLookup
 Lookup table for cell indices.
 

Detailed Description

EMCAL geometry definition.

Definition at line 39 of file Geometry.h.

Constructor & Destructor Documentation

◆ Geometry() [1/3]

o2::emcal::Geometry::Geometry ( )
default

Default constructor. It must be kept public for root persistency purposes, but should never be called by the outside world.

◆ Geometry() [2/3]

Geometry::Geometry ( const std::string_view  name,
const std::string_view  mcname = "",
const std::string_view  mctitle = "" 
)

Constructor for normal use.

Parameters
nameName of the geometry (see table for options)
mcnameGeant3/4, Flukla, needed for settings of transport
mctitleGeant4 physics list

Supported geometries:

Name Description
EMCAL_COMPLETEV1 10 Supermodules (run1 - 2011)
EMCAL_COMPLETE12SMV1 12 Supermodules (run1 - 2012/2013)
EMCAL_COMPLETE12SMV1_DCAL Full EMCAL, 10 DCAL Supermodules (not used in practice)
EMCAL_COMPLETE12SMV1_DCAL_8SM Full EMCAL, 8 DCAL Supermodules (run2)
EMCAL_COMPLETE12SMV1_DCAL_DEV Full EMCAL, DCAL development geometry (not used)

Definition at line 96 of file Geometry.cxx.

◆ Geometry() [3/3]

Geometry::Geometry ( const Geometry geom)

Copy constructor.

Definition at line 30 of file Geometry.cxx.

◆ ~Geometry()

Geometry::~Geometry ( )

Destructor.

Definition at line 176 of file Geometry.cxx.

Member Function Documentation

◆ AngleFromEta()

Float_t o2::emcal::Geometry::AngleFromEta ( Float_t  eta) const
inline

Definition at line 551 of file Geometry.h.

◆ CalculateCellIndex()

std::tuple< int, int, int, int > Geometry::CalculateCellIndex ( Int_t  absId) const
protected

Calculate cell SM, module numbers from absolute ID number.

Parameters
absIdcell absolute id. number
Returns
tuple(supermodule ID, module number, index of cell in module in phi, index of cell in module in eta)
Exceptions
InvalidCellIDException

Used in order to fill the lookup table of cell indices

Definition at line 1001 of file Geometry.cxx.

◆ CheckAbsCellId()

Bool_t o2::emcal::Geometry::CheckAbsCellId ( Int_t  absId) const
inline

Check whether a cell number is valid.

Parameters
absIdinput absolute cell ID number to check
Returns
true if cell ID number exists

Definition at line 703 of file Geometry.h.

◆ CreateListOfTrd1Modules()

void Geometry::CreateListOfTrd1Modules ( )

Generate the list of Trd1 modules which will make up the EMCAL geometry key: look to the AliEMCALShishKebabTrd1Module::

Definition at line 1248 of file Geometry.cxx.

◆ DefineEMC()

void Geometry::DefineEMC ( std::string_view  mcname,
std::string_view  mctitle 
)
protected

Init function of previous class EMCGeometry.

Definition at line 343 of file Geometry.cxx.

◆ DefineSamplingFraction()

void Geometry::DefineSamplingFraction ( const std::string_view  mcname = "",
const std::string_view  mctitle = "" 
)

Set the value of the Sampling used to calibrate the MC hits energy (check)

Parameters
mcnameGeant3/4, Flukla, ...
mctitleGeant4 physics list tag name

Called in Detector::ConstructGeometry and not anymore here in Init() in order to be able to work with Geant4

Definition at line 285 of file Geometry.cxx.

◆ EtaPhiFromIndex()

std::tuple< double, double > Geometry::EtaPhiFromIndex ( Int_t  absId) const

Figure out the eta/phi coordinates of a cell.

Parameters
absIdcell absolute id. number.
Returns
tuple with (pseudorapidity, polar angle)

Call to GetGlobal().

Definition at line 731 of file Geometry.cxx.

◆ Get2Trd1Dx2()

Float_t o2::emcal::Geometry::Get2Trd1Dx2 ( ) const
inline

Definition at line 223 of file Geometry.h.

◆ GetAbsCellId()

int Geometry::GetAbsCellId ( int  supermoduleID,
int  moduleID,
int  phiInModule,
int  etaInModule 
) const

Get cell absolute ID number from location module (2 times 2 cells) of a super module.

Parameters
supermoduleIDsuper module number
moduleIDmodule number
phiInModuleindex of cell in module in phi direction 0 or 1
etaInModuleindex of cell in module in eta direction 0 or 1
Returns
cell absolute ID number
Exceptions
InvalidSupermoduleTypeException
InvalidCellIDException

Definition at line 738 of file Geometry.cxx.

◆ GetAbsCellIdFromCellIndexes()

Int_t Geometry::GetAbsCellIdFromCellIndexes ( Int_t  nSupMod,
Int_t  iphi,
Int_t  ieta 
) const

Transition from super module number (nSupMod) and cell indexes (ieta,iphi) to cell absolute ID number.

Parameters
nSupModsuper module number
iphiindex of cell in phi direction inside super module
ietaindex of cell in eta direction inside super module
Returns
cell absolute ID number

Definition at line 791 of file Geometry.cxx.

◆ GetAbsCellIdFromEtaPhi()

Int_t Geometry::GetAbsCellIdFromEtaPhi ( Double_t  eta,
Double_t  phi 
) const

Get cell absolute ID number from eta and phi location.

Parameters
etapseudorapidity location
phiazimutal location
Returns
cell absolute ID number
Exceptions
InvalidPositionException

Definition at line 932 of file Geometry.cxx.

◆ GetArm1EtaMax()

Float_t o2::emcal::Geometry::GetArm1EtaMax ( ) const
inline

Definition at line 179 of file Geometry.h.

◆ GetArm1EtaMin()

Float_t o2::emcal::Geometry::GetArm1EtaMin ( ) const
inline

Definition at line 178 of file Geometry.h.

◆ GetArm1PhiMax()

Float_t o2::emcal::Geometry::GetArm1PhiMax ( ) const
inline

Definition at line 177 of file Geometry.h.

◆ GetArm1PhiMin()

Float_t o2::emcal::Geometry::GetArm1PhiMin ( ) const
inline

Definition at line 176 of file Geometry.h.

◆ GetCellAbsIDFromGlobalRowCol()

int Geometry::GetCellAbsIDFromGlobalRowCol ( int  row,
int  col 
) const

Get the absolute cell ID from global position in the EMCAL.

Parameters
rowGlobal row ID
colGlobal col ID
Returns
absolute cell ID
Exceptions
RowColException

Definition at line 874 of file Geometry.cxx.

◆ GetCellIndex()

std::tuple< int, int, int, int > Geometry::GetCellIndex ( Int_t  absId) const

Get cell SM, module numbers from absolute ID number.

Parameters
absIdcell absolute id. number
Returns
tuple(supermodule ID, module number, index of cell in module in phi, index of cell in module in eta)
Exceptions
InvalidCellIDException

Definition at line 1039 of file Geometry.cxx.

◆ GetCellIndexFromGlobalRowCol()

std::tuple< int, int, int, int > Geometry::GetCellIndexFromGlobalRowCol ( int  row,
int  col 
) const

Get the cell indices from global position in the EMCAL.

Parameters
rowGlobal row ID
colGlobal col ID
Returns
Cell indices [0 - supermodule, 1 - module, 2 - phi in module, 3 - eta in module]
Exceptions
RowColException

Definition at line 880 of file Geometry.cxx.

◆ GetCellPhiEtaIndexInSModule()

std::tuple< int, int > Geometry::GetCellPhiEtaIndexInSModule ( int  supermoduleID,
int  moduleID,
int  phiInModule,
int  etaInModule 
) const

Get eta-phi indexes of cell in SM.

Parameters
supermoduleIDsuper module number
moduleIDmodule number
phiInModuleindex in phi direction in module
etaInModuleindex in phi direction in module
Returns
Position (0 - phi, 1 - eta) of the cell inside teh supermodule

Definition at line 1067 of file Geometry.cxx.

◆ GetCentersOfCellsEtaDir()

std::vector< Double_t > o2::emcal::Geometry::GetCentersOfCellsEtaDir ( ) const
inline

Definition at line 526 of file Geometry.h.

◆ GetCentersOfCellsPhiDir()

std::vector< Double_t > o2::emcal::Geometry::GetCentersOfCellsPhiDir ( ) const
inline

Definition at line 534 of file Geometry.h.

◆ GetCentersOfCellsXDir()

std::vector< Double_t > o2::emcal::Geometry::GetCentersOfCellsXDir ( ) const
inline

Definition at line 530 of file Geometry.h.

◆ GetDCALInnerEdge()

Float_t o2::emcal::Geometry::GetDCALInnerEdge ( ) const
inline

Definition at line 184 of file Geometry.h.

◆ GetDCALInnerExtandedEta()

Float_t o2::emcal::Geometry::GetDCALInnerExtandedEta ( ) const
inline

Definition at line 190 of file Geometry.h.

◆ GetDCALPhiMax()

Float_t o2::emcal::Geometry::GetDCALPhiMax ( ) const
inline

Definition at line 186 of file Geometry.h.

◆ GetDCALPhiMin()

Float_t o2::emcal::Geometry::GetDCALPhiMin ( ) const
inline

Definition at line 185 of file Geometry.h.

◆ GetDCALStandardPhiMax()

Float_t o2::emcal::Geometry::GetDCALStandardPhiMax ( ) const
inline

Definition at line 188 of file Geometry.h.

◆ GetDefaultGeometryName()

static const std::string & o2::emcal::Geometry::GetDefaultGeometryName ( )
inlinestatic

Definition at line 111 of file Geometry.h.

◆ GetDeltaEta()

Float_t o2::emcal::Geometry::GetDeltaEta ( ) const
inline

Definition at line 234 of file Geometry.h.

◆ GetDeltaPhi()

Float_t o2::emcal::Geometry::GetDeltaPhi ( ) const
inline

Definition at line 235 of file Geometry.h.

◆ GetECPbRadThick()

Float_t o2::emcal::Geometry::GetECPbRadThick ( ) const
inline

Definition at line 204 of file Geometry.h.

◆ GetECScintThick()

Float_t o2::emcal::Geometry::GetECScintThick ( ) const
inline

Definition at line 205 of file Geometry.h.

◆ GetEMCALPhiMax()

Float_t o2::emcal::Geometry::GetEMCALPhiMax ( ) const
inline

Definition at line 187 of file Geometry.h.

◆ GetEMCSystem()

std::vector< EMCALSMType > o2::emcal::Geometry::GetEMCSystem ( ) const
inline

Definition at line 524 of file Geometry.h.

◆ GetEnvelop()

Float_t o2::emcal::Geometry::GetEnvelop ( Int_t  index) const
inline

Definition at line 181 of file Geometry.h.

◆ GetEtaCentersOfCells()

std::vector< Double_t > o2::emcal::Geometry::GetEtaCentersOfCells ( ) const
inline

Definition at line 539 of file Geometry.h.

◆ GetEtaModuleSize()

Float_t o2::emcal::Geometry::GetEtaModuleSize ( ) const
inline

Definition at line 210 of file Geometry.h.

◆ GetEtaTileSize()

Float_t o2::emcal::Geometry::GetEtaTileSize ( ) const
inline

Definition at line 215 of file Geometry.h.

◆ GetFrontSteelStrip()

Float_t o2::emcal::Geometry::GetFrontSteelStrip ( ) const
inline

Definition at line 211 of file Geometry.h.

◆ GetGlobal() [1/4]

void Geometry::GetGlobal ( const Double_t *  loc,
Double_t *  glob,
int  ind 
) const

Figure out the global coordinates from local coordinates on a supermodule.

Parameters
[in]loclocal coordinates (double[3])
[out]globglobal coordinates (double[2])
[in]indsuper module number

Use the supermodule alignment.

Definition at line 681 of file Geometry.cxx.

◆ GetGlobal() [2/4]

void Geometry::GetGlobal ( const TVector3 &  vloc,
TVector3 &  vglob,
int  ind 
) const

Figure out the global coordinates from local coordinates on a supermodule.

Parameters
[in]vloclocal coordinates
[out]vglobglobal coordinates
[in]indsuper module number

Use the supermodule alignment.

Definition at line 691 of file Geometry.cxx.

◆ GetGlobal() [3/4]

void Geometry::GetGlobal ( Int_t  absId,
Double_t  glob[3] 
) const

Figure out the global coordinates of a cell. Use the supermodule alignment. Use double[3].

Parameters
absIdcell absolute id. number.
glob3-double coordinates, output

Definition at line 699 of file Geometry.cxx.

◆ GetGlobal() [4/4]

void Geometry::GetGlobal ( Int_t  absId,
TVector3 &  vglob 
) const

Figure out the global coordinates of a cell.

Parameters
absIdcell absolute id. number.
vglobTVector3 coordinates, output

Use the supermodule alignment. Use TVector3.

Definition at line 723 of file Geometry.cxx.

◆ GetIHADR()

Int_t o2::emcal::Geometry::GetIHADR ( ) const
inline

Definition at line 232 of file Geometry.h.

◆ GetILOSS()

Int_t o2::emcal::Geometry::GetILOSS ( ) const
inline

Definition at line 231 of file Geometry.h.

◆ GetInstance() [1/2]

Geometry * Geometry::GetInstance ( )
static

Get geometry instance. It should have been set before.

Returns
the pointer of the unique instance of the geometry
Exceptions
GeometryNotInitializedExceptionin case the geometry is not initialized

Definition at line 190 of file Geometry.cxx.

◆ GetInstance() [2/2]

Geometry * Geometry::GetInstance ( const std::string_view  name,
const std::string_view  mcname = "TGeant3",
const std::string_view  mctitle = "" 
)
static

Get instance of the EMCAL geometry.

Parameters
nameGeometry name (see constructor for definition)
mcnameGeant3/4, Fluka, needed for settings of transport
mctitleGeant4 physics list
Returns
the pointer of the unique instance of the geometry

Also initializes the geometry if

  • not yet initialized
  • settings are different

Definition at line 199 of file Geometry.cxx.

◆ GetInstanceFromRunNumber()

Geometry * Geometry::GetInstanceFromRunNumber ( Int_t  runNumber,
const std::string_view  geoName = "",
const std::string_view  mcname = "TGeant3",
const std::string_view  mctitle = "" 
)
static

Instanciate geometry depending on the run number. Mostly used in analysis and MC anchors.

Parameters
runNumberas indicated
geoNameGeometry name, see constructor for options
mcnameGeant3/4, Fluka, needed for settings of transport (check). Not really needed to be specified.
mctitleGeant4 physics list (check). Not really needed to be specified.
Returns
the pointer of the unique instance

Definition at line 219 of file Geometry.cxx.

◆ GetIPDistance()

Float_t o2::emcal::Geometry::GetIPDistance ( ) const
inline

Definition at line 180 of file Geometry.h.

◆ GetKey110DEG()

Int_t o2::emcal::Geometry::GetKey110DEG ( ) const
inline

Definition at line 229 of file Geometry.h.

◆ GetLateralSteelStrip()

Float_t o2::emcal::Geometry::GetLateralSteelStrip ( ) const
inline

Definition at line 212 of file Geometry.h.

◆ getLinkAssignment()

std::tuple< int, int > o2::emcal::Geometry::getLinkAssignment ( int  ddlID) const
inline

Temporary link assignment (till final link assignment is known -.

eventually taken from CCDB)

Current mapping can be found under https://alice.its.cern.ch/jira/browse/EMCAL-660

Parameters
ddlIDDDL ID
Returns
CRORC ID
CRORC Link

Definition at line 522 of file Geometry.h.

◆ GetLongModuleSize()

Float_t o2::emcal::Geometry::GetLongModuleSize ( ) const
inline

Definition at line 221 of file Geometry.h.

◆ GetMatrixForSuperModule()

const TGeoHMatrix * Geometry::GetMatrixForSuperModule ( Int_t  smod) const

Provides shift-rotation matrix for EMCAL from externally set matrix or from TGeoManager.

Parameters
smodsuper module number
Returns
alignment matrix for a super module number

Definition at line 1552 of file Geometry.cxx.

◆ GetMatrixForSuperModuleFromArray()

const TGeoHMatrix * Geometry::GetMatrixForSuperModuleFromArray ( Int_t  smod) const

Provides shift-rotation matrix for EMCAL from fkSModuleMatrix[smod].

Parameters
smodsuper module number
Returns
alignment matrix for a super module number

Unsafe method, not to be used in reconstruction, just check there is something in the array of matrices without crashing, for EVE checks.

Definition at line 1574 of file Geometry.cxx.

◆ GetMatrixForSuperModuleFromGeoManager()

const TGeoHMatrix * Geometry::GetMatrixForSuperModuleFromGeoManager ( Int_t  smod) const

Provides shift-rotation matrix for EMCAL from the TGeoManager.

Parameters
smodsuper module number
Returns
alignment matrix for a super module number

Definition at line 1583 of file Geometry.cxx.

◆ GetModuleIndexesFromCellIndexesInSModule()

std::tuple< int, int, int > Geometry::GetModuleIndexesFromCellIndexesInSModule ( int  supermoduleID,
int  phiInSupermodule,
int  etaInSupermodule 
) const

Transition from cell indexes (iphi, ieta) to module indexes (iphim, ietam, nModule)

Parameters
supermoduleIDsuper module number
phiInSupermoduleindex of cell in phi direction inside super module
etaInSupermoduleindex of cell in eta direction inside super module
Returns
tuple: iphim: index of cell in module in phi direction: 0 or 1 ietam: index of cell in module in eta direction: 0 or 1 nModule: module number

Definition at line 778 of file Geometry.cxx.

◆ GetModulePhiEtaIndexInSModule()

std::tuple< int, int > Geometry::GetModulePhiEtaIndexInSModule ( int  supermoduleID,
int  moduleID 
) const

Get eta-phi indexes of module in SM.

Parameters
supermoduleIDsuper module number, input
moduleIDmodule number, input
Returns
tuple (index in phi direction of module, index in eta direction of module)

Definition at line 1049 of file Geometry.cxx.

◆ GetName()

const std::string & o2::emcal::Geometry::GetName ( ) const
inline

Definition at line 109 of file Geometry.h.

◆ GetNameOfEMCALEnvelope()

const Char_t * o2::emcal::Geometry::GetNameOfEMCALEnvelope ( ) const
inline

Definition at line 175 of file Geometry.h.

◆ GetNCells()

Int_t o2::emcal::Geometry::GetNCells ( ) const
inline

Definition at line 220 of file Geometry.h.

◆ GetNCellsInModule()

Int_t o2::emcal::Geometry::GetNCellsInModule ( ) const
inline

Definition at line 228 of file Geometry.h.

◆ GetNCellsInSupMod()

Int_t o2::emcal::Geometry::GetNCellsInSupMod ( ) const
inline

Definition at line 227 of file Geometry.h.

◆ GetNECLayers()

Int_t o2::emcal::Geometry::GetNECLayers ( ) const
inline

Definition at line 189 of file Geometry.h.

◆ GetNEta()

Int_t o2::emcal::Geometry::GetNEta ( ) const
inline

Get the number of modules in supermodule in #eta direction.

Returns
Number of modules

Definition at line 198 of file Geometry.h.

◆ GetNETAdiv()

Int_t o2::emcal::Geometry::GetNETAdiv ( ) const
inline

Definition at line 219 of file Geometry.h.

◆ GetNPhi()

Int_t o2::emcal::Geometry::GetNPhi ( ) const
inline

Get the number of modules in supermodule in #phi direction.

Returns
Number of modules

Definition at line 202 of file Geometry.h.

◆ GetNPHIdiv()

Int_t o2::emcal::Geometry::GetNPHIdiv ( ) const
inline

Definition at line 218 of file Geometry.h.

◆ GetNPhiSuperModule()

Int_t o2::emcal::Geometry::GetNPhiSuperModule ( ) const
inline

Definition at line 217 of file Geometry.h.

◆ GetnSupModInDCAL()

Int_t o2::emcal::Geometry::GetnSupModInDCAL ( ) const
inline

Definition at line 230 of file Geometry.h.

◆ GetNTowers()

Int_t o2::emcal::Geometry::GetNTowers ( ) const
inline

Definition at line 236 of file Geometry.h.

◆ GetNumberOfModuleInPhiDirection()

Int_t o2::emcal::Geometry::GetNumberOfModuleInPhiDirection ( Int_t  nSupMod) const
inline

Definition at line 462 of file Geometry.h.

◆ GetNumberOfSuperModules()

Int_t o2::emcal::Geometry::GetNumberOfSuperModules ( ) const
inline

Definition at line 207 of file Geometry.h.

◆ GetNZ()

Int_t o2::emcal::Geometry::GetNZ ( ) const
inline

Get the number of modules in supermodule in z- (beam) direction.

Returns
Number of modules

Definition at line 194 of file Geometry.h.

◆ getOnlineID()

std::tuple< int, int, int > Geometry::getOnlineID ( int  towerID)

Get link ID, row and column from cell ID, have a look here: https://alice.its.cern.ch/jira/browse/EMCAL-660.

Parameters
towerIDCell ID
Returns
link ID
row
col

Definition at line 1813 of file Geometry.cxx.

◆ GetPassiveScintThick()

Float_t o2::emcal::Geometry::GetPassiveScintThick ( ) const
inline

Definition at line 213 of file Geometry.h.

◆ GetPhiBoundariesOfSM()

std::tuple< double, double > Geometry::GetPhiBoundariesOfSM ( Int_t  nSupMod) const

Definition at line 1795 of file Geometry.cxx.

◆ GetPhiBoundariesOfSMGap()

std::tuple< double, double > Geometry::GetPhiBoundariesOfSMGap ( Int_t  nPhiSec) const

Definition at line 1805 of file Geometry.cxx.

◆ GetPhiCenterOfSM()

Double_t Geometry::GetPhiCenterOfSM ( Int_t  nsupmod) const

Definition at line 1789 of file Geometry.cxx.

◆ GetPhiCenterOfSMSec()

Double_t Geometry::GetPhiCenterOfSMSec ( Int_t  nsupmod) const

Definition at line 1783 of file Geometry.cxx.

◆ GetPhiCentersOfCells()

std::vector< Double_t > o2::emcal::Geometry::GetPhiCentersOfCells ( ) const
inline

Definition at line 543 of file Geometry.h.

◆ GetPhiGapForSuperModules()

Float_t o2::emcal::Geometry::GetPhiGapForSuperModules ( ) const
inline

Definition at line 208 of file Geometry.h.

◆ GetPhiModuleSize()

Float_t o2::emcal::Geometry::GetPhiModuleSize ( ) const
inline

Definition at line 209 of file Geometry.h.

◆ GetPhiSuperModule()

Float_t o2::emcal::Geometry::GetPhiSuperModule ( ) const
inline

Definition at line 216 of file Geometry.h.

◆ GetPhiTileSize()

Float_t o2::emcal::Geometry::GetPhiTileSize ( ) const
inline

Definition at line 214 of file Geometry.h.

◆ GetPositionInSupermoduleFromGlobalRowCol()

std::tuple< int, int, int > Geometry::GetPositionInSupermoduleFromGlobalRowCol ( int  row,
int  col 
) const

Get the posision (row, col) of a global row-col position.

Parameters
rowGlobal row ID
colGlobal col ID
Returns
Position in supermodule: [0 - supermodule ID, 1 - row in supermodule - col in supermodule]
Exceptions
RowColException

Definition at line 834 of file Geometry.cxx.

◆ GetSampling()

Float_t o2::emcal::Geometry::GetSampling ( ) const
inline

Definition at line 206 of file Geometry.h.

◆ GetShellThickness()

Float_t o2::emcal::Geometry::GetShellThickness ( ) const
inline

Definition at line 182 of file Geometry.h.

◆ GetShishKebabModule()

const ShishKebabTrd1Module & Geometry::GetShishKebabModule ( Int_t  neta) const

Get the Module parameters for a eta.

Returns
the shishkebabmodule at a given eta index point.

Definition at line 1361 of file Geometry.cxx.

◆ GetShishKebabTrd1Modules()

const std::vector< ShishKebabTrd1Module > & o2::emcal::Geometry::GetShishKebabTrd1Modules ( ) const
inline

Definition at line 122 of file Geometry.h.

◆ GetSMType()

EMCALSMType o2::emcal::Geometry::GetSMType ( Int_t  nSupMod) const
inline

Definition at line 242 of file Geometry.h.

◆ GetSteelFrontThickness()

Float_t o2::emcal::Geometry::GetSteelFrontThickness ( ) const
inline

Definition at line 266 of file Geometry.h.

◆ GetSuperModuleNumber()

Int_t Geometry::GetSuperModuleNumber ( Int_t  absId) const

Get cell SM, from absolute ID number.

Parameters
absIdcell absolute id. number
Returns
super module number

Definition at line 1047 of file Geometry.cxx.

◆ GetSuperModulesPar()

Float_t o2::emcal::Geometry::GetSuperModulesPar ( Int_t  ipar) const
inline

Definition at line 240 of file Geometry.h.

◆ GetTrd1AlFrontThick()

Float_t o2::emcal::Geometry::GetTrd1AlFrontThick ( ) const
inline

Definition at line 224 of file Geometry.h.

◆ GetTrd1Angle()

Float_t o2::emcal::Geometry::GetTrd1Angle ( ) const
inline

Definition at line 222 of file Geometry.h.

◆ GetTrd1BondPaperThick()

Float_t o2::emcal::Geometry::GetTrd1BondPaperThick ( ) const
inline

Definition at line 225 of file Geometry.h.

◆ GetZLength()

Float_t o2::emcal::Geometry::GetZLength ( ) const
inline

Definition at line 183 of file Geometry.h.

◆ GlobalCol()

int Geometry::GlobalCol ( int  cellID) const

Get column number of cell in global numbering scheme.

Parameters
cellIDAbsolute cell ID
Returns
Column number in global numbering scheme
Exceptions
InvalidCellIDException

Definition at line 891 of file Geometry.cxx.

◆ GlobalRow()

int Geometry::GlobalRow ( int  cellID) const

Get row number of cell in global numbering scheme.

Parameters
cellIDAbsolute cell ID
Returns
Row number in global numbering scheme
Exceptions
InvalidCellIDException

Definition at line 896 of file Geometry.cxx.

◆ GlobalRowColFromIndex()

std::tuple< int, int > Geometry::GlobalRowColFromIndex ( int  cellID) const

get (Column,Row) pair of cell in global numbering scheme

Parameters
cellIDAbsolute cell ID
Returns
tuple with position in global numbering scheme (0 - row, 1 - column)
Exceptions
InvalidCellIDException

Definition at line 808 of file Geometry.cxx.

◆ Impact()

Bool_t Geometry::Impact ( const TParticle *  particle) const

Check if particle falls in the EMCal/DCal geometry.

Parameters
particleParticle to be checked
Returns
true in EMCal/DCa;

Call ImpactOnEmcal.

Definition at line 1369 of file Geometry.cxx.

◆ ImpactOnEmcal()

void Geometry::ImpactOnEmcal ( const math_utils::Point3D< double > &  vtx,
Double_t  theta,
Double_t  phi,
Int_t &  absId,
math_utils::Point3D< double > &  vimpact 
) const

Get the impact coordinates on EMCAL.

Parameters
[in]vtxTVector3 with vertex
[in]thetatheta location
[in]phiazimuthal angle
[out]absIdabsolute ID number
[out]vimpactTVector3 of impact coordinates?

Calculates the impact coordinates on EMCAL (centre of a tower/not on EMCAL surface) of a neutral particle emitted in the vertex vtx[3] with direction theta and phi in the global coordinate system

Definition at line 1384 of file Geometry.cxx.

◆ Init()

void o2::emcal::Geometry::Init ( )
protected

initializes the parameters of EMCAL

◆ IsDCALExtSM()

Bool_t Geometry::IsDCALExtSM ( Int_t  nSupMod) const

Check if iSupMod is a valid DCal 1/3rd SM.

Parameters
nSupModID of the supermodule to check
Returns
True if the supermodule is a DCAL supermodule

Definition at line 1774 of file Geometry.cxx.

◆ IsDCALSM()

Bool_t Geometry::IsDCALSM ( Int_t  nSupMod) const

Check if iSupMod is a valid DCal standard SM.

Parameters
nSupModID of the supermodule to check
Returns
True if the supermodule is a DCAL supermodule

Definition at line 1765 of file Geometry.cxx.

◆ IsInDCAL()

Bool_t Geometry::IsInDCAL ( const math_utils::Point3D< double > &  pnt) const

Checks whether point is inside the DCal volume.

Parameters
pntPoint to be checked
Returns
True if the point is inside DCAL, false otherwise

See IsInEMCALOrDCAL for the definition of the acceptance check

Definition at line 1509 of file Geometry.cxx.

◆ IsInEMCAL()

Bool_t Geometry::IsInEMCAL ( const math_utils::Point3D< double > &  pnt) const

Checks whether point is inside the EMCal volume.

Parameters
pntPoint to be checked
Returns
True if the point is inside EMCAL, false otherwise

See IsInEMCALOrDCAL for the definition of the acceptance check

Definition at line 1500 of file Geometry.cxx.

◆ IsInEMCALOrDCAL()

o2::emcal::AcceptanceType_t Geometry::IsInEMCALOrDCAL ( const math_utils::Point3D< double > &  pnt) const

Checks whether point is inside the EMCal volume (included DCal)

Parameters
pntPoint to be checked
Returns
calo acceptance type

Code uses cylindrical approximation made of inner radius (for speed)

Points behind EMCAl/DCal, i.e. R > outer radius, but eta, phi in acceptance are considered to inside

Definition at line 1518 of file Geometry.cxx.

◆ IsInitialized()

static Bool_t o2::emcal::Geometry::IsInitialized ( )
inlinestatic

Definition at line 113 of file Geometry.h.

◆ operator=()

Geometry & Geometry::operator= ( const Geometry rvalue)

Assignment operator.

Definition at line 170 of file Geometry.cxx.

◆ RecalculateTowerPosition()

void Geometry::RecalculateTowerPosition ( Float_t  drow,
Float_t  dcol,
const Int_t  sm,
const Float_t  depth,
const Float_t  misaligTransShifts[15],
const Float_t  misaligRotShifts[15],
Float_t  global[3] 
) const

Transform clusters cell position into global with alternative method, taking into account the depth calculation. Input are:

  • the tower indeces,
  • supermodule,
  • particle type (photon 0, electron 1, hadron 2 )
  • misalignment shifts to global position in case of need.

Feder.nosp@m.ico..nosp@m.Ronch.nosp@m.etti.nosp@m.@cern.nosp@m..ch

Definition at line 1626 of file Geometry.cxx.

◆ RelPosCellInSModule() [1/2]

o2::math_utils::Point3D< double > Geometry::RelPosCellInSModule ( Int_t  absId) const

Look to see what the relative position inside a given cell is for a recpoint.

Parameters
absIdcell absolute id. number, input
Returns
Point3D with x,y,z coordinates of cell with absId inside SM
Exceptions
InvalidCellIDExceptionif cell ID does not exist

Definition at line 1107 of file Geometry.cxx.

◆ RelPosCellInSModule() [2/2]

o2::math_utils::Point3D< double > Geometry::RelPosCellInSModule ( Int_t  absId,
Double_t  distEf 
) const

Look to see what the relative position inside a given cell is for a recpoint.

Parameters
absIdcell absolute id. number, input
distEfshower max position? check call in RecPoint!
Returns
Point3D with x,y,z coordinates of cell with absId inside SM
Exceptions
InvalidCellIDExceptionif cell ID does not exist

Same as RelPosCellInSModule(Int_t absId, Double_t &xr, Double_t &yr, Double_t &zr) but taking into account position of shower max.

Definition at line 1172 of file Geometry.cxx.

◆ SetMisalMatrix()

void Geometry::SetMisalMatrix ( const TGeoHMatrix *  m,
Int_t  smod 
) const

Method to set shift-rotational matrixes from ESDHeader Move from header due to coding violations : Dec 2,2011 by PAI

Definition at line 1754 of file Geometry.cxx.

◆ SetNPhi()

void o2::emcal::Geometry::SetNPhi ( Int_t  nphi)
inline

Definition at line 272 of file Geometry.h.

◆ SetNZ()

void o2::emcal::Geometry::SetNZ ( Int_t  nz)
inline

Definition at line 271 of file Geometry.h.

◆ SetSampling()

void o2::emcal::Geometry::SetSampling ( Float_t  samp)
inline

Definition at line 274 of file Geometry.h.

◆ ShiftOfflineToOnlineCellIndexes()

std::tuple< int, int > Geometry::ShiftOfflineToOnlineCellIndexes ( Int_t  supermoduleID,
Int_t  iphi,
Int_t  ieta 
) const

Adapt cell indices in supermodule to offline indexing.

Parameters
supermoduleIDsuper module number of the channel/cell
iphirow/phi cell index, modified for DCal
ietacolumn/eta index, modified for DCal
Returns
tuple with (0 - row/phi, 1 - col, eta) after shift

Here shift the DCal online cols or rows depending on the super-module number to match the online mapping.

Reverse procedure to the one in the method above ShiftOnlineToOfflineCellIndexes().

Definition at line 1095 of file Geometry.cxx.

◆ ShiftOnlineToOfflineCellIndexes()

std::tuple< int, int > Geometry::ShiftOnlineToOfflineCellIndexes ( Int_t  supermoduleID,
Int_t  iphi,
Int_t  ieta 
) const

Adapt cell indices in supermodule to online indexing.

Parameters
supermoduleIDsuper module number of the channel/cell
iphirow/phi cell index, modified for DCal
ietacolumn/eta index, modified for DCal
Returns
tuple with (0 - row/phi, 1 - col, eta) after shift

Online mapping and numbering is the same for EMCal and DCal SMs but:

  • DCal odd SM (13,15,17) has online cols: 16-47; offline cols 0-31.
  • Even DCal SMs have the same numbering online and offline 0-31.
  • DCal 1/3 SM (18,19), online rows 16-23; offline rows 0-7

Here shift the online cols or rows depending on the super-module number to match the offline mapping.

Definition at line 1083 of file Geometry.cxx.

◆ SuperModuleNumberFromEtaPhi()

Int_t Geometry::SuperModuleNumberFromEtaPhi ( Double_t  eta,
Double_t  phi 
) const

Given a global eta/phi point check if it belongs to a supermodule covered region.

Parameters
etapseudorapidity location
phiazimutal location
Returns
super module number
Exceptions
InvalidPositionException

Definition at line 901 of file Geometry.cxx.

◆ ZFromEtaR()

Float_t o2::emcal::Geometry::ZFromEtaR ( Float_t  r,
Float_t  eta 
) const
inline

Definition at line 555 of file Geometry.h.

Member Data Documentation

◆ m2Trd1Dx2

Float_t o2::emcal::Geometry::m2Trd1Dx2
protected

2*dx2 for TRD1

Definition at line 681 of file Geometry.h.

◆ mArm1EtaMax

Float_t o2::emcal::Geometry::mArm1EtaMax
protected

Maximum pseudorapidity position of EMCAL in Eta.

Definition at line 636 of file Geometry.h.

◆ mArm1EtaMin

Float_t o2::emcal::Geometry::mArm1EtaMin
protected

Minimum pseudorapidity position of EMCAL in Eta.

Definition at line 635 of file Geometry.h.

◆ mArm1PhiMax

Float_t o2::emcal::Geometry::mArm1PhiMax
protected

Maximum angular position of EMCAL in Phi (degrees)

Definition at line 638 of file Geometry.h.

◆ mArm1PhiMin

Float_t o2::emcal::Geometry::mArm1PhiMin
protected

Minimum angular position of EMCAL in Phi (degrees)

Definition at line 637 of file Geometry.h.

◆ mCellIndexLookup

std::vector<std::tuple<int, int, int, int> > o2::emcal::Geometry::mCellIndexLookup
protected

Lookup table for cell indices.

Definition at line 697 of file Geometry.h.

◆ mCentersOfCellsEtaDir

std::vector<Double_t> o2::emcal::Geometry::mCentersOfCellsEtaDir
protected

Size fNEta*fNETAdiv (for TRD1 only) (eta or z in SM, in cm)

Definition at line 627 of file Geometry.h.

◆ mCentersOfCellsPhiDir

std::vector<Double_t> o2::emcal::Geometry::mCentersOfCellsPhiDir
protected

Size fNPhi*fNPHIdiv (for TRD1 only) (phi or y in SM, in cm)

Definition at line 628 of file Geometry.h.

◆ mCentersOfCellsXDir

std::vector<Double_t> o2::emcal::Geometry::mCentersOfCellsXDir
protected

Size fNEta*fNETAdiv (for TRD1 only) ( x in SM, in cm)

Definition at line 633 of file Geometry.h.

◆ mCRORCID

std::array<int, 46> o2::emcal::Geometry::mCRORCID = {110, 110, 112, 112, 110, 110, 112, 112, 110, 110, 112, 112, 111, 111, 113, 113, 111, 111, 113, 113, 111, 111, 113, 113, 114, 114, 116, 116, 114, 114, 116, 116, 115, 115, 117, 117, 115, 115, 117, 117, -1, -1, -1, -1, 111, 117}
protected

Definition at line 693 of file Geometry.h.

◆ mCRORCLink

std::array<int, 46> o2::emcal::Geometry::mCRORCLink = {0, 1, 0, 1, 2, 3, 2, 3, 4, 5, 4, 5, 0, 1, 0, 1, 2, 3, 2, 3, 4, -1, 4, 5, 0, 1, 0, 1, 2, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, -1, -1, -1, -1, -1, 5, 3}
protected

Definition at line 694 of file Geometry.h.

◆ mDCALInnerEdge

Float_t o2::emcal::Geometry::mDCALInnerEdge
protected

Inner edge for DCAL.

Definition at line 645 of file Geometry.h.

◆ mDCALInnerExtandedEta

Float_t o2::emcal::Geometry::mDCALInnerExtandedEta
protected

DCAL inner edge in Eta (with some extension)

Definition at line 644 of file Geometry.h.

◆ mDCALPhiMax

Float_t o2::emcal::Geometry::mDCALPhiMax
protected

Maximum angular position of DCAL in Phi (degrees)

Definition at line 641 of file Geometry.h.

◆ mDCALPhiMin

Float_t o2::emcal::Geometry::mDCALPhiMin
protected

Minimum angular position of DCAL in Phi (degrees)

Definition at line 640 of file Geometry.h.

◆ mDCALStandardPhiMax

Float_t o2::emcal::Geometry::mDCALStandardPhiMax
protected

Special edge for the case that DCAL contian extension.

Definition at line 643 of file Geometry.h.

◆ mECPbRadThickness

Float_t o2::emcal::Geometry::mECPbRadThickness
protected

cm, Thickness of the Pb radiators

Definition at line 662 of file Geometry.h.

◆ mECScintThick

Float_t o2::emcal::Geometry::mECScintThick
protected

cm, Thickness of the scintillators

Definition at line 663 of file Geometry.h.

◆ mEMCALPhiMax

Float_t o2::emcal::Geometry::mEMCALPhiMax
protected

Maximum angular position of EMCAL in Phi (degrees)

Definition at line 642 of file Geometry.h.

◆ mEMCSMSystem

std::vector<EMCALSMType> o2::emcal::Geometry::mEMCSMSystem
protected

geometry structure

Type of the supermodule (size number of supermodules

Definition at line 670 of file Geometry.h.

◆ mEnvelop

Float_t o2::emcal::Geometry::mEnvelop[3]
protected

The GEANT TUB for the detector.

Definition at line 634 of file Geometry.h.

◆ mEtaCentersOfCells

std::vector<Double_t> o2::emcal::Geometry::mEtaCentersOfCells
protected

[fNEta*fNETAdiv*fNPhi*fNPHIdiv], positive direction (eta>0); eta depend from phi position;

Definition at line 630 of file Geometry.h.

◆ mEtaMaxOfTRD1

Float_t o2::emcal::Geometry::mEtaMaxOfTRD1
protected

Max eta in case of TRD1 geometry (see AliEMCALShishKebabTrd1Module)

Definition at line 639 of file Geometry.h.

◆ mEtaModuleSize

Float_t o2::emcal::Geometry::mEtaModuleSize
protected

Eta -> Y.

Definition at line 649 of file Geometry.h.

◆ mEtaTileSize

Float_t o2::emcal::Geometry::mEtaTileSize
protected

Size of eta tile.

Definition at line 651 of file Geometry.h.

◆ mFrontSteelStrip

Float_t o2::emcal::Geometry::mFrontSteelStrip
protected

13-may-05

Definition at line 672 of file Geometry.h.

◆ mGeoName

std::string o2::emcal::Geometry::mGeoName
protected

Geometry name string.

Definition at line 614 of file Geometry.h.

◆ mIHADR

Int_t o2::emcal::Geometry::mIHADR
protected

Options for Geant (MIP business) - will call in AliEMCAL.

Definition at line 689 of file Geometry.h.

◆ mILOSS

Int_t o2::emcal::Geometry::mILOSS
protected

Options for Geant (MIP business) - will call in AliEMCAL.

Definition at line 688 of file Geometry.h.

◆ mIPDistance

Float_t o2::emcal::Geometry::mIPDistance
protected

Radial Distance of the inner surface of the EMCAL.

Definition at line 653 of file Geometry.h.

◆ mKey110DEG

Int_t o2::emcal::Geometry::mKey110DEG
protected

For calculation abs cell id; 19-oct-05.

Definition at line 615 of file Geometry.h.

◆ mLateralSteelStrip

Float_t o2::emcal::Geometry::mLateralSteelStrip
protected

13-may-05

Definition at line 673 of file Geometry.h.

◆ mLongModuleSize

Float_t o2::emcal::Geometry::mLongModuleSize
protected

Size of long module.

Definition at line 654 of file Geometry.h.

◆ mNCells

Int_t o2::emcal::Geometry::mNCells
protected

Number of cells in calo.

Definition at line 631 of file Geometry.h.

◆ mNCellsInModule

Int_t o2::emcal::Geometry::mNCellsInModule
protected

Number cell in module.

Definition at line 620 of file Geometry.h.

◆ mNCellsInSupMod

Int_t o2::emcal::Geometry::mNCellsInSupMod
protected

Number cell in super module.

Definition at line 617 of file Geometry.h.

◆ mNECLayers

Int_t o2::emcal::Geometry::mNECLayers
protected

number of scintillator layers

Definition at line 664 of file Geometry.h.

◆ mNETAdiv

Int_t o2::emcal::Geometry::mNETAdiv
protected

Number eta division of module.

Definition at line 618 of file Geometry.h.

◆ mNPhi

Int_t o2::emcal::Geometry::mNPhi
protected

Number of Towers in the PHI direction.

Definition at line 632 of file Geometry.h.

◆ mNPHIdiv

Int_t o2::emcal::Geometry::mNPHIdiv
protected

Number phi division of module.

Definition at line 619 of file Geometry.h.

◆ mNPhiSuperModule

Int_t o2::emcal::Geometry::mNPhiSuperModule
protected

9 - number supermodule in phi direction

Definition at line 677 of file Geometry.h.

◆ mnSupModInDCAL

Int_t o2::emcal::Geometry::mnSupModInDCAL
protected

For calculation abs cell id; 06-nov-12.

Definition at line 616 of file Geometry.h.

◆ mNumberOfSuperModules

Int_t o2::emcal::Geometry::mNumberOfSuperModules
protected

default is 12 = 6 * 2

Definition at line 667 of file Geometry.h.

◆ mNZ

Int_t o2::emcal::Geometry::mNZ
protected

Number of Towers in the Z direction.

Definition at line 652 of file Geometry.h.

◆ mParSM

Float_t o2::emcal::Geometry::mParSM[3]
protected

SM sizes as in GEANT (TRD1)

Definition at line 647 of file Geometry.h.

◆ mPassiveScintThick

Float_t o2::emcal::Geometry::mPassiveScintThick
protected

13-may-05

Definition at line 674 of file Geometry.h.

◆ mPhiBoundariesOfSM

std::vector<Double_t> o2::emcal::Geometry::mPhiBoundariesOfSM
protected

Phi boundaries of SM in rad; size is fNumberOfSuperModules;.

Definition at line 621 of file Geometry.h.

◆ mPhiCentersOfCells

std::vector<Double_t> o2::emcal::Geometry::mPhiCentersOfCells
protected

[fNPhi*fNPHIdiv] from center of SM (-10. < phi < +10.)

Definition at line 626 of file Geometry.h.

◆ mPhiCentersOfSM

std::vector<Double_t> o2::emcal::Geometry::mPhiCentersOfSM
protected

Phi of centers of SM; size is fNumberOfSuperModules/2.

Definition at line 622 of file Geometry.h.

◆ mPhiCentersOfSMSec

std::vector<Double_t> o2::emcal::Geometry::mPhiCentersOfSMSec
protected

Phi of centers of section where SM lies; size is fNumberOfSuperModules/2.

Definition at line 623 of file Geometry.h.

◆ mPhiGapForSM

Float_t o2::emcal::Geometry::mPhiGapForSM
protected

Gap betweeen supermodules in phi direction.

Definition at line 682 of file Geometry.h.

◆ mPhiModuleSize

Float_t o2::emcal::Geometry::mPhiModuleSize
protected

Phi -> X.

Definition at line 648 of file Geometry.h.

◆ mPhiSuperModule

Float_t o2::emcal::Geometry::mPhiSuperModule
protected

Phi of normal supermodule (20, in degree)

Definition at line 676 of file Geometry.h.

◆ mPhiTileSize

Float_t o2::emcal::Geometry::mPhiTileSize
protected

Size of phi tile.

Definition at line 650 of file Geometry.h.

◆ mSampling

Float_t o2::emcal::Geometry::mSampling
protected

Sampling factor.

Definition at line 659 of file Geometry.h.

◆ mShellThickness

Float_t o2::emcal::Geometry::mShellThickness
protected

Total thickness in (x,y) direction.

Definition at line 657 of file Geometry.h.

◆ mShishKebabTrd1Modules

std::vector<ShishKebabTrd1Module> o2::emcal::Geometry::mShishKebabTrd1Modules
protected

List of modules.

Definition at line 646 of file Geometry.h.

◆ mSteelFrontThick

Float_t o2::emcal::Geometry::mSteelFrontThick
protected

Thickness of the front stell face of the support box - 9-sep-04; obsolete?

Definition at line 691 of file Geometry.h.

◆ mTrd1AlFrontThick

Float_t o2::emcal::Geometry::mTrd1AlFrontThick
protected

Thickness of the Al front plate.

Definition at line 685 of file Geometry.h.

◆ mTrd1Angle

Float_t o2::emcal::Geometry::mTrd1Angle
protected

angle in x-z plane (in degree)

Definition at line 680 of file Geometry.h.

◆ mTrd1BondPaperThick

Float_t o2::emcal::Geometry::mTrd1BondPaperThick
protected

Thickness of the Bond Paper sheet.

Definition at line 686 of file Geometry.h.

◆ mZLength

Float_t o2::emcal::Geometry::mZLength
protected

Total length in z direction.

Definition at line 658 of file Geometry.h.

◆ SMODULEMATRIX

const TGeoHMatrix* o2::emcal::Geometry::SMODULEMATRIX[EMCAL_MODULES]
mutableprotected

Orientations of EMCAL super modules.

Definition at line 696 of file Geometry.h.


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