![]() |
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< bool, int, int > | areAbsIDsFromSameTCard (int absId1, int absId2) const |
| Check if 2 cells belong to the same T-Card. | |
| 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 | SetMisalMatrixFromCcdb (const char *path="Users/m/mhemmer/EMCAL/Config/GeometryAligned", int timestamp=10000) 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 41 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.
|
explicit |
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 119 of file Geometry.cxx.
| Geometry::Geometry | ( | const Geometry & | geom | ) |
Copy constructor.
Definition at line 53 of file Geometry.cxx.
| Geometry::~Geometry | ( | ) |
Destructor.
Definition at line 199 of file Geometry.cxx.
Definition at line 561 of file Geometry.h.
Check if 2 cells belong to the same T-Card.
| absId1 | Reference absId cell |
| absId2 | Cross checked cell absId |
Definition at line 1881 of file Geometry.cxx.
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 1024 of file Geometry.cxx.
|
inline |
Check whether a cell number is valid.
| absId | input absolute cell ID number to check |
Definition at line 718 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 1271 of file Geometry.cxx.
|
protected |
Init function of previous class EMCGeometry.
Definition at line 366 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 308 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 754 of file Geometry.cxx.
|
inline |
Definition at line 225 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 761 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 814 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 955 of file Geometry.cxx.
|
inline |
Definition at line 181 of file Geometry.h.
|
inline |
Definition at line 180 of file Geometry.h.
|
inline |
Definition at line 179 of file Geometry.h.
|
inline |
Definition at line 178 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 897 of file Geometry.cxx.
Get cell SM, module numbers from absolute ID number.
| absId | cell absolute id. number |
| InvalidCellIDException |
Definition at line 1062 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 903 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 1090 of file Geometry.cxx.
|
inline |
Definition at line 536 of file Geometry.h.
|
inline |
Definition at line 544 of file Geometry.h.
|
inline |
Definition at line 540 of file Geometry.h.
|
inline |
Definition at line 186 of file Geometry.h.
|
inline |
Definition at line 192 of file Geometry.h.
|
inline |
Definition at line 188 of file Geometry.h.
|
inline |
Definition at line 187 of file Geometry.h.
|
inline |
Definition at line 190 of file Geometry.h.
|
inlinestatic |
Definition at line 113 of file Geometry.h.
|
inline |
Definition at line 236 of file Geometry.h.
|
inline |
Definition at line 237 of file Geometry.h.
|
inline |
Definition at line 206 of file Geometry.h.
|
inline |
Definition at line 207 of file Geometry.h.
|
inline |
Definition at line 189 of file Geometry.h.
|
inline |
Definition at line 534 of file Geometry.h.
|
inline |
Definition at line 183 of file Geometry.h.
|
inline |
Definition at line 549 of file Geometry.h.
|
inline |
Definition at line 212 of file Geometry.h.
|
inline |
Definition at line 217 of file Geometry.h.
|
inline |
Definition at line 213 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 704 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 714 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 722 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 746 of file Geometry.cxx.
|
inline |
Definition at line 234 of file Geometry.h.
|
inline |
Definition at line 233 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 213 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 222 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 242 of file Geometry.cxx.
|
inline |
Definition at line 182 of file Geometry.h.
|
inline |
Definition at line 231 of file Geometry.h.
|
inline |
Definition at line 214 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 532 of file Geometry.h.
|
inline |
Definition at line 223 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 1575 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 1598 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 1607 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 801 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 1072 of file Geometry.cxx.
|
inline |
Definition at line 111 of file Geometry.h.
|
inline |
Definition at line 177 of file Geometry.h.
|
inline |
Definition at line 222 of file Geometry.h.
|
inline |
Definition at line 230 of file Geometry.h.
|
inline |
Definition at line 229 of file Geometry.h.
|
inline |
Definition at line 191 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in #eta direction.
Definition at line 200 of file Geometry.h.
|
inline |
Definition at line 221 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in #phi direction.
Definition at line 204 of file Geometry.h.
|
inline |
Definition at line 220 of file Geometry.h.
|
inline |
Definition at line 219 of file Geometry.h.
|
inline |
Definition at line 232 of file Geometry.h.
|
inline |
Definition at line 238 of file Geometry.h.
|
inline |
Definition at line 464 of file Geometry.h.
|
inline |
Definition at line 209 of file Geometry.h.
|
inline |
Get the number of modules in supermodule in z- (beam) direction.
Definition at line 196 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 1856 of file Geometry.cxx.
|
inline |
Definition at line 215 of file Geometry.h.
| std::tuple< double, double > Geometry::GetPhiBoundariesOfSM | ( | Int_t | nSupMod | ) | const |
Definition at line 1838 of file Geometry.cxx.
| std::tuple< double, double > Geometry::GetPhiBoundariesOfSMGap | ( | Int_t | nPhiSec | ) | const |
Definition at line 1848 of file Geometry.cxx.
| Double_t Geometry::GetPhiCenterOfSM | ( | Int_t | nsupmod | ) | const |
Definition at line 1832 of file Geometry.cxx.
| Double_t Geometry::GetPhiCenterOfSMSec | ( | Int_t | nsupmod | ) | const |
Definition at line 1826 of file Geometry.cxx.
|
inline |
Definition at line 553 of file Geometry.h.
|
inline |
Definition at line 210 of file Geometry.h.
|
inline |
Definition at line 211 of file Geometry.h.
|
inline |
Definition at line 218 of file Geometry.h.
|
inline |
Definition at line 216 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 857 of file Geometry.cxx.
|
inline |
Definition at line 208 of file Geometry.h.
|
inline |
Definition at line 184 of file Geometry.h.
| const ShishKebabTrd1Module & Geometry::GetShishKebabModule | ( | Int_t | neta | ) | const |
Get the Module parameters for a eta.
Definition at line 1384 of file Geometry.cxx.
|
inline |
Definition at line 124 of file Geometry.h.
|
inline |
Definition at line 244 of file Geometry.h.
|
inline |
Definition at line 268 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 1070 of file Geometry.cxx.
|
inline |
Definition at line 242 of file Geometry.h.
|
inline |
Definition at line 226 of file Geometry.h.
|
inline |
Definition at line 224 of file Geometry.h.
|
inline |
Definition at line 227 of file Geometry.h.
|
inline |
Definition at line 185 of file Geometry.h.
Get column number of cell in global numbering scheme.
| cellID | Absolute cell ID |
| InvalidCellIDException |
Definition at line 914 of file Geometry.cxx.
Get row number of cell in global numbering scheme.
| cellID | Absolute cell ID |
| InvalidCellIDException |
Definition at line 919 of file Geometry.cxx.
get (Column,Row) pair of cell in global numbering scheme
| cellID | Absolute cell ID |
| InvalidCellIDException |
Definition at line 831 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 1392 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 1407 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 1817 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 1808 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 1532 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 1523 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 1541 of file Geometry.cxx.
|
inlinestatic |
Definition at line 115 of file Geometry.h.
Assignment operator.
Definition at line 193 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 1650 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 1130 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 1195 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 1778 of file Geometry.cxx.
| void Geometry::SetMisalMatrixFromCcdb | ( | const char * | path = "Users/m/mhemmer/EMCAL/Config/GeometryAligned", |
| int | timestamp = 10000 |
||
| ) | const |
Method to set shift-rotational matrixes from CCDB
Definition at line 1789 of file Geometry.cxx.
|
inline |
Definition at line 274 of file Geometry.h.
|
inline |
Definition at line 273 of file Geometry.h.
Definition at line 276 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 1118 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 1106 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 924 of file Geometry.cxx.
Definition at line 565 of file Geometry.h.
|
protected |
2*dx2 for TRD1
Definition at line 696 of file Geometry.h.
|
protected |
Maximum pseudorapidity position of EMCAL in Eta.
Definition at line 651 of file Geometry.h.
|
protected |
Minimum pseudorapidity position of EMCAL in Eta.
Definition at line 650 of file Geometry.h.
|
protected |
Maximum angular position of EMCAL in Phi (degrees)
Definition at line 653 of file Geometry.h.
|
protected |
Minimum angular position of EMCAL in Phi (degrees)
Definition at line 652 of file Geometry.h.
Lookup table for cell indices.
Definition at line 712 of file Geometry.h.
|
protected |
Size fNEta*fNETAdiv (for TRD1 only) (eta or z in SM, in cm)
Definition at line 642 of file Geometry.h.
|
protected |
Size fNPhi*fNPHIdiv (for TRD1 only) (phi or y in SM, in cm)
Definition at line 643 of file Geometry.h.
|
protected |
Size fNEta*fNETAdiv (for TRD1 only) ( x in SM, in cm)
Definition at line 648 of file Geometry.h.
|
protected |
Definition at line 708 of file Geometry.h.
|
protected |
Definition at line 709 of file Geometry.h.
|
protected |
Inner edge for DCAL.
Definition at line 660 of file Geometry.h.
|
protected |
DCAL inner edge in Eta (with some extension)
Definition at line 659 of file Geometry.h.
|
protected |
Maximum angular position of DCAL in Phi (degrees)
Definition at line 656 of file Geometry.h.
|
protected |
Minimum angular position of DCAL in Phi (degrees)
Definition at line 655 of file Geometry.h.
|
protected |
Special edge for the case that DCAL contian extension.
Definition at line 658 of file Geometry.h.
|
protected |
cm, Thickness of the Pb radiators
Definition at line 677 of file Geometry.h.
|
protected |
cm, Thickness of the scintillators
Definition at line 678 of file Geometry.h.
|
protected |
Maximum angular position of EMCAL in Phi (degrees)
Definition at line 657 of file Geometry.h.
|
protected |
geometry structure
Type of the supermodule (size number of supermodules
Definition at line 685 of file Geometry.h.
|
protected |
The GEANT TUB for the detector.
Definition at line 649 of file Geometry.h.
|
protected |
[fNEta*fNETAdiv*fNPhi*fNPHIdiv], positive direction (eta>0); eta depend from phi position;
Definition at line 645 of file Geometry.h.
|
protected |
Max eta in case of TRD1 geometry (see AliEMCALShishKebabTrd1Module)
Definition at line 654 of file Geometry.h.
|
protected |
Eta -> Y.
Definition at line 664 of file Geometry.h.
|
protected |
Size of eta tile.
Definition at line 666 of file Geometry.h.
|
protected |
13-may-05
Definition at line 687 of file Geometry.h.
|
protected |
Geometry name string.
Definition at line 629 of file Geometry.h.
|
protected |
Options for Geant (MIP business) - will call in AliEMCAL.
Definition at line 704 of file Geometry.h.
|
protected |
Options for Geant (MIP business) - will call in AliEMCAL.
Definition at line 703 of file Geometry.h.
|
protected |
Radial Distance of the inner surface of the EMCAL.
Definition at line 668 of file Geometry.h.
|
protected |
For calculation abs cell id; 19-oct-05.
Definition at line 630 of file Geometry.h.
|
protected |
13-may-05
Definition at line 688 of file Geometry.h.
|
protected |
Size of long module.
Definition at line 669 of file Geometry.h.
|
protected |
Number of cells in calo.
Definition at line 646 of file Geometry.h.
|
protected |
Number cell in module.
Definition at line 635 of file Geometry.h.
|
protected |
Number cell in super module.
Definition at line 632 of file Geometry.h.
|
protected |
number of scintillator layers
Definition at line 679 of file Geometry.h.
|
protected |
Number eta division of module.
Definition at line 633 of file Geometry.h.
|
protected |
Number of Towers in the PHI direction.
Definition at line 647 of file Geometry.h.
|
protected |
Number phi division of module.
Definition at line 634 of file Geometry.h.
|
protected |
9 - number supermodule in phi direction
Definition at line 692 of file Geometry.h.
|
protected |
For calculation abs cell id; 06-nov-12.
Definition at line 631 of file Geometry.h.
|
protected |
default is 12 = 6 * 2
Definition at line 682 of file Geometry.h.
|
protected |
Number of Towers in the Z direction.
Definition at line 667 of file Geometry.h.
|
protected |
SM sizes as in GEANT (TRD1)
Definition at line 662 of file Geometry.h.
|
protected |
13-may-05
Definition at line 689 of file Geometry.h.
|
protected |
Phi boundaries of SM in rad; size is fNumberOfSuperModules;.
Definition at line 636 of file Geometry.h.
|
protected |
[fNPhi*fNPHIdiv] from center of SM (-10. < phi < +10.)
Definition at line 641 of file Geometry.h.
|
protected |
Phi of centers of SM; size is fNumberOfSuperModules/2.
Definition at line 637 of file Geometry.h.
|
protected |
Phi of centers of section where SM lies; size is fNumberOfSuperModules/2.
Definition at line 638 of file Geometry.h.
|
protected |
Gap betweeen supermodules in phi direction.
Definition at line 697 of file Geometry.h.
|
protected |
Phi -> X.
Definition at line 663 of file Geometry.h.
|
protected |
Phi of normal supermodule (20, in degree)
Definition at line 691 of file Geometry.h.
|
protected |
Size of phi tile.
Definition at line 665 of file Geometry.h.
|
protected |
Sampling factor.
Definition at line 674 of file Geometry.h.
|
protected |
Total thickness in (x,y) direction.
Definition at line 672 of file Geometry.h.
|
protected |
List of modules.
Definition at line 661 of file Geometry.h.
|
protected |
Thickness of the front stell face of the support box - 9-sep-04; obsolete?
Definition at line 706 of file Geometry.h.
|
protected |
Thickness of the Al front plate.
Definition at line 700 of file Geometry.h.
|
protected |
angle in x-z plane (in degree)
Definition at line 695 of file Geometry.h.
|
protected |
Thickness of the Bond Paper sheet.
Definition at line 701 of file Geometry.h.
|
protected |
Total length in z direction.
Definition at line 673 of file Geometry.h.
|
mutableprotected |
Orientations of EMCAL super modules.
Definition at line 711 of file Geometry.h.