9 #include "Geometry/LArTPC.h" 11 #include "Helpers/XmlHelper.h" 13 #include "Managers/GeometryManager.h" 15 #include "Pandora/Pandora.h" 16 #include "Pandora/PandoraInputTypes.h" 28 m_zPitch(
std::numeric_limits<float>::max()),
40 if (zLayer < std::numeric_limits<float>::epsilon())
41 throw StatusCodeException(STATUS_CODE_FAILURE);
43 return static_cast<unsigned int>(zLayer);
50 const LArTPCMap &larTPCMap(this->GetPandora().GetGeometry()->GetLArTPCMap());
52 if (larTPCMap.empty())
54 std::cout <<
"LArPseudoLayerPlugin::Initialize - LArTPC description not registered with Pandora as required " << std::endl;
55 return STATUS_CODE_NOT_INITIALIZED;
58 const LArTPC *
const pFirstLArTPC(larTPCMap.begin()->second);
59 m_zPitch = pFirstLArTPC->GetWirePitchW();
61 for (
const LArTPCMap::value_type &mapEntry : larTPCMap)
63 const LArTPC *
const pLArTPC(mapEntry.second);
65 if (std::fabs(m_zPitch - pLArTPC->GetWirePitchW()) > std::numeric_limits<float>::epsilon())
67 std::cout <<
"LArPseudoLayerPlugin::Initialize - Plugin does not support provided LArTPC configurations " << std::endl;
68 return STATUS_CODE_INVALID_PARAMETER;
72 return STATUS_CODE_SUCCESS;
79 return STATUS_CODE_SUCCESS;
unsigned int m_zerothLayer
The zeroth layer.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_zPitch
The z pitch.
pandora::StatusCode Initialize()
unsigned int GetPseudoLayer(const pandora::CartesianVector &positionVector) const
LArPseudoLayerPlugin()
Constructor.
float m_zOffset
The z offset.
Header file for the lar pseudo layer plugin class.