FACT++
1.0
|
#include <HeadersFTM.h>
Public Types | |
enum | Limits { kMaxMultiplicity = 40, kMaxWindow = 0xf, kMaxDeadTime = 0xffff, kMaxDelayTimeMarker = 0x3ff, kMaxDelayTrigger = 0x3ff, kMaxTriggerInterval = 0x3ff, kMaxIntensity = 0x7f, kMaxSequence = 0x1f, kMaxDAC = 0xfff, kMaxAddr = 0xfff, kMaxPatchIdx = 159, kMaxPixelIdx = 1439, kMaskSettings = 0xf, kMaskLEDs = 0xf } |
enum | GeneralSettings { kTrigger = 0x80, kPedestal = 0x40, kLPint = 0x20, kLPext = 0x10, kExt2 = 0x08, kExt1 = 0x04, kVeto = 0x02, kClockConditioner = 0x01 } |
enum | LightPulserEnable { kGroup1 = 0x40, kGroup2 = 0x80 } |
Public Member Functions | |
StaticData () | |
StaticData (const std::vector< uint16_t > &vec) | |
std::vector< uint16_t > | HtoN () const |
bool | operator== (StaticData d) const |
bool | valid () const |
void | clear () |
void | print (std::ostream &out) const |
StaticDataBoard & | operator[] (int i) |
const StaticDataBoard & | operator[] (int i) const |
void | EnableFTU (int i) |
void | DisableFTU (int i) |
void | EnableAllFTU () |
void | DisableAllFTU () |
void | EnableLPint (LightPulserEnable group, bool enable) |
void | EnableLPext (LightPulserEnable group, bool enable) |
void | ToggleFTU (int i) |
void | Enable (GeneralSettings type, bool enable) |
bool | IsEnabled (GeneralSettings type) const |
uint16_t * | EnablePixel (int idx, bool enable) |
void | EnablePatch (int idx, bool enable) |
void | EnableAllPixel () |
bool | Enabled (uint16_t idx) const |
uint8_t | GetSequencePed () const |
uint8_t | GetSequenceLPint () const |
uint8_t | GetSequenceLPext () const |
void | SetSequence (uint8_t ped, uint8_t lpint, uint8_t lpext) |
void | SetClockRegister (const uint64_t reg[]) |
void | SetPrescaling (uint16_t val) |
Public Attributes | |
uint16_t | fGeneralSettings |
uint16_t | fStatusLEDs |
Enable for different trigger types / select for TIM/ClockConditioner output (only 8 bit used) More... | |
uint16_t | fTriggerInterval |
only 8 bit used More... | |
uint16_t | fTriggerSequence |
[ms] Interval between two artificial triggers (no matter which type) minimum 1ms, 10 bit More... | |
uint8_t | fIntensityLPext |
Ratio between trigger types send as artificial trigger (in this order) 3x5bit. More... | |
uint8_t | fEnableLPext |
Intensity of LEDs (0-127) More... | |
uint8_t | fIntensityLPint |
Enable for LED group 1/2 (LightPulserEnable) More... | |
uint8_t | fEnableLPint |
Intensity of LEDs (0-127) More... | |
uint32_t | fDummy0 |
Enable for LED group 1/2 (LightPulserEnable) More... | |
uint16_t | fMultiplicityPhysics |
uint16_t | fMultiplicityCalib |
Required trigger multiplicity for physcis triggers (0-40) More... | |
uint16_t | fDelayTrigger |
Required trigger multiplicity calibration (LPext) triggers (0-40) More... | |
uint16_t | fDelayTimeMarker |
(4ns * x + 8ns) FTM internal programmable delay between trigger decision and output More... | |
uint16_t | fDeadTime |
(4ns * x + 8ns) FTM internal programmable delay between trigger descision and time marker output More... | |
uint32_t | fClockConditioner [8] |
(4ns * x + 8ns) FTM internal programmable dead time after trigger decision More... | |
uint16_t | fWindowPhysics |
R0, R1, R8, R9, R11, R13, R14, R15. More... | |
uint16_t | fWindowCalib |
(4ns * x + 8ns) At least N (multiplicity) rising edges (trigger signal) within this window More... | |
uint16_t | fDummy1 |
(4ns * x + 8ns) At least N (multiplicity) rising edges (trigger signal) within this window More... | |
StaticDataBoard | fBoard [4][10] |
uint16_t | fActiveFTU [4] |
Definition at line 179 of file HeadersFTM.h.