|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "LArReadoutGeometry/FCAL_ChannelMap.h"
9 #include "GeoModelKernel/GeoVFullPhysVol.h"
10 #include "GeoModelKernel/GeoLogVol.h"
11 #include "GeoModelKernel/GeoShape.h"
12 #include "GeoModelKernel/GeoTubs.h"
18 return i <
t.identify();
22 return t.identify() <
i;
30 : GeoVDetectorElement(physVol)
34 , m_dz(((
const GeoTubs *) physVol->getLogVol()->getShape())->getZHalfLength()*2.0)
35 , m_projectivityDisplacement(projectivityDisplacement)
59 unsigned int id = (j<<16) |
i;
62 if ((*it).getIndexI()!=
i || (*it).getIndexJ()!=j) {
96 const GeoVFullPhysVol *fullPhysVol = getMaterialGeom();
98 ? fullPhysVol->getCachedAbsoluteTransform(alignStore)
99 : fullPhysVol->getAbsoluteTransform();
104 const GeoVFullPhysVol *fullPhysVol = getMaterialGeom();
106 ? fullPhysVol->getCachedDefAbsoluteTransform(alignStore)
107 : fullPhysVol->getDefAbsoluteTransform();
126 if (ntubes >
MAXTUBES) std::abort();
Ensure that the extensions for the Vector3D are properly loaded.
A manager class providing access to readout geometry information for the forward calorimeter.
const T * ptr() const
Return a pointer to the cached value.
tileMap_const_iterator end(int isam) const
static constexpr size_t MAXTUBES
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
const tubexy_t & getFullWidths(unsigned int ntubes) const
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
FCALModule::ConstIterator endTiles() const
Iteration over FCAL Tiles.
~FCALModule()
Desctructor.
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
bool const RAWDATA *ch2 const
FCALModule(const GeoVFullPhysVol *physVol, Module module, Endcap endcap, double projectivityDisplacement=4 *Gaudi::Units::cm)
Constructor.
A tile of the forward calorimeter readout geometry.
Module m_Mod
Module number: 1, 2, or 3.
std::vector< FCALTile >::const_iterator ConstIterator
double getFullDepthZ(const FCALTile &) const
Gets Tile (full) Depth.
CxxUtils::CachedValue< tubexy_t > m_tileSizes[MAXTUBES]
const Amg::Transform3D & getDefAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
std::vector< FCALTile > m_tileList
A List of Tiles.
Eigen::Affine3d Transform3D
double getFullWidthX(const FCALTile &tile) const
Gets Tile Full Width in X.
FCALModule::Module getModuleIndex() const
Returns the Module (1,2, or 3)
void set(const T &val) const
Set the value, assuming it is currently invalid.
void setManager(FCALDetectorManager *fcalManager)
Sets the manager.
FCALModule::Endcap getEndcapIndex() const
Returns the side (O=Negative, 1=Positive)
std::pair< double, double > tubexy_t
X/Y pairs of tile sizes.
FCALDetectorManager * m_manager
Point to the manager.
tileMap_t::const_iterator tileMap_const_iterator
const FCALTile * getTile(int i, int j) const
Returns a tile by indices i and j.
bool operator<(unsigned int i, const FCALTile &t)
double getFullWidthY(const FCALTile &tile) const
Gets Tile Full Width in Y.
const FCAL_ChannelMap * getChannelMap() const
Returns the Channel Map.
tileMap_const_iterator begin(int isam) const
void tileSize(int sam, int eta, int phi, float &dx, float &dy) const
double m_dz
Holds Delta Z, Full width of a cell.
FCALModule::ConstIterator beginTiles() const
Iteration over FCAL Tiles.