28 #ifndef APRILPSEUDOLAYERPLUGIN_H
29 #define APRILPSEUDOLAYERPLUGIN_H 1
31 #include "Pandora/PandoraInputTypes.h"
33 #include "Plugins/PseudoLayerPlugin.h"
35 namespace april_content
50 pandora::StatusCode Initialize();
52 unsigned int GetPseudoLayer(
const pandora::CartesianVector &positionVector)
const;
53 unsigned int GetPseudoLayerAtIp()
const;
66 pandora::StatusCode GetPseudoLayer(
const float rCoordinate,
const float zCoordinate,
const float rCorrection,
const float zCorrection,
67 const float barrelInnerR,
const float endCapInnerZ,
unsigned int &pseudoLayer)
const;
69 typedef std::vector<float> LayerPositionList;
78 pandora::StatusCode
FindMatchingLayer(
const float position,
const LayerPositionList &layerPositionList,
unsigned int &layer)
const;
91 void StoreLayerPositions(
const pandora::SubDetector &subDetector, LayerPositionList &LayerPositionList);
108 typedef std::vector< std::pair<float, float> > AngleVector;
119 float GetMaximumRadius(
const AngleVector &angleVector,
const float x,
const float y)
const;
128 void FillAngleVector(
const unsigned int symmetryOrder,
const float phi0, AngleVector &angleVector)
const;
130 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
156 inline unsigned int APRILPseudoLayerPlugin::GetPseudoLayerAtIp()
const
158 const unsigned int pseudoLayerAtIp(this->GetPseudoLayer(pandora::CartesianVector(0.f, 0.f, 0.f)));
159 return pseudoLayerAtIp;
164 #endif // #ifndef LC_PSEUDO_LAYER_PLUGIN_H
float m_rCorrection
Barrel/endcap overlap r correction.
Definition: APRILPseudoLayerPlugin.h:143
void FillAngleVector(const unsigned int symmetryOrder, const float phi0, AngleVector &angleVector) const
Fill a vector with sine/cosine values for relevant polygon angles.
Definition: APRILPseudoLayerPlugin.cc:302
bool m_useCoordinateCorrections
Whether to use coordinate correction in intermediate regions.
Definition: APRILPseudoLayerPlugin.h:151
float m_barrelInnerR
Barrel inner radius.
Definition: APRILPseudoLayerPlugin.h:138
void StoreOverlapCorrectionDetails()
Store all details revelevant to barrel/endcap overlap corrections upon initialization.
Definition: APRILPseudoLayerPlugin.cc:260
void StoreLayerPositions()
Store all revelevant barrel and endcap layer positions upon initialization.
Definition: APRILPseudoLayerPlugin.cc:173
float m_zCorrection
Barrel/endcap overlap z correction.
Definition: APRILPseudoLayerPlugin.h:144
AngleVector m_muonBarrelAngleVector
The muon barrel angle vector.
Definition: APRILPseudoLayerPlugin.h:136
APRILPseudoLayerPlugin class.
Definition: APRILPseudoLayerPlugin.h:41
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...
Definition: APRILPseudoLayerPlugin.cc:141
float m_barrelInnerRMuon
Muon barrel inner radius.
Definition: APRILPseudoLayerPlugin.h:140
float m_zCorrectionMuon
Muon barrel/endcap overlap z correction.
Definition: APRILPseudoLayerPlugin.h:146
float m_barrelEdgeR
Extremal barrel r coordinate.
Definition: APRILPseudoLayerPlugin.h:148
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...
Definition: APRILPseudoLayerPlugin.cc:283
float m_rCorrectionMuon
Muon barrel/endcap overlap r correction.
Definition: APRILPseudoLayerPlugin.h:145
AngleVector m_eCalBarrelAngleVector
The ecal barrel angle vector.
Definition: APRILPseudoLayerPlugin.h:135
LayerPositionList m_endCapLayerPositions
List of endcap layer positions.
Definition: APRILPseudoLayerPlugin.h:134
void StoreDetectorOuterEdge()
Store positions of barrel and endcap outer edges upon initialization.
Definition: APRILPseudoLayerPlugin.cc:222
float m_endCapInnerZMuon
Muon endcap inner z position.
Definition: APRILPseudoLayerPlugin.h:141
float m_endCapEdgeZ
Extremal endcap z coordinate.
Definition: APRILPseudoLayerPlugin.h:149
LayerPositionList m_barrelLayerPositions
List of barrel layer positions.
Definition: APRILPseudoLayerPlugin.h:133
APRILPseudoLayerPlugin()
Default constructor.
Definition: APRILPseudoLayerPlugin.cc:34
float m_endCapInnerZ
Endcap inner z position.
Definition: APRILPseudoLayerPlugin.h:139
void StorePolygonAngles()
Store sine and cosine of angles used to project hit positions onto polygonal calorimeter surfaces upo...
Definition: APRILPseudoLayerPlugin.cc:247