Skip to content

Commit b0d0369

Browse files
committed
fixes after merging main
1 parent 177fe27 commit b0d0369

File tree

2 files changed

+75
-58
lines changed

2 files changed

+75
-58
lines changed

Plugins/Root/include/Acts/Plugins/Root/RootSpacePoints2Accessor.hpp renamed to Plugins/Root/include/Acts/Plugins/Root/RootSpacePointIo.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#pragma once
1010

1111
#include "Acts/EventData/SpacePointContainer2.hpp"
12+
#include "Acts/EventData/Types.hpp"
1213

1314
class TChain;
1415
class TTree;
@@ -49,7 +50,9 @@ class RootSpacePointIo {
4950
/// @note the caller has to do the TChain::GetEntry() before this call
5051
///
5152
/// @param spacePoint the space point to read into
52-
void read(Experimental::MutableSpacePointProxy2& spacePoint);
53+
/// @param index the original index of the space point in the ROOT file
54+
void read(Experimental::MutableSpacePointProxy2& spacePoint,
55+
SpacePointIndex2 index);
5356

5457
/// @brief Read the space points from the tree
5558
///
@@ -58,8 +61,6 @@ class RootSpacePointIo {
5861
void read(TChain& tchain, Experimental::SpacePointContainer2& spacePoints);
5962

6063
private:
61-
std::uint32_t m_index = 0;
62-
6364
float m_x = 0;
6465
float m_y = 0;
6566
float m_z = 0;

Plugins/Root/src/RootSpacePointIo.cpp

Lines changed: 71 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@
66
// License, v. 2.0. If a copy of the MPL was not distributed with this
77
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
88

9+
#include "Acts/Plugins/Root/RootSpacePointIo.hpp"
10+
11+
#include "Acts/EventData/SourceLink.hpp"
912
#include "Acts/EventData/SpacePointContainer2.hpp"
10-
#include "Acts/Plugins/Root/RootSpacePoints2Accessor.hpp"
13+
#include "Acts/EventData/Types.hpp"
1114

1215
#include <TChain.h>
1316
#include <TTree.h>
@@ -16,84 +19,87 @@ namespace Acts {
1619

1720
void RootSpacePointIo::connectForRead(
1821
TChain& tchain, const Experimental::SpacePointContainer2& spacePoints) {
19-
tchain.SetBranchAddress("index", &m_index);
20-
21-
tchain.SetBranchAddress("x", &m_x);
22-
tchain.SetBranchAddress("y", &m_y);
23-
tchain.SetBranchAddress("z", &m_z);
22+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::X)) {
23+
tchain.SetBranchAddress("x", &m_x);
24+
}
25+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Y)) {
26+
tchain.SetBranchAddress("y", &m_y);
27+
}
28+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Z)) {
29+
tchain.SetBranchAddress("z", &m_z);
30+
}
2431

25-
if (spacePoints.hasExtraColumns(
26-
Experimental::SpacePointKnownExtraColumn::Time)) {
32+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Time)) {
2733
tchain.SetBranchAddress("t", &m_t);
2834
}
2935

30-
if (spacePoints.hasExtraColumns(
31-
Experimental::SpacePointKnownExtraColumn::R)) {
36+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::R)) {
3237
tchain.SetBranchAddress("r", &m_r);
3338
}
3439

35-
if (spacePoints.hasExtraColumns(
36-
Experimental::SpacePointKnownExtraColumn::VarianceZ)) {
40+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::VarianceZ)) {
3741
tchain.SetBranchAddress("var_z", &m_varZ);
3842
}
39-
if (spacePoints.hasExtraColumns(
40-
Experimental::SpacePointKnownExtraColumn::VarianceR)) {
43+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::VarianceR)) {
4144
tchain.SetBranchAddress("var_r", &m_varR);
4245
}
4346
}
4447

4548
void RootSpacePointIo::connectForWrite(
4649
TTree& ttree, const Experimental::SpacePointContainer2& spacePoints) {
47-
ttree.Branch("index", &m_index);
48-
49-
ttree.Branch("x", &m_x);
50-
ttree.Branch("y", &m_y);
51-
ttree.Branch("z", &m_z);
50+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::X)) {
51+
ttree.Branch("x", &m_x);
52+
}
53+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Y)) {
54+
ttree.Branch("y", &m_y);
55+
}
56+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Z)) {
57+
ttree.Branch("z", &m_z);
58+
}
5259

53-
if (spacePoints.hasExtraColumns(
54-
Experimental::SpacePointKnownExtraColumn::Time)) {
60+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::Time)) {
5561
ttree.Branch("t", &m_t);
5662
}
5763

58-
if (spacePoints.hasExtraColumns(
59-
Experimental::SpacePointKnownExtraColumn::R)) {
64+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::R)) {
6065
ttree.Branch("r", &m_r);
6166
}
6267

63-
if (spacePoints.hasExtraColumns(
64-
Experimental::SpacePointKnownExtraColumn::VarianceZ)) {
68+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::VarianceZ)) {
6569
ttree.Branch("var_z", &m_varZ);
6670
}
67-
if (spacePoints.hasExtraColumns(
68-
Experimental::SpacePointKnownExtraColumn::VarianceR)) {
71+
if (spacePoints.hasColumns(Experimental::SpacePointColumns::VarianceR)) {
6972
ttree.Branch("var_r", &m_varR);
7073
}
7174
}
7275

7376
void RootSpacePointIo::write(
7477
const Experimental::ConstSpacePointProxy2& spacePoint) {
75-
m_index = spacePoint.index();
76-
77-
m_x = spacePoint.x();
78-
m_y = spacePoint.y();
79-
m_z = spacePoint.z();
78+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::X)) {
79+
m_x = spacePoint.x();
80+
}
81+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::Y)) {
82+
m_y = spacePoint.y();
83+
}
84+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::Z)) {
85+
m_z = spacePoint.z();
86+
}
8087

81-
if (spacePoint.container().hasExtraColumns(
82-
Experimental::SpacePointKnownExtraColumn::Time)) {
88+
if (spacePoint.container().hasColumns(
89+
Experimental::SpacePointColumns::Time)) {
8390
m_t = spacePoint.time();
8491
}
8592

86-
if (spacePoint.container().hasExtraColumns(
87-
Experimental::SpacePointKnownExtraColumn::R)) {
93+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::R)) {
8894
m_r = spacePoint.r();
8995
}
9096

91-
if (spacePoint.container().hasExtraColumns(
92-
Experimental::SpacePointKnownExtraColumn::VarianceZ)) {
97+
if (spacePoint.container().hasColumns(
98+
Experimental::SpacePointColumns::VarianceZ)) {
9399
m_varZ = spacePoint.varianceZ();
94100
}
95-
if (spacePoint.container().hasExtraColumns(
96-
Experimental::SpacePointKnownExtraColumn::VarianceR)) {
101+
if (spacePoint.container().hasColumns(
102+
Experimental::SpacePointColumns::VarianceR)) {
97103
m_varR = spacePoint.varianceR();
98104
}
99105
}
@@ -108,27 +114,38 @@ void RootSpacePointIo::write(
108114
}
109115
}
110116

111-
void RootSpacePointIo::read(Experimental::MutableSpacePointProxy2& spacePoint) {
112-
spacePoint.x() = m_x;
113-
spacePoint.y() = m_y;
114-
spacePoint.z() = m_z;
117+
void RootSpacePointIo::read(Experimental::MutableSpacePointProxy2& spacePoint,
118+
SpacePointIndex2 index) {
119+
if (spacePoint.container().hasColumns(
120+
Experimental::SpacePointColumns::SourceLinks)) {
121+
spacePoint.assignSourceLinks(std::array<SourceLink, 1>{SourceLink(index)});
122+
}
123+
124+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::X)) {
125+
spacePoint.x() = m_x;
126+
}
127+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::Y)) {
128+
spacePoint.y() = m_y;
129+
}
130+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::Z)) {
131+
spacePoint.z() = m_z;
132+
}
115133

116-
if (spacePoint.container().hasExtraColumns(
117-
Experimental::SpacePointKnownExtraColumn::Time)) {
134+
if (spacePoint.container().hasColumns(
135+
Experimental::SpacePointColumns::Time)) {
118136
spacePoint.time() = m_t;
119137
}
120138

121-
if (spacePoint.container().hasExtraColumns(
122-
Experimental::SpacePointKnownExtraColumn::R)) {
139+
if (spacePoint.container().hasColumns(Experimental::SpacePointColumns::R)) {
123140
spacePoint.r() = m_r;
124141
}
125142

126-
if (spacePoint.container().hasExtraColumns(
127-
Experimental::SpacePointKnownExtraColumn::VarianceZ)) {
143+
if (spacePoint.container().hasColumns(
144+
Experimental::SpacePointColumns::VarianceZ)) {
128145
spacePoint.varianceZ() = m_varZ;
129146
}
130-
if (spacePoint.container().hasExtraColumns(
131-
Experimental::SpacePointKnownExtraColumn::VarianceR)) {
147+
if (spacePoint.container().hasColumns(
148+
Experimental::SpacePointColumns::VarianceR)) {
132149
spacePoint.varianceR() = m_varR;
133150
}
134151
}
@@ -141,9 +158,8 @@ void RootSpacePointIo::read(TChain& tchain,
141158
for (std::size_t i = 0; i < nEntries; ++i) {
142159
tchain.GetEntry(i);
143160

144-
auto spacePoint = spacePoints.createSpacePoint(
145-
std::array<SourceLink, 1>{SourceLink(i)}, 0, 0, 0);
146-
read(spacePoint);
161+
auto spacePoint = spacePoints.createSpacePoint();
162+
read(spacePoint, static_cast<SpacePointIndex2>(i));
147163
}
148164
}
149165

0 commit comments

Comments
 (0)