|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef CALOEXTENSIONHELPERS_H
6 #define CALOEXTENSIONHELPERS_H
21 typedef std::map< CaloSampling::CaloSample, std::pair<Amg::Vector3D, Amg::Vector3D> >
EntryExitLayerMap;
136 template<
class T,
class O>
168 val.second = 0.5*(
exit.position() +
entry.position() );
232 std::get<0>(
val) =
true;
233 std::get<1>(
val) =
entry.position().eta();
234 std::get<2>(
val) =
entry.position().phi();
262 std::get<0>(
val) =
true;
263 std::get<1>(
val) =
pos.eta();
264 std::get<2>(
val) =
pos.phi();
void midPointEtaPhiPerLayerVector(const Trk::CaloExtension &extension, EtaPhiPerLayerVector &result, const LayersToSelect *selection=nullptr)
void midPointEtaPhiHashLookupVector(const Trk::CaloExtension &extension, EtaPhiHashLookupVector &result)
std::map< CaloSampling::CaloSample, double > ScalarLayerMap
std::vector< std::pair< bool, Amg::Vector3D > > MidPointsHashLookupVector
Tracking class to hold the extrapolation from a particle from the ID to the muon system (or the other...
void entryEtaPhiPerLayerVector(const Trk::CaloExtension &extension, EtaPhiPerLayerVector &result, const LayersToSelect *selection=nullptr)
void entryExitLayerMap(const Trk::CaloExtension &extension, EntryExitLayerMap &result, const LayersToSelect *selection=nullptr)
CaloSampling::CaloSample caloSample(TrackParametersIdentifier id) const
CaloSample encoded in id, returns CaloSampling::Unknown if id is not valid
std::vector< size_t > vec
bool isEntryToVolume(TrackParametersIdentifier id) const
returns true if the id belongs to the volume entrance
helper class to encode and decode a TrackParametersIdentifier
std::vector< std::tuple< bool, double, double > > EtaPhiHashLookupVector
std::vector< std::tuple< CaloSampling::CaloSample, double, double > > EtaPhiPerLayerVector
std::vector< std::tuple< CaloSampling::CaloSample, Amg::Vector3D, Amg::Vector3D > > EntryExitPerLayerVector
std::map< CaloSampling::CaloSample, std::pair< Amg::Vector3D, Amg::Vector3D > > EntryExitLayerMap
void midPointsHashLookupVector(const Trk::CaloExtension &extension, MidPointsHashLookupVector &result)
const std::string selection
void pathLenLayerMap(const Trk::CaloExtension &extension, ScalarLayerMap &result)
void eLossLayerMap(const Trk::CaloExtension &extension, ScalarLayerMap &result)
static constexpr unsigned int getNumberOfSamplings()
Get number of available samplings.
Eigen::Matrix< double, 3, 1 > Vector3D
void entryExitPerLayerVector(const Trk::CaloExtension &extension, EntryExitPerLayerVector &result, const LayersToSelect *selection=nullptr)
void entryEtaPhiHashLookupVector(const Trk::CaloExtension &extension, EtaPhiHashLookupVector &result)
const std::vector< CurvilinearParameters > & caloLayerIntersections() const
access to the intersections with the calorimeter layers.
void entryExitProcessor(const Trk::CaloExtension &extension, T &result, O oper, const LayersToSelect *selection=nullptr)
the header provides a set of helper functions to extract per layer information from the CaloExtension
Scalar mag() const
mag method
std::set< CaloSampling::CaloSample > LayersToSelect