Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/edm4hep/TrackState.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef EDM4HEP_TrackState_H
0004 #define EDM4HEP_TrackState_H
0005 
0006 #include "edm4hep/CovMatrix6f.h"
0007 #include "edm4hep/Vector3f.h"
0008 #include <cstdint>
0009 #include <edm4hep/Constants.h>
0010 #include <ostream>
0011 
0012 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0013 #include "nlohmann/json_fwd.hpp"
0014 #endif
0015 
0016 namespace edm4hep {
0017 
0018 /** @class TrackState
0019  *  Parametrized description of a particle track
0020  *  @author:
0021  */
0022 class TrackState {
0023 public:
0024   std::int32_t location{}; ///< for use with At{Other|IP|FirstHit|LastHit|Calorimeter|Vertex}|LastLocation
0025   float D0{};              ///< transverse impact parameter
0026   float phi{};             ///< azimuthal angle
0027   float omega{};
0028   float Z0{};                           ///< longitudinal impact parameter
0029   float tanLambda{};                    ///< lambda is the dip angle of the track in r-z
0030   float time{};                         ///< time of the track at this trackstate [ns]
0031   ::edm4hep::Vector3f referencePoint{}; ///< Reference point of the track parameters, e.g. the origin at the IP, or the
0032                                         ///< position  of the first/last hits or the entry point into the calorimeter
0033                                         ///< [mm]
0034   ::edm4hep::CovMatrix6f covMatrix{};   ///< covariance matrix of the track parameters.
0035 
0036   static const int AtOther = 0; // any location other than the ones defined below
0037   static const int AtIP = 1;
0038   static const int AtFirstHit = 2;
0039   static const int AtLastHit = 3;
0040   static const int AtCalorimeter = 4;
0041   static const int AtVertex = 5;
0042   static const int LastLocation = AtVertex;
0043 
0044   /// Get the covariance matrix value for the two passed parameters
0045   constexpr float getCovMatrix(edm4hep::TrackParams parI, edm4hep::TrackParams parJ) const {
0046     return covMatrix.getValue(parI, parJ);
0047   }
0048   /// Set the covariance matrix value for the two passed parameters
0049   constexpr void setCovMatrix(float value, edm4hep::TrackParams parI, edm4hep::TrackParams parJ) {
0050     covMatrix.setValue(value, parI, parJ);
0051   }
0052 };
0053 
0054 std::ostream& operator<<(std::ostream& o, const edm4hep::TrackState& value);
0055 
0056 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0057 void to_json(nlohmann::json& j, const TrackState& value);
0058 #endif
0059 
0060 } // namespace edm4hep
0061 
0062 #endif