33 static constexpr float MAXTOT = 65535 * 1E-3;
47 void setTimeSlewingInfo(
int channel,
float offsetold,
int nold,
const unsigned short* oldtot,
const short* olddt,
int nnew,
const unsigned short* newtot,
const short* newdt);
51 const std::vector<std::pair<unsigned short, short>>&
getVector(
int sector)
const {
return *(mTimeSlewing[sector]); }
57 n += mTimeSlewing[
i]->size();
62 int getSize(
int sector)
const {
return mTimeSlewing[sector]->size(); }
66 float getFractionUnderPeak(
int sector,
int channel)
const {
return (*(mFractionUnderPeak[sector]))[channel]; }
67 float getSigmaPeak(
int sector,
int channel)
const {
return (*(mSigmaPeak[sector]))[channel]; }
100 std::array<int, NCHANNELXSECTOR> mChannelStartSec0;
101 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec0;
102 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec0;
103 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec0;
104 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec0;
106 std::array<int, NCHANNELXSECTOR> mChannelStartSec1;
107 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec1;
108 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec1;
109 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec1;
110 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec1;
112 std::array<int, NCHANNELXSECTOR> mChannelStartSec2;
113 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec2;
114 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec2;
115 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec2;
116 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec2;
118 std::array<int, NCHANNELXSECTOR> mChannelStartSec3;
119 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec3;
120 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec3;
121 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec3;
122 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec3;
124 std::array<int, NCHANNELXSECTOR> mChannelStartSec4;
125 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec4;
126 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec4;
127 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec4;
128 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec4;
130 std::array<int, NCHANNELXSECTOR> mChannelStartSec5;
131 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec5;
132 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec5;
133 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec5;
134 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec5;
136 std::array<int, NCHANNELXSECTOR> mChannelStartSec6;
137 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec6;
138 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec6;
139 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec6;
140 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec6;
142 std::array<int, NCHANNELXSECTOR> mChannelStartSec7;
143 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec7;
144 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec7;
145 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec7;
146 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec7;
148 std::array<int, NCHANNELXSECTOR> mChannelStartSec8;
149 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec8;
150 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec8;
151 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec8;
152 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec8;
154 std::array<int, NCHANNELXSECTOR> mChannelStartSec9;
155 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec9;
156 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec9;
157 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec9;
158 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec9;
160 std::array<int, NCHANNELXSECTOR> mChannelStartSec10;
161 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec10;
162 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec10;
163 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec10;
164 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec10;
166 std::array<int, NCHANNELXSECTOR> mChannelStartSec11;
167 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec11;
168 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec11;
169 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec11;
170 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec11;
172 std::array<int, NCHANNELXSECTOR> mChannelStartSec12;
173 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec12;
174 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec12;
175 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec12;
176 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec12;
178 std::array<int, NCHANNELXSECTOR> mChannelStartSec13;
179 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec13;
180 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec13;
181 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec13;
182 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec13;
184 std::array<int, NCHANNELXSECTOR> mChannelStartSec14;
185 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec14;
186 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec14;
187 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec14;
188 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec14;
190 std::array<int, NCHANNELXSECTOR> mChannelStartSec15;
191 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec15;
192 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec15;
193 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec15;
194 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec15;
196 std::array<int, NCHANNELXSECTOR> mChannelStartSec16;
197 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec16;
198 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec16;
199 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec16;
200 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec16;
202 std::array<int, NCHANNELXSECTOR> mChannelStartSec17;
203 std::array<float, NCHANNELXSECTOR> mGlobalOffsetSec17;
204 std::vector<std::pair<unsigned short, short>> mTimeSlewingSec17;
205 std::array<float, NCHANNELXSECTOR> mFractionUnderPeakSec17;
206 std::array<float, NCHANNELXSECTOR> mSigmaPeakSec17;
209 std::array<int, NCHANNELXSECTOR>* mChannelStart[
NSECTORS] = {&mChannelStartSec0, &mChannelStartSec1, &mChannelStartSec2, &mChannelStartSec3, &mChannelStartSec4, &mChannelStartSec5, &mChannelStartSec6, &mChannelStartSec7, &mChannelStartSec8, &mChannelStartSec9, &mChannelStartSec10, &mChannelStartSec11, &mChannelStartSec12, &mChannelStartSec13, &mChannelStartSec14, &mChannelStartSec15, &mChannelStartSec16, &mChannelStartSec17};
210 std::array<float, NCHANNELXSECTOR>* mGlobalOffset[
NSECTORS] = {&mGlobalOffsetSec0, &mGlobalOffsetSec1, &mGlobalOffsetSec2, &mGlobalOffsetSec3, &mGlobalOffsetSec4, &mGlobalOffsetSec5, &mGlobalOffsetSec6, &mGlobalOffsetSec7, &mGlobalOffsetSec8, &mGlobalOffsetSec9, &mGlobalOffsetSec10, &mGlobalOffsetSec11, &mGlobalOffsetSec12, &mGlobalOffsetSec13, &mGlobalOffsetSec14, &mGlobalOffsetSec15, &mGlobalOffsetSec16, &mGlobalOffsetSec17};
211 std::vector<std::pair<unsigned short, short>>* mTimeSlewing[
NSECTORS] = {&mTimeSlewingSec0, &mTimeSlewingSec1, &mTimeSlewingSec2, &mTimeSlewingSec3, &mTimeSlewingSec4, &mTimeSlewingSec5, &mTimeSlewingSec6, &mTimeSlewingSec7, &mTimeSlewingSec8, &mTimeSlewingSec9, &mTimeSlewingSec10, &mTimeSlewingSec11, &mTimeSlewingSec12, &mTimeSlewingSec13, &mTimeSlewingSec14, &mTimeSlewingSec15, &mTimeSlewingSec16, &mTimeSlewingSec17};
212 std::array<float, NCHANNELXSECTOR>* mFractionUnderPeak[
NSECTORS] = {&mFractionUnderPeakSec0, &mFractionUnderPeakSec1, &mFractionUnderPeakSec2, &mFractionUnderPeakSec3, &mFractionUnderPeakSec4, &mFractionUnderPeakSec5, &mFractionUnderPeakSec6, &mFractionUnderPeakSec7, &mFractionUnderPeakSec8, &mFractionUnderPeakSec9, &mFractionUnderPeakSec10, &mFractionUnderPeakSec11, &mFractionUnderPeakSec12, &mFractionUnderPeakSec13, &mFractionUnderPeakSec14, &mFractionUnderPeakSec15, &mFractionUnderPeakSec16, &mFractionUnderPeakSec17};
213 std::array<float, NCHANNELXSECTOR>* mSigmaPeak[
NSECTORS] = {&mSigmaPeakSec0, &mSigmaPeakSec1, &mSigmaPeakSec2, &mSigmaPeakSec3, &mSigmaPeakSec4, &mSigmaPeakSec5, &mSigmaPeakSec6, &mSigmaPeakSec7, &mSigmaPeakSec8, &mSigmaPeakSec9, &mSigmaPeakSec10, &mSigmaPeakSec11, &mSigmaPeakSec12, &mSigmaPeakSec13, &mSigmaPeakSec14, &mSigmaPeakSec15, &mSigmaPeakSec16, &mSigmaPeakSec17};
215 long mStartValidity = 0;
216 long mEndValidity = 0;