MiniballSort
Loading...
Searching...
No Matches
Settings.hh
Go to the documentation of this file.
1#ifndef __SETTINGS_HH
2#define __SETTINGS_HH
3
4#include <iostream>
5#include <fstream>
6#include <string>
7#include <memory>
8
9#include "TObject.h"
10#include "TSystem.h"
11#include "TEnv.h"
12
16
17class MiniballSettings : public TObject {
18
19public:
20
22 MiniballSettings( std::string filename );
24
25 void ReadSettings();
26 void TestSettings();
28 void SetFile( std::string filename ){
29 fInputFile = filename;
30 }
31 const std::string InputFile(){
32 return fInputFile;
33 }
34
35 // FEBEX settings
36 inline unsigned int GetNumberOfFebexSfps(){ return n_febex_sfp; };
37 inline unsigned int GetNumberOfFebexBoards(){ return n_febex_board; };
38 inline unsigned int GetNumberOfFebexChannels(){ return n_febex_ch; };
39
40 // Old DAQ settings - DGF
41 inline unsigned int GetNumberOfDgfModules(){ return n_dgf_mod; };
42 inline unsigned int GetNumberOfDgfTimestampModules(){ return n_dgf_ts_mod; };
43 inline unsigned int GetNumberOfDgfChannels(){ return n_dgf_ch; };
44 inline int GetDgfModuleNumber( unsigned int i ){
45 if( i >= dgf_mod_offset && i < dgf_mod_offset + n_dgf_mod )
46 return i - dgf_mod_offset;
47 else {
48 std::cerr << "Bad DGF module requested: " << i << std::endl;
49 return -1;
50 }
51 };
52 inline double GetDgfTimestampDelay(){ return dgf_ts_delay; };
53 inline double GetDgfTimestampUnits(){ return dgf_ts_units; };
54 inline bool IsTimestampModule( unsigned int m ){
56 return true;
57 else return false;
58 };
59
60 // Total ADC modules
61 inline unsigned int GetNumberOfAdcModules(){ return n_caen_mod + n_madc_mod; };
62 inline unsigned int GetMaximumNumberOfAdcChannels(){
63 if( n_caen_ch > n_madc_ch ) return n_caen_ch;
64 else return n_madc_ch;
65 };
66
67 // Old DAQ settings - CAEN ADCs
68 inline unsigned int GetNumberOfCaenAdcModules(){ return n_caen_mod; };
69 inline unsigned int GetNumberOfCaenAdcChannels(){ return n_caen_ch; };
70 inline int GetCaenAdcModuleNumber( unsigned int i ){
72 return i - caen_mod_offset;
73 else {
74 std::cerr << "Bad CAEN ADC module requested: " << i << std::endl;
75 return -1;
76 }
77 };
78 inline double GetCaenAdcTimestampUnits(){ return caen_ts_units; };
79
80 // Old DAQ settings - Mesytec
81 inline unsigned int GetNumberOfMesytecAdcModules(){ return n_madc_mod; };
82 inline unsigned int GetNumberOfMesytecAdcChannels(){ return n_madc_ch; };
83 inline int GetMesytecAdcModuleNumber( unsigned int i ){
85 return i - madc_mod_offset;
86 else {
87 std::cerr << "Bad Mesytec ADC module requested: " << i << std::endl;
88 return -1;
89 }
90 };
91 inline double GetMesytecAdcTimestampUnits(){ return madc_ts_units; };
92
93 // Old DAQ settings - Pattern Units
94 inline unsigned int GetNumberOfPatternUnits(){ return n_pattern_unit; };
95 inline int GetPatternUnitNumber( unsigned int i ){
97 return i - pattern_unit_offset;
98 else {
99 std::cerr << "Bad Pattern Unit module requested: " << i << std::endl;
100 return -1;
101 }
102 };
103
104 // Old DAQ settings - Scaler Units
105 inline unsigned int GetNumberOfScalerUnits(){ return n_scaler_unit; };
106 inline int GetScalerUnitNumber( unsigned int i ){
108 return i - scaler_unit_offset;
109 else {
110 std::cerr << "Bad Scaler Unit module requested: " << i << std::endl;
111 return -1;
112 }
113 };
114
115 // Check VME module numbers
116 inline bool CheckVmeModuleIsDgf( unsigned int id ){
117 if( id >= dgf_vme_first && id <= dgf_vme_last ) return true;
118 else return false;
119 };
120 inline bool CheckVmeModuleIsAdc( unsigned int id ){
121 if( id >= adc_vme_first && id <= adc_vme_last ) return true;
122 else return false;
123 };
124 inline bool CheckVmeModuleIsScaler( unsigned int id ){
125 if( id >= scaler_vme_first && id <= scaler_vme_last ) return true;
126 else return false;
127 };
128 inline bool CheckVmeModuleIsPattern( unsigned int id ){
129 if( id >= pattern_vme_first && id <= pattern_vme_last ) return true;
130 else return false;
131 };
132 inline bool CheckVmeModuleIsDgfScaler( unsigned int id ){
133 if( id >= dgfscaler_vme_first && id <= dgfscaler_vme_last ) return true;
134 else return false;
135 };
136
137
138 // Info settings
139 inline unsigned int GetMsbSyncCode(){ return sync_msb_code; };
140 inline unsigned int GetHsbSyncCode(){ return sync_hsb_code; };
141 inline unsigned int GetMsbTimestampCode(){ return tm_msb_code; };
142 inline unsigned int GetHsbTimestampCode(){ return tm_hsb_code; };
143 inline unsigned int GetPauseCode(){ return pause_code;};
144 inline unsigned int GetResumeCode(){ return resume_code;};
145 inline unsigned int GetPulserCode(){ return pulser_code; };
146
147 inline unsigned int GetEBISSfp(){ return ebis_sfp; };
148 inline unsigned int GetEBISBoard(){ return ebis_board; };
149 inline unsigned int GetEBISDgf(){ return ebis_dgf; };
150 inline unsigned int GetEBISChannel(){ return ebis_ch; };
151 inline unsigned int GetEBISCode(){ return ebis_code; };
152
153 inline unsigned int GetT1Sfp(){ return t1_sfp; };
154 inline unsigned int GetT1Board(){ return t1_board; };
155 inline unsigned int GetT1Dgf(){ return t1_dgf; };
156 inline unsigned int GetT1Channel(){ return t1_ch; };
157 inline unsigned int GetT1Code(){ return t1_code; };
158
159 inline unsigned int GetSCSfp(){ return sc_sfp; };
160 inline unsigned int GetSCBoard(){ return sc_board; };
161 inline unsigned int GetSCDgf(){ return sc_dgf; };
162 inline unsigned int GetSCChannel(){ return sc_ch; };
163 inline unsigned int GetSCCode(){ return sc_code; };
164
165 inline unsigned int GetRILISSfp(){ return laser_sfp; };
166 inline unsigned int GetRILISBoard(){ return laser_board; };
167 inline unsigned int GetRILISChannel(){ return laser_ch; };
168 inline unsigned int GetRILISPattern(){ return laser_pattern; };
169 inline unsigned int GetRILISCode(){ return laser_code; };
170
171
172 // Event builder
173 inline double GetEventWindow(){ return event_window; };
174 inline double GetMbsEventMode(){ return mbs_event_sort; };
175 inline void SetMbsEventMode( bool flag ){ mbs_event_sort = flag; };
176
177
178 // Data settings
179 void SetBlockSize( unsigned int size ){ block_size = size; };
180 inline unsigned int GetBlockSize(){ return block_size; };
181 inline unsigned int IsFebexOnly(){ return flag_febex_only; };
182
183
184 // Are we rejecting pileup and/or clipped events
185 inline bool GetPileupRejection(){ return pileup_reject; };
186 inline bool GetClippedRejection(){ return clipped_reject; };
187
188
189 // Are we rejecting full buffers?
192
193
194 // Miniball array
195 inline unsigned int GetNumberOfMiniballClusters(){ return n_mb_cluster; };
196 inline unsigned int GetNumberOfMiniballCrystals(){ return n_mb_crystal; };
197 inline unsigned int GetNumberOfMiniballSegments(){ return n_mb_segment; };
198 bool IsMiniball( unsigned int dgf, unsigned int ch );
199 bool IsMiniball( unsigned int sfp, unsigned int board, unsigned int ch );
200 int GetMiniballID( unsigned int dgf, unsigned int ch,
201 const std::vector<std::vector<std::vector<int>>> &vector );
202 int GetMiniballID( unsigned int sfp, unsigned int board, unsigned int ch,
203 const std::vector<std::vector<std::vector<int>>> &vector );
204 std::vector<int> GetMiniballDAQ( unsigned int clu, unsigned int cry, unsigned int seg );
205 inline int GetMiniballCluster( unsigned int dgf, unsigned int ch ){
206 return GetMiniballID( dgf, ch, mb_cluster );
207 };
208 inline int GetMiniballCluster( unsigned int sfp, unsigned int board, unsigned int ch ){
209 return GetMiniballID( sfp, board, ch, mb_cluster );
210 };
211 inline int GetMiniballCrystal( unsigned int dgf, unsigned int ch ){
212 return GetMiniballID( dgf, ch, mb_crystal );
213 };
214 inline int GetMiniballCrystal( unsigned int sfp, unsigned int board, unsigned int ch ){
215 return GetMiniballID( sfp, board, ch, mb_crystal );
216 };
217 inline int GetMiniballSegment( unsigned int dgf, unsigned int ch ){
218 return GetMiniballID( dgf, ch, mb_segment );
219 };
220 inline int GetMiniballSegment( unsigned int sfp, unsigned int board, unsigned int ch ){
221 return GetMiniballID( sfp, board, ch, mb_segment );
222 };
223 inline int GetMiniballSFP( unsigned int clu, unsigned int cry, unsigned int seg ){
224 return GetMiniballDAQ( clu, cry, seg ).at(0);
225 };
226 inline int GetMiniballBoard( unsigned int clu, unsigned int cry, unsigned int seg ){
227 std::vector<int> daqinfo = GetMiniballDAQ( clu, cry, seg );
228 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
229 else return -1;
230 };
231 inline int GetMiniballDGF( unsigned int clu, unsigned int cry, unsigned int seg ){
232 std::vector<int> daqinfo = GetMiniballDAQ( clu, cry, seg );
233 if( daqinfo.at(0) < 0 ) return daqinfo.at(1);
234 else return -1;
235 };
236 inline int GetMiniballChannel( unsigned int clu, unsigned int cry, unsigned int seg ){
237 return GetMiniballDAQ( clu, cry, seg ).at(2);
238 };
239 bool IsMiniballSegmentVetoed( unsigned int clu, unsigned int cry, unsigned int seg );
240 inline double GetMiniballCrystalHitWindow(){ return mb_hit_window; };
241 inline double GetMiniballAddbackHitWindow(){ return ab_hit_window; };
242
243
244 // CD detector
245 inline unsigned int GetNumberOfCDDetectors(){ return n_cd_det; };
246 inline unsigned int GetNumberOfCDSectors(){ return n_cd_sector; };
247 inline unsigned int GetNumberOfCDSides(){ return n_cd_side; };
248 inline unsigned int GetNumberOfCDPStrips(){ return n_cd_pstrip; };
249 inline unsigned int GetNumberOfCDNStrips(){ return n_cd_nstrip; };
250 bool IsCD( unsigned int adc, unsigned int ch );
251 bool IsCD( unsigned int sfp, unsigned int board, unsigned int ch );
252 int GetCDID( unsigned int adc, unsigned int ch,
253 const std::vector<std::vector<std::vector<int>>> &vector );
254 int GetCDID( unsigned int sfp, unsigned int board, unsigned int ch,
255 const std::vector<std::vector<std::vector<int>>> &vector );
256 std::vector<int> GetCDDAQ( unsigned int det, unsigned int sec, unsigned int side, unsigned int strip );
257 inline int GetCDDetector( unsigned int adc, unsigned int ch ){
258 return GetCDID( adc, ch, cd_det );
259 };
260 inline int GetCDDetector( unsigned int sfp, unsigned int board, unsigned int ch ){
261 return GetCDID( sfp, board, ch, cd_det );
262 };
263 inline int GetCDSector( unsigned int adc, unsigned int ch ){
264 return GetCDID( adc, ch, cd_sector );
265 };
266 inline int GetCDSector( unsigned int sfp, unsigned int board, unsigned int ch ){
267 return GetCDID( sfp, board, ch, cd_sector );
268 };
269 inline int GetCDSide( unsigned int adc, unsigned int ch ){
270 return GetCDID( adc, ch, cd_side );
271 };
272 inline int GetCDSide( unsigned int sfp, unsigned int board, unsigned int ch ){
273 return GetCDID( sfp, board, ch, cd_side );
274 };
275 inline int GetCDStrip( unsigned int adc, unsigned int ch ){
276 return GetCDID( adc, ch, cd_strip );
277 };
278 inline int GetCDStrip( unsigned int sfp, unsigned int board, unsigned int ch ){
279 return GetCDID( sfp, board, ch, cd_strip );
280 };
281 inline int GetCDSFP( unsigned int det, unsigned int sec, unsigned int side, unsigned int strip ){
282 return GetCDDAQ( det, sec, side, strip ).at(0);
283 };
284 inline int GetCDBoard( unsigned int det, unsigned int sec, unsigned int side, unsigned int strip ){
285 std::vector<int> daqinfo = GetCDDAQ( det, sec, side, strip );
286 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
287 else return -1;
288 };
289 inline int GetCDADC( unsigned int det, unsigned int sec, unsigned int side, unsigned int strip ){
290 std::vector<int> daqinfo = GetCDDAQ( det, sec, side, strip );
291 if( daqinfo.at(0) < 0 ) return daqinfo.at(1);
292 else return -1;
293 };
294 inline int GetCDChannel( unsigned int det, unsigned int sec, unsigned int side, unsigned int strip ){
295 return GetCDDAQ( det, sec, side, strip ).at(2);
296 };
297 inline double GetCDHitWindow(){ return cd_hit_window; };
299
300
301 // Pad detector
302 bool IsPad( unsigned int adc, unsigned int ch );
303 bool IsPad( unsigned int sfp, unsigned int board, unsigned int ch );
304 int GetPadDetector( unsigned int adc, unsigned int ch );
305 int GetPadDetector( unsigned int sfp, unsigned int board, unsigned int ch );
306 int GetPadSector( unsigned int adc, unsigned int ch );
307 int GetPadSector( unsigned int sfp, unsigned int board, unsigned int ch );
308 std::vector<int> GetPadDAQ( unsigned int det, unsigned int sec );
309 inline int GetPadSFP( unsigned int det, unsigned int sec ){
310 return GetPadDAQ( det, sec ).at(0);
311 };
312 inline int GetPadBoard( unsigned int det, unsigned int sec ){
313 std::vector<int> daqinfo = GetPadDAQ( det, sec );
314 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
315 else return -1;
316 };
317 inline int GetPadADC( unsigned int det, unsigned int sec ){
318 std::vector<int> daqinfo = GetPadDAQ( det, sec );
319 if( daqinfo.at(0) < 0 ) return daqinfo.at(1);
320 else return -1;
321 };
322 inline int GetPadChannel( unsigned int det, unsigned int sec ){
323 return GetPadDAQ( det, sec ).at(2);
324 };
325 inline double GetPadHitWindow(){ return pad_hit_window; };
326
327
328 // Beam dump detector
329 inline unsigned int GetNumberOfBeamDumpDetectors(){ return n_bd_det; };
330 bool IsBeamDump( unsigned int dgf, unsigned int ch );
331 bool IsBeamDump( unsigned int sfp, unsigned int board, unsigned int ch );
332 int GetBeamDumpDetector( unsigned int dgf, unsigned int ch );
333 int GetBeamDumpDetector( unsigned int sfp, unsigned int board, unsigned int ch );
334 std::vector<int> GetBeamDumpDAQ( unsigned int det );
335 inline int GetBeamDumpSFP( unsigned int det ){
336 return GetBeamDumpDAQ( det ).at(0);
337 };
338 inline int GetBeamDumpBoard( unsigned int det ){
339 std::vector<int> daqinfo = GetBeamDumpDAQ( det );
340 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
341 else return -1;
342 };
343 inline int GetBeamDumpDGF( unsigned int det ){
344 std::vector<int> daqinfo = GetBeamDumpDAQ( det );
345 if( daqinfo.at(0) < 0 ) return daqinfo.at(1);
346 else return -1;
347 };
348 inline int GetBeamDumpChannel( unsigned int det ){
349 return GetBeamDumpDAQ( det ).at(2);
350 };
351
352
353 // SPEDE detector
354 inline unsigned int GetNumberOfSpedeSegments(){ return n_spede_seg; };
355 bool IsSpede( unsigned int sfp, unsigned int board, unsigned int ch );
356 int GetSpedeSegment( unsigned int sfp, unsigned int board, unsigned int ch );
357 std::vector<int> GetSpedeDAQ( unsigned int seg );
358 inline int GetSpedeSFP( unsigned int seg ){
359 return GetSpedeDAQ( seg ).at(0);
360 };
361 inline int GetSpedeBoard( unsigned int seg ){
362 std::vector<int> daqinfo = GetSpedeDAQ( seg );
363 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
364 else return -1;
365 };
366 inline int GetSpedeChannel( unsigned int seg ){
367 return GetSpedeDAQ( seg ).at(2);
368 };
369
370
371 // IonChamber
372 inline unsigned int GetNumberOfIonChamberLayers(){ return n_ic_layer; };
373 bool IsIonChamber( unsigned int adc, unsigned int ch );
374 bool IsIonChamber( unsigned int sfp, unsigned int board, unsigned int ch );
375 int GetIonChamberLayer( unsigned int adc, unsigned int ch );
376 int GetIonChamberLayer( unsigned int sfp, unsigned int board, unsigned int ch );
377 std::vector<int> GetIonChamberDAQ( unsigned int layer );
378 inline int GetIonChamberSFP( unsigned int layer ){
379 return GetIonChamberDAQ( layer ).at(0);
380 };
381 inline int GetIonChamberBoard( unsigned int layer ){
382 std::vector<int> daqinfo = GetIonChamberDAQ( layer );
383 if( daqinfo.at(0) >= 0 ) return daqinfo.at(1);
384 else return -1;
385 };
386 inline int GetIonChamberADC( unsigned int layer ){
387 std::vector<int> daqinfo = GetIonChamberDAQ( layer );
388 if( daqinfo.at(0) < 0 ) return daqinfo.at(1);
389 else return -1;
390 };
391 inline int GetIonChamberChannel( unsigned int layer ){
392 return GetIonChamberDAQ( layer ).at(2);
393 };
394 inline double GetIonChamberHitWindow(){ return ic_hit_window; };
395
396
397 // Pulsers
398 inline unsigned int GetNumberOfPulsers(){ return n_pulsers; };
399 bool IsPulser( unsigned int sfp, unsigned int board, unsigned int ch );
400 int GetPulser( unsigned int sfp, unsigned int board, unsigned int ch );
401
402
403 ClassDef( MiniballSettings, 3 )
404
405private:
406
407 std::string fInputFile;
408
409 // FEBEX settings
410 unsigned int n_febex_sfp;
411 unsigned int n_febex_board;
412 unsigned int n_febex_ch;
413
414 // Old DAQ settings
415 unsigned int n_dgf_mod;
416 unsigned int n_dgf_ts_mod;
417 unsigned int n_dgf_ch;
418 unsigned int dgf_mod_offset;
419 unsigned int dgf_ts_mod_offset;
420 unsigned int n_caen_mod;
421 unsigned int n_caen_ch;
422 unsigned int caen_mod_offset;
423 unsigned int n_madc_mod;
424 unsigned int n_madc_ch;
425 unsigned int madc_mod_offset;
426 unsigned int n_pattern_unit;
427 unsigned int pattern_unit_offset;
428 unsigned int n_scaler_unit;
429 unsigned int scaler_unit_offset;
430
431 // Marabou has weird serial numbers for sub events
437
438 // Miniball array settings
439 unsigned int n_mb_cluster;
440 unsigned int n_mb_crystal;
441 unsigned int n_mb_segment;
442
443 // Miniball array electronics mapping
444 std::vector<std::vector<std::vector<unsigned int>>> mb_sfp;
445 std::vector<std::vector<std::vector<unsigned int>>> mb_board;
446 std::vector<std::vector<std::vector<unsigned int>>> mb_dgf;
447 std::vector<std::vector<std::vector<unsigned int>>> mb_ch;
448 std::vector<std::vector<std::vector<bool>>> mb_veto;
449 std::vector<std::vector<std::vector<int>>> mb_cluster;
450 std::vector<std::vector<std::vector<int>>> mb_crystal;
451 std::vector<std::vector<std::vector<int>>> mb_segment;
452
453 // CD settings
454 unsigned int n_cd_det;
455 unsigned int n_cd_sector;
456 unsigned int n_cd_side;
457 unsigned int n_cd_pstrip;
458 unsigned int n_cd_nstrip;
459
460 // CD calibration settings
462
463 // CD electronics mapping
464 std::vector<std::vector<std::vector<std::vector<unsigned int>>>> cd_sfp;
465 std::vector<std::vector<std::vector<std::vector<unsigned int>>>> cd_board;
466 std::vector<std::vector<std::vector<std::vector<unsigned int>>>> cd_adc;
467 std::vector<std::vector<std::vector<std::vector<unsigned int>>>> cd_ch;
468 std::vector<std::vector<std::vector<int>>> cd_det;
469 std::vector<std::vector<std::vector<int>>> cd_sector;
470 std::vector<std::vector<std::vector<int>>> cd_side;
471 std::vector<std::vector<std::vector<int>>> cd_strip;
472
473 // PAD electronics mapping
474 std::vector<std::vector<unsigned int>> pad_sfp;
475 std::vector<std::vector<unsigned int>> pad_board;
476 std::vector<std::vector<unsigned int>> pad_adc;
477 std::vector<std::vector<unsigned int>> pad_ch;
478 std::vector<std::vector<std::vector<int>>> pad_det;
479 std::vector<std::vector<std::vector<int>>> pad_sector;
481
482 // Beam dump settings
483 unsigned int n_bd_det;
484
485 // Beam dump electronics mapping
486 std::vector<unsigned int> bd_sfp;
487 std::vector<unsigned int> bd_board;
488 std::vector<unsigned int> bd_dgf;
489 std::vector<unsigned int> bd_ch;
490 std::vector<std::vector<std::vector<int>>> bd_det;
491
492 // SPEDE settings
493 unsigned int n_spede_seg;
494
495 // SPEDE electronics mapping
496 std::vector<unsigned int> spede_sfp;
497 std::vector<unsigned int> spede_board;
498 std::vector<unsigned int> spede_dgf;
499 std::vector<unsigned int> spede_ch;
500 std::vector<std::vector<std::vector<int>>> spede_seg;
501
502 // IonChamber settings
503 unsigned int n_ic_layer;
504
505 // SPEDE electronics mapping
506 std::vector<unsigned int> ic_sfp;
507 std::vector<unsigned int> ic_board;
508 std::vector<unsigned int> ic_adc;
509 std::vector<unsigned int> ic_ch;
510 std::vector<std::vector<std::vector<int>>> ic_layer;
511
512
513 // Pulsers
514 unsigned int n_pulsers;
515 std::vector<unsigned int> pulser_sfp;
516 std::vector<unsigned int> pulser_board;
517 std::vector<unsigned int> pulser_ch;
518 std::vector<std::vector<std::vector<int>>> pulser;
519
520
521 // Info code settings
522 unsigned int sync_msb_code;
523 unsigned int sync_hsb_code;
524 unsigned int tm_msb_code;
525 unsigned int tm_hsb_code;
526 unsigned int pause_code;
527 unsigned int resume_code;
528 unsigned int pulser_code;
529 unsigned int ebis_sfp;
530 unsigned int ebis_dgf;
531 unsigned int ebis_board;
532 unsigned int ebis_ch;
533 unsigned int ebis_code;
534 unsigned int t1_sfp;
535 unsigned int t1_dgf;
536 unsigned int t1_board;
537 unsigned int t1_ch;
538 unsigned int t1_code;
539 unsigned int sc_sfp;
540 unsigned int sc_dgf;
541 unsigned int sc_board;
542 unsigned int sc_ch;
543 unsigned int sc_code;
544 unsigned int laser_sfp;
545 unsigned int laser_board;
546 unsigned int laser_ch;
547 unsigned int laser_pattern;
548 unsigned int laser_code;
549
550 // Event builder
553
554 // Hit windows for complex events
560
561 // Data format
562 unsigned int block_size;
564
565 // Pile-up and clipped pulse rejection
568
569 // Buffer full rejection
572
573 // DGF timestamp delay
575
576 // Timestamp units (ns per tick)
580
581
582
583};
584
585#endif
unsigned int n_pattern_unit
Number of pattern unit modules.
Definition Settings.hh:426
unsigned int dgf_mod_offset
module number offset for the DGFs
Definition Settings.hh:418
double GetCDCalibratorMaxEnergy()
Definition Settings.hh:298
unsigned int n_caen_mod
Number of CAEN ADC modules.
Definition Settings.hh:420
unsigned int pulser_code
Info code when we have a pulser event in InfoData packets.
Definition Settings.hh:528
unsigned int ebis_sfp
Location of the EBIS signal in the FEBEX system (sfp)
Definition Settings.hh:529
unsigned int caen_mod_offset
module number offset for the CAEN ADCs
Definition Settings.hh:422
double mb_hit_window
Prompt time for correlated Miniball events in crystal, i.e. segmen-core events.
Definition Settings.hh:555
unsigned int GetNumberOfFebexSfps()
Definition Settings.hh:36
unsigned int n_madc_mod
Number of Mesytec ADC modules.
Definition Settings.hh:423
std::vector< std::vector< std::vector< int > > > cd_det
A channel map for the CD detectors (-1 if not a CD, 0 forward CD, 1 backward CD)
Definition Settings.hh:468
unsigned int ebis_dgf
Location of the EBIS signal in the DGF system (module)
Definition Settings.hh:530
unsigned int n_scaler_unit
Number of scaler unit modules.
Definition Settings.hh:428
unsigned int GetT1Dgf()
Definition Settings.hh:155
bool IsCD(unsigned int adc, unsigned int ch)
Definition Settings.cc:1085
double GetCDHitWindow()
Definition Settings.hh:297
std::vector< unsigned int > bd_dgf
A list of DGF module numbers for each beam dump detector.
Definition Settings.hh:488
int GetCDStrip(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:278
unsigned int laser_board
Location of the RILIS laser signal in the FEBEX system (board)
Definition Settings.hh:545
unsigned int block_size
not yet implemented, needs C++ style reading of data files
Definition Settings.hh:562
unsigned int ebis_ch
Location of the EBIS signal in the FEBEX system (channel)
Definition Settings.hh:532
std::vector< int > GetCDDAQ(unsigned int det, unsigned int sec, unsigned int side, unsigned int strip)
Definition Settings.cc:1161
unsigned int GetNumberOfMesytecAdcModules()
Definition Settings.hh:81
int GetDgfModuleNumber(unsigned int i)
Definition Settings.hh:44
unsigned int GetRILISChannel()
Definition Settings.hh:167
unsigned int adc_vme_first
Definition Settings.hh:433
bool GetPileupRejection()
Definition Settings.hh:185
const std::string InputFile()
Definition Settings.hh:31
unsigned int GetNumberOfPulsers()
Definition Settings.hh:398
int GetPadChannel(unsigned int det, unsigned int sec)
Definition Settings.hh:322
unsigned int laser_sfp
Location of the RILIS laser signal in the FEBEX system (sfp)
Definition Settings.hh:544
unsigned int dgf_vme_last
Marabou IDs for DGFs.
Definition Settings.hh:432
std::vector< std::vector< std::vector< bool > > > mb_veto
A boolean to check if we need to veto any segments.
Definition Settings.hh:448
int GetIonChamberLayer(unsigned int adc, unsigned int ch)
Definition Settings.cc:1581
std::vector< unsigned int > pulser_sfp
A list of SFP numbers for each pulser.
Definition Settings.hh:515
std::vector< std::vector< unsigned int > > pad_ch
A list of channel numbers for each PAD detector.
Definition Settings.hh:477
int GetIonChamberSFP(unsigned int layer)
Definition Settings.hh:378
unsigned int GetNumberOfPatternUnits()
Definition Settings.hh:94
void TestSettings()
Definition Settings.cc:20
unsigned int dgf_ts_mod_offset
module number offset for the timestamper DGFs
Definition Settings.hh:419
bool GetBufferPartRejection()
Definition Settings.hh:191
bool GetClippedRejection()
Definition Settings.hh:186
std::vector< std::vector< std::vector< std::vector< unsigned int > > > > cd_adc
A list of ADC module numbers for each CD detector, sector, side and strip.
Definition Settings.hh:466
unsigned int GetNumberOfFebexChannels()
Definition Settings.hh:38
unsigned int n_cd_nstrip
number of n-side strips
Definition Settings.hh:458
std::vector< unsigned int > ic_board
A list of board numbers for each IonChamber segment.
Definition Settings.hh:507
unsigned int tm_msb_code
Medium significant bits of the timestamp are here.
Definition Settings.hh:524
double GetIonChamberHitWindow()
Definition Settings.hh:394
int GetCDSFP(unsigned int det, unsigned int sec, unsigned int side, unsigned int strip)
Definition Settings.hh:281
unsigned int n_cd_sector
number of sectors in the CD (or quadrants, it's 4)
Definition Settings.hh:455
unsigned int GetMsbSyncCode()
Definition Settings.hh:139
unsigned int pattern_unit_offset
module number offset for the pattern units
Definition Settings.hh:427
std::vector< std::vector< std::vector< std::vector< unsigned int > > > > cd_ch
A list of channel numbers for each CD detector, sector, side and strip.
Definition Settings.hh:467
bool clipped_reject
reject events that are clipped by the ADC range
Definition Settings.hh:567
double GetPadHitWindow()
Definition Settings.hh:325
unsigned int GetRILISPattern()
Definition Settings.hh:168
int GetPadBoard(unsigned int det, unsigned int sec)
Definition Settings.hh:312
int GetCDChannel(unsigned int det, unsigned int sec, unsigned int side, unsigned int strip)
Definition Settings.hh:294
unsigned int ebis_code
Info code when we have an EBIS event in InfoData packets.
Definition Settings.hh:533
double ab_hit_window
Prompt time for correlated Miniball events in cluster, i.e. addback events.
Definition Settings.hh:556
int GetSpedeSegment(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.cc:1508
int GetMiniballChannel(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.hh:236
unsigned int pattern_vme_last
Marabou IDs for pattern unit modules.
Definition Settings.hh:435
unsigned int GetNumberOfBeamDumpDetectors()
Definition Settings.hh:329
unsigned int GetEBISDgf()
Definition Settings.hh:149
unsigned int GetEBISChannel()
Definition Settings.hh:150
int GetMiniballSegment(unsigned int dgf, unsigned int ch)
Definition Settings.hh:217
unsigned int GetNumberOfMesytecAdcChannels()
Definition Settings.hh:82
int GetPadDetector(unsigned int adc, unsigned int ch)
Definition Settings.cc:1268
bool IsIonChamber(unsigned int adc, unsigned int ch)
Definition Settings.cc:1565
std::vector< int > GetIonChamberDAQ(unsigned int layer)
Definition Settings.cc:1614
int GetMiniballSFP(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.hh:223
std::vector< unsigned int > spede_dgf
A list of DGF module numbers for each SPEDE segment.
Definition Settings.hh:498
int GetPadSector(unsigned int adc, unsigned int ch)
Definition Settings.cc:1301
double dgf_ts_units
Definition Settings.hh:577
unsigned int n_cd_pstrip
number of p-side strips
Definition Settings.hh:457
unsigned int GetNumberOfMiniballSegments()
Definition Settings.hh:197
unsigned int GetHsbTimestampCode()
Definition Settings.hh:142
bool IsPulser(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.cc:1671
int GetPadADC(unsigned int det, unsigned int sec)
Definition Settings.hh:317
unsigned int GetNumberOfCDDetectors()
Definition Settings.hh:245
void ReadSettings()
Definition Settings.cc:136
void SetBlockSize(unsigned int size)
Definition Settings.hh:179
std::vector< unsigned int > ic_ch
A list of channel numbers for each IonChamber segment.
Definition Settings.hh:509
double cd_calibrator_max_energy
Max energy to fill spectra to calibrate CD strips with CD calibrator; default is 2000e3 keV.
Definition Settings.hh:461
unsigned int n_madc_ch
Number of Mesytec ADC channels.
Definition Settings.hh:424
unsigned int GetNumberOfMiniballCrystals()
Definition Settings.hh:196
unsigned int laser_ch
Location of the RILIS laser signal in the FEBEX system (channel)
Definition Settings.hh:546
int GetPatternUnitNumber(unsigned int i)
Definition Settings.hh:95
int GetBeamDumpSFP(unsigned int det)
Definition Settings.hh:335
std::vector< std::vector< unsigned int > > pad_board
A list of board numbers for each PAD detector.
Definition Settings.hh:475
unsigned int GetT1Channel()
Definition Settings.hh:156
std::vector< std::vector< std::vector< int > > > pad_det
A channel map for the PAD detectors (-1 if not a PAD, 0 forward CD-PAD, 1 backward CD-PAD)
Definition Settings.hh:478
int GetMiniballCrystal(unsigned int dgf, unsigned int ch)
Definition Settings.hh:211
int GetCDBoard(unsigned int det, unsigned int sec, unsigned int side, unsigned int strip)
Definition Settings.hh:284
double GetDgfTimestampDelay()
Definition Settings.hh:52
unsigned int GetSCChannel()
Definition Settings.hh:162
int GetMiniballID(unsigned int dgf, unsigned int ch, const std::vector< std::vector< std::vector< int > > > &vector)
Definition Settings.cc:987
ClassDef(MiniballSettings, 3) private unsigned int n_febex_sfp
Number of SFPs in acquisition.
Definition Settings.hh:403
unsigned int GetNumberOfIonChamberLayers()
Definition Settings.hh:372
std::vector< unsigned int > bd_ch
A list of channel numbers for each beam dump detector.
Definition Settings.hh:489
unsigned int GetSCDgf()
Definition Settings.hh:161
std::vector< std::vector< std::vector< unsigned int > > > mb_sfp
A list of SFP numbers for each MB cluster, crystal and segment.
Definition Settings.hh:444
unsigned int sync_msb_code
Sync pulse code from Exploder (msb)
Definition Settings.hh:522
bool CheckVmeModuleIsDgfScaler(unsigned int id)
Definition Settings.hh:132
unsigned int GetNumberOfDgfChannels()
Definition Settings.hh:43
std::vector< unsigned int > spede_ch
A list of channel numbers for each SPEDE segment.
Definition Settings.hh:499
int GetMiniballCluster(unsigned int dgf, unsigned int ch)
Definition Settings.hh:205
unsigned int GetPauseCode()
Definition Settings.hh:143
void SetFile(std::string filename)
Definition Settings.hh:28
int GetMiniballDGF(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.hh:231
unsigned int n_caen_ch
Number of CAENADC channels.
Definition Settings.hh:421
bool mbs_event_sort
Flag to define if we sort MBS data by readout event (true), or by global time (false)
Definition Settings.hh:552
unsigned int scaler_unit_offset
module number offset for the scaler units
Definition Settings.hh:429
std::vector< unsigned int > bd_board
A list of board numbers for each beam dump detector.
Definition Settings.hh:487
unsigned int n_mb_cluster
Miniball usuall has 8 triple cluster detectors.
Definition Settings.hh:439
bool CheckVmeModuleIsScaler(unsigned int id)
Definition Settings.hh:124
unsigned int IsFebexOnly()
Definition Settings.hh:181
double GetDgfTimestampUnits()
Definition Settings.hh:53
int GetCDStrip(unsigned int adc, unsigned int ch)
Definition Settings.hh:275
unsigned int GetRILISBoard()
Definition Settings.hh:166
bool IsPad(unsigned int adc, unsigned int ch)
Definition Settings.cc:1227
unsigned int t1_sfp
Location of the T1 signal in the FEBEX system (sfp)
Definition Settings.hh:534
int GetScalerUnitNumber(unsigned int i)
Definition Settings.hh:106
double cd_hit_window
Prompt time for correlated CD events.
Definition Settings.hh:557
std::vector< unsigned int > spede_board
A list of board numbers for each SPEDE segment.
Definition Settings.hh:497
int GetCDADC(unsigned int det, unsigned int sec, unsigned int side, unsigned int strip)
Definition Settings.hh:289
std::vector< int > GetSpedeDAQ(unsigned int seg)
Definition Settings.cc:1525
int GetCDSector(unsigned int adc, unsigned int ch)
Definition Settings.hh:263
bool pileup_reject
reject events where the pileup flag is set by the MWD firmware
Definition Settings.hh:566
int GetCDDetector(unsigned int adc, unsigned int ch)
Definition Settings.hh:257
unsigned int GetNumberOfSpedeSegments()
Definition Settings.hh:354
int GetSpedeSFP(unsigned int seg)
Definition Settings.hh:358
std::vector< unsigned int > spede_sfp
A list of SFP numbers for each SPEDE segment.
Definition Settings.hh:496
int GetCDSector(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:266
unsigned int n_spede_seg
Number of SPEDE segments, usually 24.
Definition Settings.hh:493
bool CheckVmeModuleIsAdc(unsigned int id)
Definition Settings.hh:120
unsigned int GetBlockSize()
Definition Settings.hh:180
double caen_ts_units
Definition Settings.hh:578
unsigned int GetSCSfp()
Definition Settings.hh:159
std::vector< std::vector< std::vector< std::vector< unsigned int > > > > cd_board
A list of board numbers for each CD detector, sector, side and strip.
Definition Settings.hh:465
unsigned int GetNumberOfCDSectors()
Definition Settings.hh:246
std::vector< std::vector< std::vector< int > > > pad_sector
Definition Settings.hh:479
std::vector< std::vector< std::vector< unsigned int > > > mb_dgf
A list of DGF module numbers for each MB cluster, crystal and segment.
Definition Settings.hh:446
unsigned int n_bd_det
Number of beam dump detectors.
Definition Settings.hh:483
bool flag_febex_only
when there is only FEBEX data in the file
Definition Settings.hh:563
unsigned int t1_dgf
Location of the T1 signal in the DGF system (module)
Definition Settings.hh:535
unsigned int scaler_vme_last
Marabou IDs for scaler modules.
Definition Settings.hh:434
int GetMiniballCrystal(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:214
std::vector< std::vector< std::vector< unsigned int > > > mb_board
A list of board numbers for each MB cluster, crystal and segment.
Definition Settings.hh:445
unsigned int n_dgf_ch
Number of DGF channels.
Definition Settings.hh:417
unsigned int GetNumberOfDgfTimestampModules()
Definition Settings.hh:42
unsigned int t1_code
Info code when we have a T1 event in InfoData packets.
Definition Settings.hh:538
bool IsTimestampModule(unsigned int m)
Definition Settings.hh:54
unsigned int GetT1Board()
Definition Settings.hh:154
int GetSpedeBoard(unsigned int seg)
Definition Settings.hh:361
unsigned int GetResumeCode()
Definition Settings.hh:144
std::vector< unsigned int > ic_adc
A list of ADC module numbers for each IonChamber segment.
Definition Settings.hh:508
unsigned int ebis_board
Location of the EBIS signal in the FEBEX system (board)
Definition Settings.hh:531
unsigned int GetMsbTimestampCode()
Definition Settings.hh:141
double pad_hit_window
Prompt time for correlated CD-Pad events.
Definition Settings.hh:558
std::vector< std::vector< std::vector< int > > > cd_strip
A channel map for the CD strips IDs (-1 if not a CD, strip ID otherwise)
Definition Settings.hh:471
unsigned int n_cd_side
number of sides, it's always 2, i.e. p-side and n-side
Definition Settings.hh:456
unsigned int laser_pattern
Location of the RILIS laser signal in the pattern unit (channel)
Definition Settings.hh:547
unsigned int GetNumberOfAdcModules()
Definition Settings.hh:61
void SetMbsEventMode(bool flag)
Definition Settings.hh:175
unsigned int GetSCCode()
Definition Settings.hh:163
bool IsMiniballSegmentVetoed(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.cc:970
std::vector< std::vector< std::vector< std::vector< unsigned int > > > > cd_sfp
A list of SFP numbers for each CD detector, sector, side and strip.
Definition Settings.hh:464
int GetMiniballCluster(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:208
unsigned int GetEBISSfp()
Definition Settings.hh:147
std::vector< std::vector< std::vector< int > > > bd_det
A channel map for the beam dump detectors (-1 if not a beam dump, otherwise detector number)
Definition Settings.hh:490
std::vector< std::vector< std::vector< int > > > mb_cluster
A channel map for the Miniball cluster IDs (-1 if not Miniball)
Definition Settings.hh:449
unsigned int madc_mod_offset
module number offset for the MADCs
Definition Settings.hh:425
unsigned int n_dgf_ts_mod
Number of DGF timestamp modules (subset of n_dgf_mod)
Definition Settings.hh:416
std::vector< std::vector< std::vector< int > > > cd_sector
A channel map for the CD sectors (-1 if not a CD, 0-3 for quadrants)
Definition Settings.hh:469
std::vector< std::vector< std::vector< int > > > ic_layer
A channel map for the IonChamber segments (-1 if not a IonChamber, otherwise layer number,...
Definition Settings.hh:510
std::vector< std::vector< std::vector< unsigned int > > > mb_ch
A list of channel numbers for each MB cluster, crystal and segment.
Definition Settings.hh:447
unsigned int GetHsbSyncCode()
Definition Settings.hh:140
unsigned int laser_code
Info code when we have a RILIS Laser ON coincidence with EBIS in InfoData packets.
Definition Settings.hh:548
unsigned int n_ic_layer
Number of IonChamber layers, usually 2, dE (gas) and E (Si)
Definition Settings.hh:503
int GetIonChamberBoard(unsigned int layer)
Definition Settings.hh:381
std::vector< int > GetMiniballDAQ(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.cc:1022
int GetMiniballBoard(unsigned int clu, unsigned int cry, unsigned int seg)
Definition Settings.hh:226
int GetCDSide(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:272
int GetBeamDumpChannel(unsigned int det)
Definition Settings.hh:348
int GetMesytecAdcModuleNumber(unsigned int i)
Definition Settings.hh:83
bool GetBufferFullRejection()
Definition Settings.hh:190
unsigned int sc_sfp
Location of the SuperCycle signal in the FEBEX system (sfp)
Definition Settings.hh:539
unsigned int GetNumberOfScalerUnits()
Definition Settings.hh:105
int GetCaenAdcModuleNumber(unsigned int i)
Definition Settings.hh:70
bool IsSpede(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.cc:1500
std::vector< std::vector< std::vector< int > > > cd_side
A channel map for the CD sides (-1 if not a CD, 0 for p-side, 1 for n-side)
Definition Settings.hh:470
double ic_hit_window
Prompt time for correlated ionchamber events.
Definition Settings.hh:559
bool IsMiniball(unsigned int dgf, unsigned int ch)
Definition Settings.cc:930
std::vector< unsigned int > ic_sfp
A list of SFP numbers for each IonChamber segment.
Definition Settings.hh:506
unsigned int GetRILISCode()
Definition Settings.hh:169
double GetCaenAdcTimestampUnits()
Definition Settings.hh:78
int GetIonChamberADC(unsigned int layer)
Definition Settings.hh:386
bool IsBeamDump(unsigned int dgf, unsigned int ch)
Definition Settings.cc:1394
unsigned int GetNumberOfCaenAdcModules()
Definition Settings.hh:68
unsigned int n_mb_segment
Number of sgements in a crystal is 7, including core = 0.
Definition Settings.hh:441
int GetBeamDumpDetector(unsigned int dgf, unsigned int ch)
Definition Settings.cc:1410
int GetCDID(unsigned int adc, unsigned int ch, const std::vector< std::vector< std::vector< int > > > &vector)
Definition Settings.cc:1126
int GetCDSide(unsigned int adc, unsigned int ch)
Definition Settings.hh:269
bool CheckVmeModuleIsPattern(unsigned int id)
Definition Settings.hh:128
std::vector< std::vector< std::vector< int > > > pulser
A channel map for the pulser inputs.
Definition Settings.hh:518
unsigned int GetPulserCode()
Definition Settings.hh:145
std::vector< std::vector< std::vector< int > > > mb_crystal
A channel map for the Miniball crystal IDs (-1 if not Miniball)
Definition Settings.hh:450
unsigned int sc_dgf
Location of the SuperCycle signal in the DGF system (module)
Definition Settings.hh:540
unsigned int GetNumberOfCDSides()
Definition Settings.hh:247
unsigned int GetMaximumNumberOfAdcChannels()
Definition Settings.hh:62
int GetPulser(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.cc:1679
int GetPadSFP(unsigned int det, unsigned int sec)
Definition Settings.hh:309
unsigned int dgfscaler_vme_last
Marabou IDs for DGF scalers.
Definition Settings.hh:436
unsigned int n_febex_ch
Number of channels per board (16 for FEBEX4)
Definition Settings.hh:412
unsigned int GetNumberOfMiniballClusters()
Definition Settings.hh:195
double event_window
Event builder time window in ns.
Definition Settings.hh:551
std::vector< std::vector< unsigned int > > pad_sfp
A list of SFP numbers for each PAD detector.
Definition Settings.hh:474
std::vector< int > GetBeamDumpDAQ(unsigned int det)
Definition Settings.cc:1443
unsigned int GetNumberOfCaenAdcChannels()
Definition Settings.hh:69
unsigned int GetT1Code()
Definition Settings.hh:157
unsigned int GetNumberOfCDPStrips()
Definition Settings.hh:248
unsigned int pause_code
Info code when acquisition has paused due to a full buffer.
Definition Settings.hh:526
unsigned int GetNumberOfCDNStrips()
Definition Settings.hh:249
unsigned int GetEBISCode()
Definition Settings.hh:151
int GetCDDetector(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:260
bool CheckVmeModuleIsDgf(unsigned int id)
Definition Settings.hh:116
unsigned int GetSCBoard()
Definition Settings.hh:160
unsigned int t1_board
Location of the T1 signal in the FEBEX system (board)
Definition Settings.hh:536
std::vector< std::vector< unsigned int > > pad_adc
A list of ADC module numbers for each PAD detector.
Definition Settings.hh:476
unsigned int GetNumberOfDgfModules()
Definition Settings.hh:41
int GetBeamDumpDGF(unsigned int det)
Definition Settings.hh:343
unsigned int pattern_vme_first
Definition Settings.hh:435
unsigned int sc_ch
Location of the SuperCycle signal in the FEBEX system (channel)
Definition Settings.hh:542
unsigned int scaler_vme_first
Definition Settings.hh:434
unsigned int adc_vme_last
Marabou IDs for ADCs.
Definition Settings.hh:433
std::vector< int > GetPadDAQ(unsigned int det, unsigned int sec)
Definition Settings.cc:1334
unsigned int tm_hsb_code
Highest significant bits of the timestamp are here.
Definition Settings.hh:525
unsigned int GetNumberOfFebexBoards()
Definition Settings.hh:37
double GetMiniballAddbackHitWindow()
Definition Settings.hh:241
unsigned int n_dgf_mod
Number of DGF modules.
Definition Settings.hh:415
double GetEventWindow()
Definition Settings.hh:173
std::vector< std::vector< std::vector< int > > > mb_segment
A channel map for the Miniball segment IDs (-1 if not Miniball)
Definition Settings.hh:451
double GetMiniballCrystalHitWindow()
Definition Settings.hh:240
unsigned int dgfscaler_vme_first
Definition Settings.hh:436
unsigned int n_febex_board
Maximum number of boards per SFP.
Definition Settings.hh:411
int GetSpedeChannel(unsigned int seg)
Definition Settings.hh:366
unsigned int n_pulsers
Number of pulser inputs for synchronisation tests.
Definition Settings.hh:514
std::vector< unsigned int > pulser_board
A list of board numbers for each pulser.
Definition Settings.hh:516
unsigned int n_cd_det
Number of CD detectors (just 1 for Coulex)
Definition Settings.hh:454
double GetMbsEventMode()
Definition Settings.hh:174
int GetBeamDumpBoard(unsigned int det)
Definition Settings.hh:338
unsigned int t1_ch
Location of the T1 signal in the FEBEX system (channel)
Definition Settings.hh:537
unsigned int GetT1Sfp()
Definition Settings.hh:153
unsigned int n_mb_crystal
Number of crystals in a triple cluster is 3.
Definition Settings.hh:440
unsigned int GetRILISSfp()
Definition Settings.hh:165
unsigned int dgf_vme_first
Definition Settings.hh:432
int GetIonChamberChannel(unsigned int layer)
Definition Settings.hh:391
unsigned int sync_hsb_code
Sync pulse code from Exploder (hsb)
Definition Settings.hh:523
unsigned int GetEBISBoard()
Definition Settings.hh:148
std::vector< unsigned int > bd_sfp
A list of SFP numbers for each beam dump detector.
Definition Settings.hh:486
unsigned int sc_board
Location of the SuperCycle signal in the FEBEX system (board)
Definition Settings.hh:541
int GetMiniballSegment(unsigned int sfp, unsigned int board, unsigned int ch)
Definition Settings.hh:220
unsigned int sc_code
Info code when we have a SuperCycle event in InfoData packets.
Definition Settings.hh:543
unsigned int resume_code
Info code when acquisition has resumed after a pause.
Definition Settings.hh:527
std::vector< unsigned int > pulser_ch
A list of channel numbers for each pulser.
Definition Settings.hh:517
double GetMesytecAdcTimestampUnits()
Definition Settings.hh:91
double madc_ts_units
Definition Settings.hh:579
std::vector< std::vector< std::vector< int > > > spede_seg
A channel map for the SPEDE segments (-1 if not a SPEDE, otherwise segment number)
Definition Settings.hh:500