@@ -200,7 +200,8 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan) {
200
200
Rcpp::NumericVector isolationWindowUpperOffset (N_scans);
201
201
Rcpp::NumericVector scanWindowLowerLimit (N_scans);
202
202
Rcpp::NumericVector scanWindowUpperLimit (N_scans);
203
-
203
+ Rcpp::NumericVector electronBeamEnergy (N_scans);
204
+
204
205
for (size_t i = 0 ; i < N_scans; i++) {
205
206
int current_scan = whichScan[i];
206
207
size_t current_index = static_cast <size_t >(current_scan - 1 );
@@ -262,6 +263,8 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan) {
262
263
const Precursor& precursor = sp->precursors [0 ];
263
264
// collisionEnergy
264
265
collisionEnergy[i] = precursor.activation .cvParam (MS_collision_energy).valueAs <double >();
266
+ // electronBeamEnergy - for EAD
267
+ electronBeamEnergy[i] = precursor.activation .cvParam (MS_electron_beam_energy).value .empty () ? NA_REAL : precursor.activation .cvParam (MS_electron_beam_energy).valueAs <double >();
265
268
// precursorScanNum
266
269
size_t precursorIndex = slp->find (precursor.spectrumID );
267
270
if (precursorIndex < N) {
@@ -288,6 +291,7 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan) {
288
291
}
289
292
} else {
290
293
collisionEnergy[i] = NA_REAL;
294
+ electronBeamEnergy[i] = NA_REAL;
291
295
precursorScanNum[i] = NA_INTEGER;
292
296
precursorMZ[i] = NA_REAL;
293
297
precursorCharge[i] = NA_INTEGER;
@@ -302,7 +306,7 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan) {
302
306
}
303
307
}
304
308
305
- Rcpp::List header (31 );
309
+ Rcpp::List header (32 );
306
310
std::vector<std::string> names;
307
311
size_t i = 0 ;
308
312
names.push_back (" seqNum" );
@@ -367,6 +371,8 @@ Rcpp::DataFrame RcppPwiz::getScanHeaderInfo (Rcpp::IntegerVector whichScan) {
367
371
header[i++] = Rcpp::wrap (scanWindowLowerLimit);
368
372
names.push_back (" scanWindowUpperLimit" );
369
373
header[i++] = Rcpp::wrap (scanWindowUpperLimit);
374
+ names.push_back (" electronBeamEnergy" );
375
+ header[i++] = Rcpp::wrap (electronBeamEnergy);
370
376
header.attr (" names" ) = names;
371
377
372
378
return header;
0 commit comments