Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-19 09:18:14

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef EDM4EIC_ClusterDATA_H
0004 #define EDM4EIC_ClusterDATA_H
0005 
0006 #include "edm4eic/Cov2f.h"
0007 #include "edm4eic/Cov3f.h"
0008 #include "edm4hep/Vector3f.h"
0009 #include <array>
0010 #include <cstdint>
0011 
0012 namespace edm4eic {
0013 
0014 
0015 /** @class ClusterData
0016  *  EIC hit cluster, reworked to more closely resemble EDM4hep
0017  *  @author: W. Armstrong, S. Joosten, C.Peng
0018  */
0019 class ClusterData {
0020 public:
0021   std::int32_t type{}; ///< Flag-word that defines the type of the cluster
0022   float energy{}; ///< Reconstructed energy of the cluster [GeV].
0023   float energyError{}; ///< Error on the cluster energy [GeV]
0024   float time{}; ///< [ns]
0025   float timeError{}; ///< Error on the cluster time
0026   std::uint32_t nhits{}; ///< Number of hits in the cluster.
0027   ::edm4hep::Vector3f position{}; ///< Global position of the cluster [mm].
0028   ::edm4eic::Cov3f positionError{}; ///< Covariance matrix of the position (6 Parameters).
0029   float radius{}; ///< Cluster radius [mm].
0030   float dispersion{}; ///< Cluster dispersion [mm].
0031   std::array<float, 3> principalAxesLengthsXYZ{}; ///< Lengths along the cluster's principal axes [mm], sorted in descending order (equivalent to sqrt of eigenvalues of the position covariance). For an XY planar detector one can expect this to be [sigma_max, sigma_min, 0].
0032   std::array<float, 2> principalAxesLengthsThetaPhi{}; ///< Lengths along the cluster's principal axes [rad], sorted in descending order.
0033   float intrinsicTheta{}; ///< Intrinsic cluster propagation direction polar angle [rad].
0034   float intrinsicPhi{}; ///< Intrinsic cluster propagation direction azimuthal angle [rad]. For an XY planar detector one can expect this to be the tilt of "sigma_max" axis.
0035   ::edm4eic::Cov2f intrinsicDirectionError{}; ///< Error on the intrinsic cluster propagation direction
0036 
0037   unsigned int shapeParameters_begin{};
0038   unsigned int shapeParameters_end{};
0039   unsigned int hitContributions_begin{};
0040   unsigned int hitContributions_end{};
0041   unsigned int subdetectorEnergies_begin{};
0042   unsigned int subdetectorEnergies_end{};
0043   unsigned int clusters_begin{};
0044   unsigned int clusters_end{};
0045   unsigned int hits_begin{};
0046   unsigned int hits_end{};
0047   unsigned int particleIDs_begin{};
0048   unsigned int particleIDs_end{};
0049 };
0050 
0051 
0052 namespace v81000 {
0053 using ClusterData = edm4eic::ClusterData;
0054 } // namespace v81000
0055 
0056 
0057 } // namespace edm4eic
0058 
0059 
0060 #endif