File indexing completed on 2026-05-23 08:11:51
0001 #ifndef SILICONCALOTRACKV1_H
0002 #define SILICONCALOTRACKV1_H
0003
0004 #include "SiliconCaloTrack.h"
0005
0006 #include <cmath>
0007 #include <cstddef> // for size_t
0008 #include <iostream>
0009 #include <map>
0010 #include <utility> // for pair
0011
0012 class PHObject;
0013
0014 class SiliconCaloTrack_v1 : public SiliconCaloTrack
0015 {
0016 public:
0017 SiliconCaloTrack_v1(){};
0018
0019
0020 SiliconCaloTrack_v1(const SiliconCaloTrack&);
0021
0022
0023 SiliconCaloTrack_v1(const SiliconCaloTrack_v1& track);
0024
0025
0026 SiliconCaloTrack_v1& operator=(const SiliconCaloTrack_v1& track);
0027
0028
0029
0030
0031 void identify(std::ostream& os = std::cout) const override;
0032 void Reset() override { *this = SiliconCaloTrack_v1(); }
0033 int isValid() const override;
0034 PHObject* CloneMe() const override { return new SiliconCaloTrack_v1(*this); }
0035
0036
0037 using PHObject::CopyFrom;
0038 void CopyFrom(const SiliconCaloTrack&) override;
0039 void CopyFrom(SiliconCaloTrack* source) override
0040 {
0041 CopyFrom(*source);
0042 }
0043
0044
0045
0046
0047
0048 unsigned int get_id() const override { return _track_id; }
0049 void set_id(unsigned int id) override { _track_id = id; }
0050
0051 unsigned int get_calo_id() const override { return _calo_id; }
0052 void set_calo_id(unsigned int id) override { _calo_id = id; }
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065 float get_pt() const override { return _pt; }
0066 void set_pt(float pt) override { _pt = pt; }
0067 float get_phi() const override { return _phi; }
0068 void set_phi(float phi) override { _phi = phi; }
0069 float get_eta() const override { return _eta; }
0070 void set_eta(float eta) override { _eta = eta; }
0071
0072 float get_px() const override { return _pt * cos(_phi); }
0073 float get_py() const override { return _pt * sin(_phi); }
0074 float get_pz() const override { return _pt * sinh(_eta); }
0075
0076 float get_p() const override { return sqrt(pow(get_px(), 2) + pow(get_py(), 2) + pow(get_pz(), 2)); }
0077
0078
0079
0080
0081 float get_cal_dphi() const override { return _cal_dphi; }
0082 void set_cal_dphi(float dphi) override { _cal_dphi = dphi; }
0083
0084 float get_cal_dz() const override { return _cal_dz; }
0085 void set_cal_dz(float dz) override { _cal_dz = dz; }
0086
0087
0088 private:
0089
0090 unsigned int _track_id = UINT_MAX;
0091 unsigned int _calo_id = UINT_MAX;
0092
0093 float _pt;
0094 float _phi;
0095 float _eta;
0096
0097
0098 float _cal_dphi;
0099 float _cal_dz;
0100
0101 ClassDefOverride(SiliconCaloTrack_v1, 1)
0102 };
0103
0104 #endif