1 #ifndef PSEUDOLAYER_PLUGIN_H 2 #define PSEUDOLAYER_PLUGIN_H 1 5 #include "Objects/CartesianVector.h" 8 #include "Plugins/PseudoLayerPlugin.h" 11 #include "Api/PandoraApi.h" 20 namespace gar_pandora {
35 unsigned int GetPseudoLayer(
const pandora::CartesianVector &positionVector)
const;
49 pandora::StatusCode
GetPseudoLayer(
const float rCoordinate,
const float zCoordinate,
const float rCorrection,
const float zCorrection,
const float barrelInnerR,
const float endCapInnerZ,
unsigned int &pseudoLayer)
const;
60 pandora::StatusCode
FindMatchingLayer(
const float position,
const LayerPositionList &layerPositionList,
unsigned int &layer)
const;
73 void StoreLayerPositions(
const pandora::SubDetector &subDetector, LayerPositionList &LayerPositionList);
101 float GetMaximumRadius(
const AngleVector &angleVector,
const float x,
const float y)
const;
110 void FillAngleVector(
const unsigned int symmetryOrder,
const float phi0, AngleVector &angleVector)
const;
112 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
132 const unsigned int pseudoLayerAtIp(this->
GetPseudoLayer(pandora::CartesianVector(0.
f, 0.
f, 0.
f)));
133 return pseudoLayerAtIp;
138 #endif // #ifndef PSEUDOLAYER_PLUGIN_H
void StoreLayerPositions()
Store all revelevant barrel and endcap layer positions upon initialization.
void StoreDetectorOuterEdge()
Store positions of barrel and endcap outer edges upon initialization.
float m_barrelEdgeR
Extremal barrel r coordinate.
LayerPositionList m_barrelLayerPositions
List of barrel layer positions.
std::vector< std::pair< float, float > > AngleVector
LayerPositionList m_endCapLayerPositions
List of endcap layer positions.
float m_endCapEdgeZ
Extremal endcap z coordinate.
pandora::StatusCode Initialize()
float m_endCapInnerZ
Endcap inner z position.
unsigned int GetPseudoLayer(const pandora::CartesianVector &positionVector) const
void StoreOverlapCorrectionDetails()
Store all details revelevant to barrel/endcap overlap corrections upon initialization.
pandora::StatusCode FindMatchingLayer(const float position, const LayerPositionList &layerPositionList, unsigned int &layer) const
Find the layer number corresponding to a specified position, via reference to a specified layer posit...
unsigned int GetPseudoLayerAtIp() const
PseudoLayerPlugin()
Default constructor.
void FillAngleVector(const unsigned int symmetryOrder, const float phi0, AngleVector &angleVector) const
Fill a vector with sine/cosine values for relevant polygon angles.
float m_zCorrection
Barrel/endcap overlap z correction.
General GArSoft Utilities.
float GetMaximumRadius(const AngleVector &angleVector, const float x, const float y) const
Get the maximum polygon radius, with reference to cached sine/cosine values for relevant polygon angl...
void StorePolygonAngles()
Store sine and cosine of angles used to project hit positions onto polygonal calorimeter surfaces upo...
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_barrelInnerR
Barrel inner radius.
AngleVector m_eCalBarrelAngleVector
The ecal barrel angle vector.
float m_rCorrection
Barrel/endcap overlap r correction.
std::vector< float > LayerPositionList