5#ifndef LARREADOUTGEOMETRY_FCALMODULE_H
6#define LARREADOUTGEOMETRY_FCALMODULE_H
8#include "Identifier/Identifier.h"
10#include "GeoModelKernel/GeoVDetectorElement.h"
11#include "GeoModelKernel/GeoDefinitions.h"
12#include "GaudiKernel/SystemOfUnits.h"
50 ,
double projectivityDisplacement = 4*Gaudi::Units::cm);
Cached value with atomic update.
Cached value with atomic update.
A manager class providing access to readout geometry information for the forward calorimeter.
FCALModule::Endcap getEndcapIndex() const
Returns the side (O=Negative, 1=Positive)
FCALModule & operator=(const FCALModule &right)
double getProjectivityDisplacement() const
std::vector< FCALTile > m_tileList
A List of Tiles.
double getFullWidthY(const FCALTile &tile) const
Gets Tile Full Width in Y.
const FCALDetectorManager * getManager() const
Gets the manager.
double getFullDepthZ(const FCALTile &) const
Gets Tile (full) Depth.
double getFullWidthX(const FCALTile &tile) const
Gets Tile Full Width in X.
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
FCALDetectorManager * m_manager
Point to the manager.
double m_dz
Holds Delta Z, Full width of a cell.
~FCALModule()
Desctructor.
Module m_Mod
Module number: 1, 2, or 3.
friend class FCALDetectorManager
std::vector< FCALTile >::const_iterator ConstIterator
std::pair< double, double > tubexy_t
X/Y pairs of tile sizes.
FCALModule::ConstIterator beginTiles() const
Iteration over FCAL Tiles.
void setManager(FCALDetectorManager *fcalManager)
Sets the manager.
FCALModule::Module getModuleIndex() const
Returns the Module (1,2, or 3)
const FCALTile * getTile(int i, int j) const
Returns a tile by indices i and j.
double m_projectivityDisplacement
static constexpr size_t MAXTUBES
CxxUtils::CachedValue< tubexy_t > m_tileSizes[MAXTUBES]
FCALModule(const GeoVFullPhysVol *physVol, Module module, Endcap endcap, double projectivityDisplacement=4 *Gaudi::Units::cm)
Constructor.
const Amg::Transform3D & getDefAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
const tubexy_t & getFullWidths(unsigned int ntubes) const
FCALModule(const FCALModule &right)
FCALModule::ConstIterator endTiles() const
Iteration over FCAL Tiles.
A tile of the forward calorimeter readout geometry.
Ensure that the extensions for the Vector3D are properly loaded.
Eigen::Affine3d Transform3D