![]() |
Project
|
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. | |
Geometry & | operator= (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 ShishKebabTrd1Module & | GetShishKebabModule (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, int > | GlobalRowColFromIndex (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, int > | GetPositionInSupermoduleFromGlobalRowCol (int row, int col) const |
Get the posision (row, col) of a global row-col position. | |
std::tuple< int, int, int, int > | GetCellIndexFromGlobalRowCol (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, int > | GetCellIndex (Int_t absId) const |
Get cell SM, module numbers from absolute ID number. | |
std::tuple< int, int > | GetModulePhiEtaIndexInSModule (int supermoduleID, int moduleID) const |
Get eta-phi indexes of module in SM. | |
std::tuple< int, int > | GetCellPhiEtaIndexInSModule (int supermoduleID, int moduleID, int phiInModule, int etaInModule) const |
Get eta-phi indexes of cell in SM. | |
std::tuple< int, int > | ShiftOnlineToOfflineCellIndexes (Int_t supermoduleID, Int_t iphi, Int_t ieta) const |
Adapt cell indices in supermodule to online indexing. | |
std::tuple< int, int > | ShiftOfflineToOnlineCellIndexes (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, int > | GetModuleIndexesFromCellIndexesInSModule (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, int > | 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. | |
std::tuple< int, int > | getLinkAssignment (int ddlID) const |
Temporary link assignment (till final link assignment is known -. | |
std::vector< EMCALSMType > | GetEMCSystem () 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 Geometry * | GetInstance () |
Get geometry instance. It should have been set before. | |
static Geometry * | GetInstance (const std::string_view name, const std::string_view mcname="TGeant3", const std::string_view mctitle="") |
Get instance of the EMCAL geometry. | |
static Geometry * | GetInstanceFromRunNumber (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, int > | CalculateCellIndex (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< ShishKebabTrd1Module > | mShishKebabTrd1Modules |
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< EMCALSMType > | mEMCSMSystem |
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. | |
EMCAL geometry definition.
Definition at line 39 of file Geometry.h.
|
default |
Default constructor. It must be kept public for root persistency purposes, but should never be called by the outside world.
Geometry::Geometry | ( | const std::string_view | name, |
const std::string_view | mcname = "" , |
||
const std::string_view | mctitle = "" |
||
) |
Constructor for normal use.
name | Name of the geometry (see table for options) |
mcname | Geant3/4, Flukla, needed for settings of transport |
mctitle | Geant4 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::Geometry | ( | const Geometry & | geom | ) |
Copy constructor.
Definition at line 30 of file Geometry.cxx.
Geometry::~Geometry | ( | ) |
Destructor.
Definition at line 176 of file Geometry.cxx.
Definition at line 551 of file Geometry.h.
Calculate cell SM, module numbers from absolute ID number.
absId | cell absolute id. number |
InvalidCellIDException |
Used in order to fill the lookup table of cell indices
Definition at line 1001 of file Geometry.cxx.
|
inline |
Check whether a cell number is valid.
absId | input absolute cell ID number to check |
Definition at line 703 of file Geometry.h.
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.
|
protected |
Init function of previous class EMCGeometry.
Definition at line 343 of file Geometry.cxx.
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)
mcname | Geant3/4, Flukla, ... |
mctitle | Geant4 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.
std::tuple< double, double > Geometry::EtaPhiFromIndex | ( | Int_t | absId | ) | const |
Figure out the eta/phi coordinates of a cell.
absId | cell absolute id. number. |
Call to GetGlobal().
Definition at line 731 of file Geometry.cxx.
|
inline |
Definition at line 223 of file Geometry.h.
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.
supermoduleID | super module number |
moduleID | module number |
phiInModule | index of cell in module in phi direction 0 or 1 |
etaInModule | index of cell in module in eta direction 0 or 1 |
Definition at line 738 of file Geometry.cxx.
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.
nSupMod | super module number |
iphi | index of cell in phi direction inside super module |
ieta | index of cell in eta direction inside super module |
Definition at line 791 of file Geometry.cxx.
Int_t Geometry::GetAbsCellIdFromEtaPhi | ( | Double_t | eta, |
Double_t | phi | ||
) | const |
Get cell absolute ID number from eta and phi location.
eta | pseudorapidity location |
phi | azimutal location |
InvalidPositionException |
Definition at line 932 of file Geometry.cxx.
|
inline |
Definition at line 179 of file Geometry.h.
|
inline |
Definition at line 178 of file Geometry.h.
|
inline |
Definition at line 177 of file Geometry.h.
|
inline |
Definition at line 176 of file Geometry.h.
Get the absolute cell ID from global position in the EMCAL.
row | Global row ID |
col | Global col ID |
RowColException |
Definition at line 874 of file Geometry.cxx.
Get cell SM, module numbers from absolute ID number.
absId | cell absolute id. number |
InvalidCellIDException |
Definition at line 1039 of file Geometry.cxx.
Get the cell indices from global position in the EMCAL.
row | Global row ID |
col | Global col ID |
RowColException |
Definition at line 880 of file Geometry.cxx.
std::tuple< int, int > Geometry::GetCellPhiEtaIndexInSModule | ( | int | supermoduleID, |
int | moduleID, | ||
int | phiInModule, | ||
int | etaInModule | ||
) | const |
Get eta-phi indexes of cell in SM.
supermoduleID | super module number |
moduleID | module number |
phiInModule | index in phi direction in module |
etaInModule | index in phi direction in module |
Definition at line 1067 of file Geometry.cxx.
|
inline |
Definition at line 526 of file Geometry.h.
|
inline |
Definition at line 534 of file Geometry.h.
|
inline |
Definition at line 530 of file Geometry.h.
|
inline |
Definition at line 184 of file Geometry.h.
|
inline |
Definition at line 190 of file Geometry.h.
|
inline |
Definition at line 186 of file Geometry.h.
|
inline |
Definition at line 185 of file Geometry.h.
|
inline |
Definition at line 188 of file Geometry.h.
|
inlinestatic |
Definition at line 111 of file Geometry.h.
|
inline |
Definition at line 234 of file Geometry.h.
|
inline |
Definition at line 235 of file Geometry.h.
|
inline |
Definition at line 204 of file Geometry.h.
|
inline |
Definition at line 205 of file Geometry.h.
|
inline |
Definition at line 187 of file Geometry.h.
|
inline |
Definition at line 524 of file Geometry.h.
|
inline |
Definition at line 181 of file Geometry.h.
|
inline |
Definition at line 539 of file Geometry.h.
|
inline |
Definition at line 210 of file Geometry.h.
|
inline |
Definition at line 215 of file Geometry.h.
|
inline |
Definition at line 211 of file Geometry.h.
Figure out the global coordinates from local coordinates on a supermodule.
[in] | loc | local coordinates (double[3]) |
[out] | glob | global coordinates (double[2]) |
[in] | ind | super module number |
Use the supermodule alignment.
Definition at line 681 of file Geometry.cxx.
Figure out the global coordinates from local coordinates on a supermodule.
[in] | vloc | local coordinates |
[out] | vglob | global coordinates |
[in] | ind | super module number |
Use the supermodule alignment.
Definition at line 691 of file Geometry.cxx.
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].
absId | cell absolute id. number. |
glob | 3-double coordinates, output |
Definition at line 699 of file Geometry.cxx.
void Geometry::GetGlobal | ( | Int_t | absId, |
TVector3 & | vglob | ||
) | const |
Figure out the global coordinates of a cell.
absId | cell absolute id. number. |
vglob | TVector3 coordinates, output |
Use the supermodule alignment. Use TVector3.
Definition at line 723 of file Geometry.cxx.
|
inline |
Definition at line 232 of file Geometry.h.
|
inline |
Definition at line 231 of file Geometry.h.
|
static |
Get geometry instance. It should have been set before.
GeometryNotInitializedException | in case the geometry is not initialized |
Definition at line 190 of file Geometry.cxx.
|
static |
Get instance of the EMCAL geometry.
name | Geometry name (see constructor for definition) |
mcname | Geant3/4, Fluka, needed for settings of transport |
mctitle | Geant4 physics list |
Also initializes the geometry if
Definition at line 199 of file Geometry.cxx.
|
static |
Instanciate geometry depending on the run number. Mostly used in analysis and MC anchors.
runNumber | as indicated |
geoName | Geometry name, see constructor for options |
mcname | Geant3/4, Fluka, needed for settings of transport (check). Not really needed to be specified. |
mctitle | Geant4 physics list (check). Not really needed to be specified. |
Definition at line 219 of file Geometry.cxx.
|
inline |
Definition at line 180 of file Geometry.h.
|
inline |
Definition at line 229 of file Geometry.h.
|
inline |
Definition at line 212 of file Geometry.h.
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
ddlID | DDL ID |
Definition at line 522 of file Geometry.h.
|
inline |
Definition at line 221 of file Geometry.h.
const TGeoHMatrix * Geometry::GetMatrixForSuperModule | ( | Int_t | smod | ) | const |
Provides shift-rotation matrix for EMCAL from externally set matrix or from TGeoManager.
smod | super module number |
Definition at line 1552 of file Geometry.cxx.
const TGeoHMatrix * Geometry::GetMatrixForSuperModuleFromArray | ( | Int_t | smod | ) | const |
Provides shift-rotation matrix for EMCAL from fkSModuleMatrix[smod].
smod | 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.
const TGeoHMatrix * Geometry::GetMatrixForSuperModuleFromGeoManager | ( | Int_t | smod | ) | const |
Provides shift-rotation matrix for EMCAL from the TGeoManager.
smod | super module number |
Definition at line 1583 of file Geometry.cxx.
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)
supermoduleID | super module number |
phiInSupermodule | index of cell in phi direction inside super module |
etaInSupermodule | index of cell in eta direction inside super module |
Definition at line 778 of file Geometry.cxx.
std::tuple< int, int > Geometry::GetModulePhiEtaIndexInSModule | ( | int | supermoduleID, |
int | moduleID | ||
) | const |
Get eta-phi indexes of module in SM.
supermoduleID | super module number, input |
moduleID | module number, input |
Definition at line 1049 of file Geometry.cxx.
|
inline |
Definition at line 109 of file Geometry.h.
|
inline |
Definition at line 175 of file Geometry.h.
|
inline |
Definition at line 220 of file Geometry.h.
|
inline |
Definition at line 228 of file Geometry.h.
|
inline |
Definition at line 227 of file Geometry.h.
|
inline |
Definition at line 189 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in #eta direction.
Definition at line 198 of file Geometry.h.
|
inline |
Definition at line 219 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in #phi direction.
Definition at line 202 of file Geometry.h.
|
inline |
Definition at line 218 of file Geometry.h.
|
inline |
Definition at line 217 of file Geometry.h.
|
inline |
Definition at line 230 of file Geometry.h.
|
inline |
Definition at line 236 of file Geometry.h.
|
inline |
Definition at line 462 of file Geometry.h.
|
inline |
Definition at line 207 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in z- (beam) direction.
Definition at line 194 of file Geometry.h.
Get link ID, row and column from cell ID, have a look here: https://alice.its.cern.ch/jira/browse/EMCAL-660.
towerID | Cell ID |
Definition at line 1813 of file Geometry.cxx.
|
inline |
Definition at line 213 of file Geometry.h.
std::tuple< double, double > Geometry::GetPhiBoundariesOfSM | ( | Int_t | nSupMod | ) | const |
Definition at line 1795 of file Geometry.cxx.
std::tuple< double, double > Geometry::GetPhiBoundariesOfSMGap | ( | Int_t | nPhiSec | ) | const |
Definition at line 1805 of file Geometry.cxx.
Double_t Geometry::GetPhiCenterOfSM | ( | Int_t | nsupmod | ) | const |
Definition at line 1789 of file Geometry.cxx.
Double_t Geometry::GetPhiCenterOfSMSec | ( | Int_t | nsupmod | ) | const |
Definition at line 1783 of file Geometry.cxx.
|
inline |
Definition at line 543 of file Geometry.h.
|
inline |
Definition at line 208 of file Geometry.h.
|
inline |
Definition at line 209 of file Geometry.h.
|
inline |
Definition at line 216 of file Geometry.h.
|
inline |
Definition at line 214 of file Geometry.h.
std::tuple< int, int, int > Geometry::GetPositionInSupermoduleFromGlobalRowCol | ( | int | row, |
int | col | ||
) | const |
Get the posision (row, col) of a global row-col position.
row | Global row ID |
col | Global col ID |
RowColException |
Definition at line 834 of file Geometry.cxx.
|
inline |
Definition at line 206 of file Geometry.h.
|
inline |
Definition at line 182 of file Geometry.h.
const ShishKebabTrd1Module & Geometry::GetShishKebabModule | ( | Int_t | neta | ) | const |
Get the Module parameters for a eta.
Definition at line 1361 of file Geometry.cxx.
|
inline |
Definition at line 122 of file Geometry.h.
|
inline |
Definition at line 242 of file Geometry.h.
|
inline |
Definition at line 266 of file Geometry.h.
Int_t Geometry::GetSuperModuleNumber | ( | Int_t | absId | ) | const |
Get cell SM, from absolute ID number.
absId | cell absolute id. number |
Definition at line 1047 of file Geometry.cxx.
|
inline |
Definition at line 240 of file Geometry.h.
|
inline |
Definition at line 224 of file Geometry.h.
|
inline |
Definition at line 222 of file Geometry.h.
|
inline |
Definition at line 225 of file Geometry.h.
|
inline |
Definition at line 183 of file Geometry.h.
Get column number of cell in global numbering scheme.
cellID | Absolute cell ID |
InvalidCellIDException |
Definition at line 891 of file Geometry.cxx.
Get row number of cell in global numbering scheme.
cellID | Absolute cell ID |
InvalidCellIDException |
Definition at line 896 of file Geometry.cxx.
get (Column,Row) pair of cell in global numbering scheme
cellID | Absolute cell ID |
InvalidCellIDException |
Definition at line 808 of file Geometry.cxx.
Bool_t Geometry::Impact | ( | const TParticle * | particle | ) | const |
Check if particle falls in the EMCal/DCal geometry.
particle | Particle to be checked |
Call ImpactOnEmcal.
Definition at line 1369 of file Geometry.cxx.
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.
[in] | vtx | TVector3 with vertex |
[in] | theta | theta location |
[in] | phi | azimuthal angle |
[out] | absId | absolute ID number |
[out] | vimpact | TVector3 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.
|
protected |
initializes the parameters of EMCAL
Bool_t Geometry::IsDCALExtSM | ( | Int_t | nSupMod | ) | const |
Check if iSupMod is a valid DCal 1/3rd SM.
nSupMod | ID of the supermodule to check |
Definition at line 1774 of file Geometry.cxx.
Bool_t Geometry::IsDCALSM | ( | Int_t | nSupMod | ) | const |
Check if iSupMod is a valid DCal standard SM.
nSupMod | ID of the supermodule to check |
Definition at line 1765 of file Geometry.cxx.
Bool_t Geometry::IsInDCAL | ( | const math_utils::Point3D< double > & | pnt | ) | const |
Checks whether point is inside the DCal volume.
pnt | Point to be checked |
See IsInEMCALOrDCAL for the definition of the acceptance check
Definition at line 1509 of file Geometry.cxx.
Bool_t Geometry::IsInEMCAL | ( | const math_utils::Point3D< double > & | pnt | ) | const |
Checks whether point is inside the EMCal volume.
pnt | Point to be checked |
See IsInEMCALOrDCAL for the definition of the acceptance check
Definition at line 1500 of file Geometry.cxx.
o2::emcal::AcceptanceType_t Geometry::IsInEMCALOrDCAL | ( | const math_utils::Point3D< double > & | pnt | ) | const |
Checks whether point is inside the EMCal volume (included DCal)
pnt | Point to be checked |
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.
|
inlinestatic |
Definition at line 113 of file Geometry.h.
Assignment operator.
Definition at line 170 of file Geometry.cxx.
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:
Feder.nosp@m.ico..nosp@m.Ronch.nosp@m.etti.nosp@m.@cern.nosp@m..ch
Definition at line 1626 of file Geometry.cxx.
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.
absId | cell absolute id. number, input |
InvalidCellIDException | if cell ID does not exist |
Definition at line 1107 of file Geometry.cxx.
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.
absId | cell absolute id. number, input |
distEf | shower max position? check call in RecPoint! |
InvalidCellIDException | if 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.
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.
|
inline |
Definition at line 272 of file Geometry.h.
|
inline |
Definition at line 271 of file Geometry.h.
Definition at line 274 of file Geometry.h.
std::tuple< int, int > Geometry::ShiftOfflineToOnlineCellIndexes | ( | Int_t | supermoduleID, |
Int_t | iphi, | ||
Int_t | ieta | ||
) | const |
Adapt cell indices in supermodule to offline indexing.
supermoduleID | super module number of the channel/cell |
iphi | row/phi cell index, modified for DCal |
ieta | column/eta index, modified for DCal |
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.
std::tuple< int, int > Geometry::ShiftOnlineToOfflineCellIndexes | ( | Int_t | supermoduleID, |
Int_t | iphi, | ||
Int_t | ieta | ||
) | const |
Adapt cell indices in supermodule to online indexing.
supermoduleID | super module number of the channel/cell |
iphi | row/phi cell index, modified for DCal |
ieta | column/eta index, modified for DCal |
Online mapping and numbering is the same for EMCal and DCal SMs but:
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.
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.
eta | pseudorapidity location |
phi | azimutal location |
InvalidPositionException |
Definition at line 901 of file Geometry.cxx.
Definition at line 555 of file Geometry.h.
|
protected |
2*dx2 for TRD1
Definition at line 681 of file Geometry.h.
|
protected |
Maximum pseudorapidity position of EMCAL in Eta.
Definition at line 636 of file Geometry.h.
|
protected |
Minimum pseudorapidity position of EMCAL in Eta.
Definition at line 635 of file Geometry.h.
|
protected |
Maximum angular position of EMCAL in Phi (degrees)
Definition at line 638 of file Geometry.h.
|
protected |
Minimum angular position of EMCAL in Phi (degrees)
Definition at line 637 of file Geometry.h.
Lookup table for cell indices.
Definition at line 697 of file Geometry.h.
|
protected |
Size fNEta*fNETAdiv (for TRD1 only) (eta or z in SM, in cm)
Definition at line 627 of file Geometry.h.
|
protected |
Size fNPhi*fNPHIdiv (for TRD1 only) (phi or y in SM, in cm)
Definition at line 628 of file Geometry.h.
|
protected |
Size fNEta*fNETAdiv (for TRD1 only) ( x in SM, in cm)
Definition at line 633 of file Geometry.h.
|
protected |
Definition at line 693 of file Geometry.h.
|
protected |
Definition at line 694 of file Geometry.h.
|
protected |
Inner edge for DCAL.
Definition at line 645 of file Geometry.h.
|
protected |
DCAL inner edge in Eta (with some extension)
Definition at line 644 of file Geometry.h.
|
protected |
Maximum angular position of DCAL in Phi (degrees)
Definition at line 641 of file Geometry.h.
|
protected |
Minimum angular position of DCAL in Phi (degrees)
Definition at line 640 of file Geometry.h.
|
protected |
Special edge for the case that DCAL contian extension.
Definition at line 643 of file Geometry.h.
|
protected |
cm, Thickness of the Pb radiators
Definition at line 662 of file Geometry.h.
|
protected |
cm, Thickness of the scintillators
Definition at line 663 of file Geometry.h.
|
protected |
Maximum angular position of EMCAL in Phi (degrees)
Definition at line 642 of file Geometry.h.
|
protected |
geometry structure
Type of the supermodule (size number of supermodules
Definition at line 670 of file Geometry.h.
|
protected |
The GEANT TUB for the detector.
Definition at line 634 of file Geometry.h.
|
protected |
[fNEta*fNETAdiv*fNPhi*fNPHIdiv], positive direction (eta>0); eta depend from phi position;
Definition at line 630 of file Geometry.h.
|
protected |
Max eta in case of TRD1 geometry (see AliEMCALShishKebabTrd1Module)
Definition at line 639 of file Geometry.h.
|
protected |
Eta -> Y.
Definition at line 649 of file Geometry.h.
|
protected |
Size of eta tile.
Definition at line 651 of file Geometry.h.
|
protected |
13-may-05
Definition at line 672 of file Geometry.h.
|
protected |
Geometry name string.
Definition at line 614 of file Geometry.h.
|
protected |
Options for Geant (MIP business) - will call in AliEMCAL.
Definition at line 689 of file Geometry.h.
|
protected |
Options for Geant (MIP business) - will call in AliEMCAL.
Definition at line 688 of file Geometry.h.
|
protected |
Radial Distance of the inner surface of the EMCAL.
Definition at line 653 of file Geometry.h.
|
protected |
For calculation abs cell id; 19-oct-05.
Definition at line 615 of file Geometry.h.
|
protected |
13-may-05
Definition at line 673 of file Geometry.h.
|
protected |
Size of long module.
Definition at line 654 of file Geometry.h.
|
protected |
Number of cells in calo.
Definition at line 631 of file Geometry.h.
|
protected |
Number cell in module.
Definition at line 620 of file Geometry.h.
|
protected |
Number cell in super module.
Definition at line 617 of file Geometry.h.
|
protected |
number of scintillator layers
Definition at line 664 of file Geometry.h.
|
protected |
Number eta division of module.
Definition at line 618 of file Geometry.h.
|
protected |
Number of Towers in the PHI direction.
Definition at line 632 of file Geometry.h.
|
protected |
Number phi division of module.
Definition at line 619 of file Geometry.h.
|
protected |
9 - number supermodule in phi direction
Definition at line 677 of file Geometry.h.
|
protected |
For calculation abs cell id; 06-nov-12.
Definition at line 616 of file Geometry.h.
|
protected |
default is 12 = 6 * 2
Definition at line 667 of file Geometry.h.
|
protected |
Number of Towers in the Z direction.
Definition at line 652 of file Geometry.h.
|
protected |
SM sizes as in GEANT (TRD1)
Definition at line 647 of file Geometry.h.
|
protected |
13-may-05
Definition at line 674 of file Geometry.h.
|
protected |
Phi boundaries of SM in rad; size is fNumberOfSuperModules;.
Definition at line 621 of file Geometry.h.
|
protected |
[fNPhi*fNPHIdiv] from center of SM (-10. < phi < +10.)
Definition at line 626 of file Geometry.h.
|
protected |
Phi of centers of SM; size is fNumberOfSuperModules/2.
Definition at line 622 of file Geometry.h.
|
protected |
Phi of centers of section where SM lies; size is fNumberOfSuperModules/2.
Definition at line 623 of file Geometry.h.
|
protected |
Gap betweeen supermodules in phi direction.
Definition at line 682 of file Geometry.h.
|
protected |
Phi -> X.
Definition at line 648 of file Geometry.h.
|
protected |
Phi of normal supermodule (20, in degree)
Definition at line 676 of file Geometry.h.
|
protected |
Size of phi tile.
Definition at line 650 of file Geometry.h.
|
protected |
Sampling factor.
Definition at line 659 of file Geometry.h.
|
protected |
Total thickness in (x,y) direction.
Definition at line 657 of file Geometry.h.
|
protected |
List of modules.
Definition at line 646 of file Geometry.h.
|
protected |
Thickness of the front stell face of the support box - 9-sep-04; obsolete?
Definition at line 691 of file Geometry.h.
|
protected |
Thickness of the Al front plate.
Definition at line 685 of file Geometry.h.
|
protected |
angle in x-z plane (in degree)
Definition at line 680 of file Geometry.h.
|
protected |
Thickness of the Bond Paper sheet.
Definition at line 686 of file Geometry.h.
|
protected |
Total length in z direction.
Definition at line 658 of file Geometry.h.
|
mutableprotected |
Orientations of EMCAL super modules.
Definition at line 696 of file Geometry.h.