11#include " AtFittedTrack.h"
22
3- #include < Rtypes.h>
4-
5- #include < iterator>
6- #include < numeric>
7-
83ClassImp (AtFittedTrack);
94
10- using XYZVector = ROOT::Math::XYZVector;
11-
12- const std::tuple<Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t> AtFittedTrack::GetEnergyAngles ()
5+ AtFittedTrack::AtFittedTrack (const AtFittedTrack ©) : fTrackID(copy.fTrackID ), fKinematics(copy.fKinematics ), fKinematicsXtr(copy.fKinematicsXtr ), fParticleInfo(copy.fParticleInfo ), fVertex(copy.fVertex ), fTrackProperties(copy.fTrackProperties )
136{
14- return std::forward_as_tuple ( fEnergy , fEnergyXtr , fTheta , fPhi , fEnergyPRA , fThetaPRA , fPhiPRA );
7+ fTrackMetadata = copy. fTrackMetadata -> Clone ( );
158}
169
17- const std::tuple<XYZVector, XYZVector, XYZVector> AtFittedTrack::GetVertices ( )
10+ void AtFittedTrack::SetKinematics ( int particleIdx, Double_t energy, Double_t theta, Double_t phi )
1811{
19- return std::forward_as_tuple (fInitialPos , fInitialPosPRA , fInitialPosXtr );
12+ while (particleIdx >= fKinematics .size ()) {
13+ Kinematics newKinematics;
14+ fKinematics .push_back (newKinematics);
15+ }
16+
17+ fKinematics [particleIdx].kineticEnergy = energy;
18+ fKinematics [particleIdx].theta = theta;
19+ fKinematics [particleIdx].phi = phi;
2020}
2121
22- const std::tuple<Float_t, Float_t, Float_t, Float_t, Float_t, Bool_t> AtFittedTrack::GetStats ( )
22+ void AtFittedTrack::SetKinematicsXtr ( int particleIdx, Double_t energyxtr, Double_t thetaxtr, Double_t phixtr )
2323{
24- return std::forward_as_tuple (fPValue , fChi2 , fBChi2 , fNdf , fBNdf , fFitConverged );
24+ while (particleIdx >= fKinematicsXtr .size ()) {
25+ Kinematics newKinematics;
26+ fKinematicsXtr .push_back (newKinematics);
27+ }
28+
29+ fKinematicsXtr [particleIdx].kineticEnergy = energyxtr;
30+ fKinematicsXtr [particleIdx].theta = thetaxtr;
31+ fKinematicsXtr [particleIdx].phi = phixtr;
2532}
2633
27- const std::tuple<Int_t, Float_t, Float_t, Float_t, std::string, Int_t> AtFittedTrack::GetTrackProperties ( )
34+ void AtFittedTrack::SetParticleInfo ( int particleIdx, std::string pdg , Int_t charge, Double_t mass )
2835{
29- return std::forward_as_tuple (fCharge , fBrho , fELossADC , fDEdxADC , fPDG , fTrackPoints );
36+ while (particleIdx >= fParticleInfo .size ()) {
37+ ParticleInfo newParticleInfo;
38+ fParticleInfo .push_back (newParticleInfo);
39+ }
40+
41+ fParticleInfo [particleIdx].idPDG = TString (pdg);
42+ fParticleInfo [particleIdx].charge = charge;
43+ fParticleInfo [particleIdx].mass = mass;
3044}
3145
32- const std::tuple<Float_t, Float_t> AtFittedTrack::GetIonChamber ( )
46+ void AtFittedTrack::SetVertex ( int particleIdx, XYZVector point )
3347{
34- return std::forward_as_tuple (fIonChamberEnergy , fIonChamberTime );
35- }
48+ while (particleIdx >= fVertex .size ()) {
49+ XYZVector newVertex;
50+ fVertex .push_back (newVertex);
51+ }
3652
37- const std::tuple<Float_t, Float_t> AtFittedTrack::GetExcitationEnergy ()
38- {
39- return std::forward_as_tuple (fExcitationEnergy , fExcitationEnergyXtr );
53+ fVertex [particleIdx] = point;
4054}
41-
42- const std::tuple<Float_t, Float_t, Float_t> AtFittedTrack::GetDistances ()
43- {
44- return std::forward_as_tuple (fDistanceXtr , fTrackLength , fPOCAXtr );
45- }
0 commit comments