#include <CCAENV1x90.h>
Public Types | |
enum | _ECLOutputSelect { DATA_READY, FULL, ALMOST_FULL, ERROR } |
enum | _EdgeMode { EdgeMode_Pair = 0, EdgeMode_Leading = 2, EdgeMode_Trailing = 1, EdgeMode_Both = 3 } |
enum | _Resolution { Res_25ps = 3, Res_100ps = 2, Res_200ps = 1, Res_800ps = 0 } |
enum | _LEResolution { LE_100ps = 0, LE_200ps = 1, LE_400ps = 2, LE_800ps = 3, LE_1600ps = 4, LE_3120ps = 5, LE_6250ps = 6, LE_12500ps = 7 } |
enum | _PWResolution { PW_100ps = 0, PW_200ps = 1, PW_400ps = 2, PW_800ps = 3, PW_1600ps = 4, PW_3200ps = 5, PW_6250ps = 6, PW_12500ps = 7, PW_25ns = 8, PW_50ns = 9, PW_100ns = 10, PW_200ns = 11, PW_400ns = 12, PW_800ns = 13 } |
enum | _DeadTime { DT_5ns = 0, DT_10ns = 1, DT_30ns = 2, DT_100ns = 3 } |
enum | _HitMax { HITS_0 = 0, HITS_1 = 1, HITS_2 = 2, HITS_4 = 3, HITS_8 = 4, HITS_16 = 5, HITS_32 = 6, HITS_64 = 7, HITS_128 = 8, HITS_UNLIMITED = 9 } |
enum | _L1Size { L1_2wds, L1_4wds, L1_8wds, L1_16wds, L1_32wds, L1_64wds, L1_128wds, L1_256wds } |
typedef enum CCAENV1x90::_ECLOutputSelect | ECLOutputSelect |
typedef enum CCAENV1x90::_EdgeMode | EdgeMode |
typedef enum CCAENV1x90::_Resolution | Resolution |
typedef enum CCAENV1x90::_LEResolution | LEResolution |
typedef enum CCAENV1x90::_PWResolution | PWResolution |
typedef enum CCAENV1x90::_DeadTime | DeadTime |
typedef enum CCAENV1x90::_HitMax | HitMax |
typedef enum CCAENV1x90::_L1Size | L1Size |
Public Member Functions | |
CCAENV1x90 (unsigned int nSlot, unsigned int nCrate, unsigned long nBase) | |
geo not supported for these. | |
~CCAENV1x90 () | |
unsigned int | getModel () const |
unsigned char | getVersion () const |
unsigned int | getSerialNumber () const |
unsigned int | getChipCount () const |
unsigned int | getChannelCount () const |
unsigned short | SR () |
bool | isSetSR (unsigned short bitnum) |
true if sr has 1 << bitnum set. | |
unsigned short | ReadCR () |
Return the value of the ctl reg. | |
bool | isSetCR (unsigned short bitnum) |
true if sr has 1<< bitnum set. | |
void | Terminate () |
Software terminate module. | |
void | Unterminate () |
Software unterminate module. | |
void | TerminateWithSwitch () |
Set termination to be via hardware switch. | |
void | EnableTriggerTagTime () |
Put time tag in event. | |
void | DisableTriggerTagTime () |
don't put time tag in event. | |
bool | DataReady () |
True if there's data. | |
bool | AlmostFull () |
True if the buffer's almost full. | |
bool | isFull () |
True if the buffer is full. | |
bool | isTriggerMatching () |
True if module says it's trigger matching. | |
bool | isHeaderEnabled () |
True if TDC Header enabled. | |
bool | isTerminated () |
True if terminated regardless of how. | |
bool | HadError (unsigned int nChip) |
True if the TDC had an error since last reset. | |
int | ReadResolution () |
Return resolution in ps/LSBit. | |
bool | isPairMode () |
True if the module is in pair mode. | |
bool | WereTriggersLost () |
True if triggers were lost. | |
void | SetGeographicalID (unsigned short int) |
Set virtual slot number. | |
unsigned short | GetGeographicalID () |
Return the geographical id. | |
void | Reset () |
Software rest the module. | |
void | Clear () |
Software clear the module. | |
void | EventReset () |
Resynchronize event counter. | |
void | Trigger () |
Create a software trigger. | |
unsigned long | TriggerCount () |
# Triggers since last clear. | |
unsigned short | EventCount () |
# events in output buffer. | |
void | SetAlmostFullLevel (unsigned int nWords) |
Set the almost full level. | |
unsigned short | GetAlmostFullLevel () |
Where is the almost full threshold. | |
void | DefineECLOutput (ECLOutputSelect signal) |
Define the ECL PROG_OUT. | |
ECLOutputSelect | GetECLOutputDefinition () |
What is the ECL PROG_OUT. | |
unsigned short | EventFIFOCount () |
Return the # events in the fifo. | |
unsigned long | ReadEventFIFO () |
Return the next event description. | |
bool | isEventFIFOReady () |
Events in the fifo? | |
bool | isEventFIFOFull () |
Event fifo full? | |
unsigned short | FIFOEventNumber (unsigned long fifoentry) |
Decode event # from Fifo. | |
unsigned short | FIFOWordCount (unsigned long fifoentry) |
Decode event size from FIFO. | |
void | TriggerMatchMode () |
Module-> trigger match mode (0x0000). | |
void | ContinuousStorageMode () |
Module-> cont. store mode (0x0100). | |
void | TransferUntilDone () |
keep token (0x0300) | |
void | TransferOneAtATime () |
Give token after 1 word (0x0400). | |
void | LoadDefaultConfig () |
reset power up config (0x0500) | |
void | SaveUserConfig () |
Save config->NVRAM (0x0600). | |
void | LoadUserConfig () |
Load user NVRAM config (0x0700). | |
void | AutoLoadUserConfig () |
Load user NVRAM on power up (0x0800). | |
void | AutoLoadDefaultConfig () |
Load defaults on power up (0x0900). | |
void | SetWindowWidth (unsigned int nWidth) |
Set trigger matching window width (0x1000). | |
void | SetWindowOffset (int nOffset) |
Set trigger matching window offset (0x1100). | |
void | SetExtraSearchMargin (unsigned int nMargin) |
Set trigger matching extra margin (0x1200). | |
void | SetRejectMargin (unsigned int nMargin) |
Set trigger matching window reject margin (0x1300). | |
void | EnableTriggerTimeSubtraction () |
Subtract trigger time from hits (0x1400). | |
void | DisableTriggerTimeSubtraction () |
Subtract trigger time from hits (0x1500). | |
TriggerConfiguration | GetTriggerConfiguration () |
Return current trigger config (0x1800). | |
unsigned int | GetMatchWindow (TriggerConfiguration config) |
int | GetWindowOffset (TriggerConfiguration config) |
unsigned int | GetExtraSearchMargin (TriggerConfiguration config) |
unsigned int | GetRejectMargin (TriggerConfiguration config) |
bool | isTriggerTimeSubtracted (TriggerConfiguration config) |
void | SetEdgeDetectMode (EdgeMode nEdgeMode) |
Set edge detect config (0x2200). | |
EdgeMode | GetEdgeDetectMode () |
Read edge detect mode (0x2300). | |
void | SetIndividualLSB (Resolution nResolution) |
Set resolution of lsb. (0x2400). | |
void | SetPairResolutions (LEResolution nLeadingEdge, PWResolution nPulseWidth) |
Set pair resolution info (0x2500). | |
unsigned short | GetResolution () |
Read module resolution see below (0x2600). | |
Resolution | InterpretEdgeResolution (unsigned short nResolution) |
Interpret resolution as individual edge. | |
LEResolution | InterpretLEResolution (unsigned short nResolution) |
Interpret LE resolution in pair mode. | |
PWResolution | InterpretWidthResolution (unsigned short nResolution) |
Interpret Width resolution in pair mode. | |
void | SetDoubleHitResolution (DeadTime nDead) |
Set dead time between hits. (0x28)). | |
DeadTime | GetDoubleHitResolution () |
Read double hit dead time (0x2900). | |
void | EnableTDCEncapsulation () |
Encapsulate data from a tdc (0x3000). | |
void | DisableTDCEncapsulation () |
Don't encapsulate data from a tdc (0x3100). | |
bool | isTDCEncapsulationOn () |
true if EnableTDCEncapsulation (0x3200) | |
void | SetMaxHitsPerEvent (HitMax nHits) |
limit hits/event (0x3300) | |
HitMax | GetMaxHitsPerEvent () |
What's max hits/event (0x3400). | |
void | EnableErrorMark () |
turn on error mark words (0x3500) | |
void | DisableErrorMark () |
Turn off error mark words(0x3600). | |
void | EnableBypassOnError () |
Turn on TDC bypass on error (0x3700). | |
void | DisableBypassOnError () |
Turn off TDC Bypasson error (0x3800). | |
void | SetErrorEnables (unsigned short nErrors) |
selectively enable error types. | |
unsigned short | GetErrorEnables () |
Get error enables. | |
void | SetL1Size (L1Size nL1Size) |
Set level 1 fifo size. | |
L1Size | GetL1Size () |
Get the level 1 fifo size. | |
void | EnableChannel (unsigned short nChannel) |
Enbable 1 channel (0x40nn). | |
void | DisableChannel (unsigned short nChannel) |
Disable a channel (0x41nn). | |
void | EnableAllChannels () |
Enable all tdc channels (0x4200). | |
void | DisableAllChannels () |
Disable all tdc channels (0x4300). | |
void | SetChannelEnables (STD(vector)< unsigned short > masks) |
Set enables mask for all chans (0x4400). | |
void | GetChannelEnables (STD(vector)< unsigned short > &masks) |
read enables mask. (0x4500) | |
void | SetChipEnables (unsigned short nChip, unsigned int nMask) |
Set the enables for a single chip. (0x460n). | |
unsigned int | GetChipEnables (unsigned short nChip) |
read enables for a chip. (0x470n) | |
void | SetGlobalOffset (unsigned short nCoarse, unsigned short nVernier) |
Set global coarse/fine offsets (0x5000). | |
void | ReadGlobalOffset (unsigned short &nCoarse, unsigned short &nVernier) |
Fetch the global offsets (0x5100). | |
void | SetChannelOffset (unsigned short nChannel, unsigned short nOffset) |
Set a channel offset (0x52nn). | |
unsigned short | GetChannelOffset (unsigned int nChannel) |
Retrieve channel offset (0x53nn). | |
void | CalibrateDelayLine (unsigned short nChip, unsigned short Tap1Contact, unsigned short Tap2Contact, unsigned short Tap3Contact, unsigned short Tap4Contat) |
Set delayline tap config (0x450n). | |
void | GetDelayLineCalibration (unsigned short nChip, unsigned short &Tap1Contact, unsigned short &Tap2Contact, unsigned short &Tap3Contact, unsigned short &Tap4Contact) |
Get delay line tap config (0x460n). | |
void | SaveDelayLineCalibrations () |
Write calibrations -> eprom (0x5600). | |
unsigned int | GetChipId (unsigned short nChip) |
Get chip id (0x600n). | |
void | GetuCFirmwareInfo (unsigned short &nRevision, unsigned short &nDay, unsigned short &nMonth, unsigned short &nYear) |
Firmware rev/date (0x6100). | |
unsigned short | GetChipErrors (unsigned short nChip) |
Read errors from 1 chip (0x740n). | |
void | EnableTestMode (unsigned int nValue) |
Chip->Test mode. (0xc500). | |
void | DisableTestMode () |
Turn off chip test mode (0xc600). | |
unsigned int | ReadData (void *pBuffer, unsigned int nMaxLongs) |
Read up to nMaxLongs. | |
unsigned int | ReadPacket (void *pBuffer, unsigned int nMaxLongs) |
Read trigger matched event up to nMaxLongs. | |
unsigned int | ReadValid (void *pBuffer, unsigned int nMaxLongs) |
Read all valid words, up to nMaxLongs. | |
void | WaitMicroWrite () |
Wait for micro writable. | |
Static Public Attributes | |
static const unsigned short | ERR_VERNIER |
static const unsigned short | ERR_COARSE |
static const unsigned short | ERR_SELECT |
static const unsigned short | ERR_L1PARITY |
static const unsigned short | ERR_TFIFOPARITY |
static const unsigned short | ERR_MATCHERROR |
static const unsigned short | ERR_RFIFOPARITY |
static const unsigned short | ERR_RDOSTATE |
static const unsigned short | ERR_SUPPARITY |
static const unsigned short | ERR_CTLPARITY |
static const unsigned short | ERR_JTAGPARITY |
static const unsigned short | TAP_CONTACT1 |
static const unsigned short | TAP_CONTACT2 |
static const unsigned short | TAP_CONTACT3 |
Protected Member Functions | |
bool | ValidBoard (CVmeModule &pROM) |
Is this a 1x90? | |
void | BoardProperties (CVmeModule &pROM) |
void | WriteCR (unsigned short mask) |
Write mask to status register. | |
void | BitSetCR (unsigned short bit) |
set specified bit# in cr. | |
void | BitClearCR (unsigned short bit) |
clear specified bit# in cr. | |
void | WriteMicro (unsigned short nWord) |
Write word to the micro sequencer. | |
unsigned short | ReadMicro () |
read a word from the micro sequencer. | |
void | WriteMicroBlock (void *pWords, unsigned int nWords) |
Write words to the micro seqeuncer. | |
void | ReadMicroBlock (void *pWords, unsigned int nWords) |
Reads words from the micro sequencer. | |
void | MicroTransaction (unsigned short opcode, void *pWords, unsigned int nWords) |
Do an opcode and read a block. | |
unsigned long | ReadPromLong (CVmeModule &prombase, unsigned long ByteOffset) |
Private Member Functions | |
CCAENV1x90 (const CCAENV1x90 &rhs) | |
CCAENV1x90 & | operator= (const CCAENV1x90 &rhs) |
int | operator== (const CCAENV1x90 &rhs) const |
int | operator!= (const CCAENV1x90 &rhs) const |
Private Attributes | |
unsigned long | m_nBase |
VME base address of the module. | |
unsigned int | m_nCrate |
VME crate stuffed in. | |
unsigned int | m_nSlot |
Geo value. | |
CVmeModule | m_pRegisters |
Device register pseudo pointer. | |
unsigned int | m_nModel |
Model, e.g. 1190 or 1290. | |
unsigned char | m_cVersion |
Sub-model e.g. A,B or N. | |
unsigned int | m_nSerialNumber |
Module serial number. | |
unsigned int | m_nChipCount |
Number of chips in the board. | |
unsigned int | m_nChannels |
Number of channels on the board. | |
unsigned int | m_nBoardRevision |
Board hardware revision level. | |
bool | m_fCanHiRes |
True if high resolution capable. | |
bool | m_fIsHiResMode |
True if module is in hi res. | |
bool | m_fTriggerMatching |
Classes | |
struct | TriggerConfiguration |
This module is a very complex module. Be sure you understand it completely (read the hardware manual) before you attempt to make of it. Did we remember to advise you to read the hardware manual?
From the software point of view, there are two major modes of operation:
The 1290 module has an additional mode: High resolution mode. In that mode, sets of TDC channels are ganged together with phase shifted clocks and recombined to get a time resolution of 25ps. In this mode, the pair trigger mode is not allowed.
Wherever possible, we attempt to enforce all restrictions via software.
Definition at line 92 of file CCAENV1x90.h.
typedef enum CCAENV1x90::_ECLOutputSelect CCAENV1x90::ECLOutputSelect |
This enum defines the possible signals that the PROG_OUT ECL signal can represent.
typedef enum CCAENV1x90::_EdgeMode CCAENV1x90::EdgeMode |
typedef enum CCAENV1x90::_Resolution CCAENV1x90::Resolution |
typedef enum CCAENV1x90::_LEResolution CCAENV1x90::LEResolution |
typedef enum CCAENV1x90::_PWResolution CCAENV1x90::PWResolution |
typedef enum CCAENV1x90::_DeadTime CCAENV1x90::DeadTime |
typedef enum CCAENV1x90::_HitMax CCAENV1x90::HitMax |
typedef enum CCAENV1x90::_L1Size CCAENV1x90::L1Size |
This enum defines the possible signals that the PROG_OUT ECL signal can represent.
Definition at line 101 of file CCAENV1x90.h.
Definition at line 115 of file CCAENV1x90.h.
Definition at line 128 of file CCAENV1x90.h.
PW_100ps | |
PW_200ps | |
PW_400ps | |
PW_800ps | |
PW_1600ps | |
PW_3200ps | |
PW_6250ps | |
PW_12500ps | |
PW_25ns | |
PW_50ns | |
PW_100ns | |
PW_200ns | |
PW_400ns | |
PW_800ns |
Definition at line 138 of file CCAENV1x90.h.
enum CCAENV1x90::_HitMax |
Definition at line 162 of file CCAENV1x90.h.
enum CCAENV1x90::_L1Size |
Definition at line 174 of file CCAENV1x90.h.
CCAENV1x90::CCAENV1x90 | ( | unsigned int | nSlot, | |
unsigned int | nCrate, | |||
unsigned long | nBase | |||
) |
geo not supported for these.
Construct an object that represents a single CAEN V1190 or V1290. Access is gotten via VmePtr to the module's register and config rom address spaces. Once the address space is verified to have a supportable module, the member variables are initialized and the config rom address space de-accessed.
Configuration information about the module is set to the module's default power up configuration, and the module is reset.
nSlot | (unsigned int in) The slot number of the board. Used program the GEO register of the board as this code does not support GEO addressing. | |
nCrate | (unsigned int in) The number of the VME crate in which the module is inserted. | |
nBase | (unsigned long in) Base address of the module. The module base is assumed to be in the A32 address space. |
DesignByContract::Require | if the geographical address or crate are invalid. | |
CException | If the constructor is unable to access the VME crate the module is claimed to be in. | |
Ensure | If the constructor could access the module but it does not appear to be an 1190 or 1290. | |
string | - If the geo register of the module could not be set (module supports geographical addressing, and that's not supported in this release of the device support). |
nCrate is in the range [0,7].
m_cVersion is A, B, or N.
Definition at line 197 of file CCAENV1x90.cpp.
References CVmeModule::a32d32, BoardProperties(), CCAENV1x90Registers::ConfigRom(), CCAENV1x90Registers::ConfigRomSize(), m_cVersion, m_nBase, m_nCrate, m_nModel, Reset(), and ValidBoard().
CCAENV1x90::~CCAENV1x90 | ( | ) |
Destructor: Deaccess the address space of the card.
Our destruction will result in the destruction of the VMEptr. m_pRegisters which will free up all the resources we own.
Definition at line 255 of file CCAENV1x90.cpp.
CCAENV1x90::CCAENV1x90 | ( | const CCAENV1x90 & | rhs | ) | [private] |
CCAENV1x90& CCAENV1x90::operator= | ( | const CCAENV1x90 & | rhs | ) | [private] |
int CCAENV1x90::operator== | ( | const CCAENV1x90 & | rhs | ) | const [private] |
int CCAENV1x90::operator!= | ( | const CCAENV1x90 & | rhs | ) | const [private] |
unsigned int CCAENV1x90::getModel | ( | ) | const [inline] |
Definition at line 245 of file CCAENV1x90.h.
References m_nModel.
Referenced by ResEdgeTests::EdgeTest(), and ResEdgeTests::LSBTest().
unsigned char CCAENV1x90::getVersion | ( | ) | const [inline] |
unsigned int CCAENV1x90::getSerialNumber | ( | ) | const [inline] |
unsigned int CCAENV1x90::getChipCount | ( | ) | const [inline] |
Definition at line 254 of file CCAENV1x90.h.
References m_nChipCount.
Referenced by ReadoutModes::ChipEnableTest(), MiscTests::ChipIdTest(), AdjustTests::DelayLineTest(), MiscTests::ErrorsTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
unsigned int CCAENV1x90::getChannelCount | ( | ) | const [inline] |
Definition at line 257 of file CCAENV1x90.h.
References m_nChannels.
Referenced by AdjustTests::ChannelOffsetTest(), ReadoutModes::EnableAllTest(), ReadoutModes::IndividualEnableTest(), and ReadoutModes::MaskEnableTest().
unsigned short CCAENV1x90::SR | ( | ) |
Return the value of the board status register.
Definition at line 2931 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WStatusRegister().
Referenced by BoardProperties(), isSetSR(), and ReadResolution().
bool CCAENV1x90::isSetSR | ( | unsigned short | bitnum | ) |
true if sr has 1 << bitnum set.
Checks the state of a bit in the status register.
Bitnum | (unsigned short IN) Number of a bit to check numbered from 0. |
true | - if the specified bit is set in the module's status register. | |
false | - if the specified bit is not set in the module's status register. |
Definition at line 2955 of file CCAENV1x90.cpp.
References SR().
Referenced by AlmostFull(), DataReady(), HadError(), isFull(), isHeaderEnabled(), isPairMode(), isTerminated(), isTriggerMatching(), and WereTriggersLost().
unsigned short CCAENV1x90::ReadCR | ( | ) |
Return the value of the ctl reg.
Read the current value of the control register.
The | current contents of the control register. |
Definition at line 2985 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WControlRegister().
Referenced by BitClearCR(), BitSetCR(), TriggerTimeTagTests::Disable(), TriggerTimeTagTests::Enable(), isSetCR(), and TerminationTests::SwitchTerminate().
bool CCAENV1x90::isSetCR | ( | unsigned short | bit | ) |
true if sr has 1<< bitnum set.
Determine if a specific bit is set in the control register.
bit | (unsigned short in) number from of the bit to check |
-true | if 1 << bit is set in the control register. | |
-false | if 1 << bit is not set in the control register. |
Definition at line 271 of file CCAENV1x90.cpp.
References ReadCR().
void CCAENV1x90::Terminate | ( | ) |
Software terminate module.
Terminate Set the module's software termination. Enables the software to control module termination and turns on termination.
Definition at line 282 of file CCAENV1x90.cpp.
References BitSetCR(), CCAENV1x90Registers::ControlRegister::NTERM(), and CCAENV1x90Registers::ControlRegister::NTERM_SW().
Referenced by TerminationTests::Terminate().
void CCAENV1x90::Unterminate | ( | ) |
Software unterminate module.
Unterminate set the module to unterminated Enables the software to control module termination and turns off termination.
Definition at line 295 of file CCAENV1x90.cpp.
References BitClearCR(), BitSetCR(), CCAENV1x90Registers::ControlRegister::NTERM(), and CCAENV1x90Registers::ControlRegister::NTERM_SW().
Referenced by TerminationTests::Unterminate().
void CCAENV1x90::TerminateWithSwitch | ( | ) |
Set termination to be via hardware switch.
TerminateViaSwitches Allow module termination to be controlled via the termination switches mounted on the board. Turns off software control of the module termination. When this is done, the module termination is controlled by a switch on the module itself. Note that this module does not support 'partial' termination.
Definition at line 311 of file CCAENV1x90.cpp.
References BitClearCR(), and CCAENV1x90Registers::ControlRegister::NTERM_SW().
Referenced by TerminationTests::SwitchTerminate().
void CCAENV1x90::EnableTriggerTagTime | ( | ) |
Put time tag in event.
Enables the module to write extended trigger time tagging information into the event if the module is in trigger matching mode.
Definition at line 323 of file CCAENV1x90.cpp.
References BitSetCR(), and CCAENV1x90Registers::ControlRegister::NTRIGGER_TAG_ENABLE().
Referenced by TriggerTimeTagTests::Enable().
void CCAENV1x90::DisableTriggerTagTime | ( | ) |
don't put time tag in event.
Disables the module from writing extended trigger time tagging information into the event if the module is in trigger matching mode.
Definition at line 333 of file CCAENV1x90.cpp.
References BitClearCR(), and CCAENV1x90Registers::ControlRegister::NTRIGGER_TAG_ENABLE().
Referenced by TriggerTimeTagTests::Disable().
bool CCAENV1x90::DataReady | ( | ) |
True if there's data.
Returns true if the module's status register indicates that data is available in the module's fifo.
true | - the module has data. | |
false | - there is no data in the module's data buffer. |
Definition at line 348 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NDATA_READY().
Referenced by ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
bool CCAENV1x90::AlmostFull | ( | ) |
True if the buffer's almost full.
Returns true if the module's status register indicates that the mulitevent buffer is nearly full. The almost full buffer level is set using the AlmostFull member function.
true | - if the almost full bit is present in the status reg. | |
false- | if the almost ful bit is not set. |
Definition at line 365 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NALM_FULL().
bool CCAENV1x90::isFull | ( | ) |
True if the buffer is full.
Returns true if the module's status register indicates that the module's multievent buffer is full. The full condition is defined as fewer than 32 free words in the output buffer.
true | - If the module's full bit is set. | |
false- | If the module's full bit is not set. |
Definition at line 384 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NFULL().
bool CCAENV1x90::isTriggerMatching | ( | ) |
True if module says it's trigger matching.
returns true if the module is in trigger matching mode. In trigger matching mode, the module associates a set of input hits with an event that consists of a time window relative to the time of the trigger input.
Note that by setting this window appropriately, trigger matching mode can simulate both common start and common stop mode TDC's, as well as set the window to be a nearly arbitrary time interval about the trigger input time.
See the hardware manual for a description of the contraints on trigger windows.
true | - Module is in trigger match mode. | |
false | - module is in continuous storage mode. |
Definition at line 411 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NTRG_MATCH().
Referenced by AcqModeTests::AutoLoadTest(), Clear(), AcqModeTests::ContStoreTest(), EventReset(), ConstructTests::GoodConstruct(), AcqModeTests::LoadDefaults(), Reset(), AcqModeTests::SaveLoadUserConfig(), and AcqModeTests::TriggerMatchTest().
bool CCAENV1x90::isHeaderEnabled | ( | ) |
True if TDC Header enabled.
Returns true if the module has been enabled to produce TDC chip headers in trigger matching mode. See e.g. isTriggerMatching for a description of trigger matching mode.
- | true if TDC chip headers are enabled. | |
- | false if TDC chip headers are disasbled. |
Definition at line 428 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NHEADER_EN().
bool CCAENV1x90::isTerminated | ( | ) |
True if terminated regardless of how.
Returns true if the module's inputs are terminated regardless of how this is done. See Terminate Unterminate and TerminateViaSwitches for more information about the module termination modes.
true | - The module is terminated either via software or the manual switch. | |
false | - The module is not terminated either via software or the manual switch |
Definition at line 446 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NTERM_ON().
Referenced by TerminationTests::Terminate(), and TerminationTests::Unterminate().
bool CCAENV1x90::HadError | ( | unsigned int | nChip | ) |
True if the TDC had an error since last reset.
Did the TDC have an error since last reset. Returns true if the status register indicates the specified chip had an error. The status register has a bit for each of the 4 chips that may be present in a board. This function uses the m_nChipCount member data to ensure that the user is asking about a chip that actually exists on the board.
nChip | (unsigned int in) TDC Chip number (must be an allowed chip number numbered from zero for the actual board). |
true | - the chip has had an error. | |
false- | the chip has not had an error. |
Definition at line 472 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::StatusRegister::CHIP0_ERROR(), CCAENV1x90Registers::StatusRegister::CHIP1_ERROR(), CCAENV1x90Registers::StatusRegister::CHIP2_ERROR(), CCAENV1x90Registers::StatusRegister::CHIP3_ERROR(), isSetSR(), m_nChipCount, and CCAENV1x90Registers::StatusRegister::NCHIP0_ERROR().
int CCAENV1x90::ReadResolution | ( | ) |
Return resolution in ps/LSBit.
Reads the status register and decodes the resolution field. The resolution field is returned in ps
800 | - Resolution is 800ps. | |
200 | - Resolution is 200ps. | |
100 | - Resolution is 100ps. | |
25 | - Resolution is 25ps. |
Definition at line 511 of file CCAENV1x90.cpp.
References m_fIsHiResMode, CCAENV1x90Registers::StatusRegister::RES_100ps(), CCAENV1x90Registers::StatusRegister::RES_200ps(), CCAENV1x90Registers::StatusRegister::RES_25ps(), CCAENV1x90Registers::StatusRegister::RES_800ps(), CCAENV1x90Registers::StatusRegister::RESOLUTIONMASK(), and SR().
Referenced by isPairMode().
bool CCAENV1x90::isPairMode | ( | ) |
True if the module is in pair mode.
Reads the module status register and returns true if the module is in edge pair mode. Note that for the 1290, pair mode is only possible when the resolution is not 25ps/channel.
true | - module is in pair mode. | |
false | - module is not in pair mode. |
Definition at line 544 of file CCAENV1x90.cpp.
References isSetSR(), m_nModel, CCAENV1x90Registers::StatusRegister::NPAIR(), and ReadResolution().
bool CCAENV1x90::WereTriggersLost | ( | ) |
True if triggers were lost.
Returns true if the module claims it received triggers that it was not able to process either due to buffer full or pileup conditions.
true | - Triggers have been dropped by the module. | |
false | - Triggers have not been dropped by the module. |
Definition at line 566 of file CCAENV1x90.cpp.
References isSetSR(), and CCAENV1x90Registers::StatusRegister::NTRIGGERLOST().
void CCAENV1x90::SetGeographicalID | ( | unsigned short | nSlot | ) |
Set virtual slot number.
Attempts to set nId in the GEO register of the module. The id must be in the range 0-31. Since it is possible to have a module that understands geographical addressing accessed via base addressing, and since those modules won't allow you to program the GEO address (GEO will unconditionally reflect the slot number of the module), After writing the address, the GEO is read back. If the read back value does not match the written value a string exception will be thrown to indicate this.
nId | (unsigned int in) The Desired GEO id for the board. |
string | - in the event the GEO register cannot be programmed. This is the case if the module support geographical address recognition. |
nSlot < 256 Number of used bits in the register.
Definition at line 594 of file CCAENV1x90.cpp.
References GetGeographicalID(), m_pRegisters, MAXGEO(), OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WVirtualSlot().
Referenced by Reset(), and GeoTests::SlotSet().
unsigned short CCAENV1x90::GetGeographicalID | ( | ) |
Return the geographical id.
Get the current geo Id of the module. The GEO is a virtual slot number for the module when it does not support GEO addressing intrinsically.
The | current geo ID. |
Definition at line 623 of file CCAENV1x90.cpp.
References GEOMASK(), m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WVirtualSlot().
Referenced by SetGeographicalID(), GeoTests::SlotMatch(), and GeoTests::SlotSet().
void CCAENV1x90::Reset | ( | ) |
Software rest the module.
Peform a software reset on the module.
Definition at line 634 of file CCAENV1x90.cpp.
References BitSetCR(), isTriggerMatching(), m_fTriggerMatching, m_nSlot, m_pRegisters, CCAENV1x90Registers::ControlRegister::NEVENT_FIFO_ENABLE(), OffsetW(), CVmeModule::pokew(), SetGeographicalID(), WaitMicroWrite(), and CCAENV1x90Registers::WReset().
Referenced by AcqModeTests::AutoLoadTest(), CCAENV1x90(), ConstructTests::GoodConstruct(), AcqModeTests::SaveLoadUserConfig(), TriggerTimeTagTests::setUp(), TerminationTests::setUp(), ResEdgeTests::setUp(), Registertests::setUp(), ReadTests::setUp(), ReadoutModes::setUp(), MiscTests::setUp(), MatchTiming::setUp(), GeoTests::setUp(), AdjustTests::setUp(), and AcqModeTests::setUp().
void CCAENV1x90::Clear | ( | ) |
Software clear the module.
Performs a module clear:
Definition at line 658 of file CCAENV1x90.cpp.
References isTriggerMatching(), m_fTriggerMatching, m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WClear().
void CCAENV1x90::EventReset | ( | ) |
Resynchronize event counter.
Resynchronizes the TDC chip event counter with the on board event counter. Note that the manual says that this does not clear the onboard event counter.
Definition at line 670 of file CCAENV1x90.cpp.
References isTriggerMatching(), m_fTriggerMatching, m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WEventReset().
void CCAENV1x90::Trigger | ( | ) |
Create a software trigger.
Performs a software trigger of the module. Presumably if the module is in trigger matching mode, this will establish a matching window. I imagine this is mostly used to test the module.
Definition at line 683 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WSWTrigger().
Referenced by ReadTests::FIFOTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
unsigned long CCAENV1x90::TriggerCount | ( | ) |
# Triggers since last clear.
Returns the number of triggers the module has received since the last Clear or Reset function. I think this is meaningless unless the module is in trigger matching mode.
The | number of triggers received since last reset/clr. |
Definition at line 698 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::LEventCounter(), m_pRegisters, OffsetL(), and CVmeModule::peekl().
unsigned short CCAENV1x90::EventCount | ( | ) |
# events in output buffer.
Returns the number of events in the output buffer (only meaningful in trigger matching mode).
number | of complete events in the output buffer. |
Definition at line 711 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WEventStored().
void CCAENV1x90::SetAlmostFullLevel | ( | unsigned int | nWords | ) |
Set the almost full level.
Sets a new almost full threshold value. When more than nWords longs are stored (backed up in) in the event buffer, the board will indicate an almost full condition. This condition can be detected via the AlmostFull function.
nWords | (unsigned int in) New threshold value [1-32767] |
nWords <= 32735 (Magic number from the hardware manual.
Definition at line 731 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WAlmostFullLevel().
Referenced by Registertests::AlmostFullLevel().
unsigned short CCAENV1x90::GetAlmostFullLevel | ( | ) |
Where is the almost full threshold.
Returns the current value of the almost full threshold. This is the alst value set by a call to SetAlmostFullLevel. Note that the power up value of this is 64 longs which is quite small.
the | threshold above which the module declares itself almost full. |
Definition at line 756 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WAlmostFullLevel().
Referenced by Registertests::AlmostFullLevel().
void CCAENV1x90::DefineECLOutput | ( | CCAENV1x90::ECLOutputSelect | Signal | ) |
Define the ECL PROG_OUT.
Selects which of the four possible meanings the OUT_PROG signal on the ECL output will have. Legal values for Signal are:
Signal | (ECLOutputSelect in) Selects the desired signal value. |
Definition at line 784 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::OutputControl::ALM_FULL(), ALMOST_FULL, CCAENV1x90Registers::OutputControl::DATA_READY(), DATA_READY, CCAENV1x90Registers::OutputControl::ERROR(), ERROR, CCAENV1x90Registers::OutputControl::FULL(), FULL, m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WOutputControl().
Referenced by Registertests::ECLOutputSelect().
CCAENV1x90::ECLOutputSelect CCAENV1x90::GetECLOutputDefinition | ( | ) |
What is the ECL PROG_OUT.
Reads the OUT_PROG control register and returns a value indicating how it has been programmed.
DATA_READY | - Asserted when the module has data in its output buffer | |
FULL | - Asserted when the module output buffer is full. | |
ALMOST_FULL- | Asserted when the module is in the almost full condition | |
ERROR | - Asserted when there's an un-reset TDC error condition. Note that these conditions correspond to the state of bits in the module status register. |
Definition at line 838 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::OutputControl::ALM_FULL(), ALMOST_FULL, DATA_READY, CCAENV1x90Registers::OutputControl::DATA_READY(), ERROR, CCAENV1x90Registers::OutputControl::ERROR(), FULL, CCAENV1x90Registers::OutputControl::FULL(), m_pRegisters, CCAENV1x90Registers::OutputControl::MASK(), OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WOutputControl().
Referenced by Registertests::ECLOutputSelect().
unsigned short CCAENV1x90::EventFIFOCount | ( | ) |
Return the # events in the fifo.
Returns the number of events in the output buffer. This software support module turns on the event FIFO. The event FIFO is a handy little register that contains the number of words for each event. It can be used by the caller when the module is in Trigger match mode to know how big a read to issue for an event.
The | number of fifo entries in the FIFO. |
Definition at line 876 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::EventFIFO::FIFOCOUNT_MASK(), m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WEventFIFOStored().
Referenced by ReadTests::FIFOTest().
unsigned long CCAENV1x90::ReadEventFIFO | ( | ) |
Return the next event description.
Read the top word of the event fifo. Note that this is a destructive read. Once read the event FIFO for an event can never be re-read. When the module is running in trigger match mode, and data is ready, read the event fifo, and use the result as the word count for the ReadEvent member function call.
Definition at line 943 of file CCAENV1x90.cpp.
References isEventFIFOReady(), CCAENV1x90Registers::LEventFIFO(), m_pRegisters, OffsetL(), and CVmeModule::peekl().
Referenced by ReadTests::FIFOTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
bool CCAENV1x90::isEventFIFOReady | ( | ) |
Events in the fifo?
Returns true if the event fifo has any event descriptions in it.
true | - There's at least one entry in the event fifo., | |
false | - There are no entries in the event fifo. |
Definition at line 961 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::FIFOStatus::EVFIFODATA_READY(), m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WEventFIFOStatus().
Referenced by ReadTests::FIFOTest(), ReadEventFIFO(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
bool CCAENV1x90::isEventFIFOFull | ( | ) |
Event fifo full?
The event FIFO is 1024 events deep. This function returns true if all of the slots in the event fifo are filled with event descriptions.
true | - True if the event fifo is completely full. | |
false | - False if the event fifo isn't completely full. |
Definition at line 978 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::FIFOStatus::EVFIFO_FULL(), m_pRegisters, OffsetW(), CVmeModule::peekw(), and CCAENV1x90Registers::WEventFIFOStatus().
Referenced by ReadTests::FIFOTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
unsigned short CCAENV1x90::FIFOEventNumber | ( | unsigned long | fifoentry | ) |
Decode event # from Fifo.
Assumes the fifoentry parameter is a longword read from the event fifo and returns the sequence number of the event that corresponds to it.
fifoentry | (unsigned long IN) A longword read from the FIFO via ReadEventFIFO |
Event | number corresponding to the fifo entry. |
Definition at line 895 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::EventFIFO::EVENTCOUNT_MASK(), and CCAENV1x90Registers::EventFIFO::EVENTCOUNT_RSHIFT().
Referenced by ReadTests::FIFOTest().
unsigned short CCAENV1x90::FIFOWordCount | ( | unsigned long | fifoentry | ) |
Decode event size from FIFO.
Given a longword read from the event FIFO via ReadEventFIFO, this function will return the number of words in the corresponding event (note that in this case words are really 32 bit longwords).
fifoentry | (unsigned long IN) A longword read from the event FIFO via ReadEventFIFO |
Size | of event corresponding to the event fifo entry (in longs). |
Definition at line 916 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::EventFIFO::WORDCOUNT_MASK(), and CCAENV1x90Registers::EventFIFO::WORDCOUNT_RSHIFT().
Referenced by ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
void CCAENV1x90::TriggerMatchMode | ( | ) |
Module-> trigger match mode (0x0000).
Enables the module to run in trigger matching mode. In trigger matching mode, the TDC chips will group hits that occur within a programmable matching window of the trigger (software or hardware input) into an event.
Definition at line 994 of file CCAENV1x90.cpp.
References m_fTriggerMatching, CCAENV1x90Opcodes::TRG_MATCH(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::AutoLoadTest(), AcqModeTests::ContStoreTest(), ReadTests::FIFOTest(), AcqModeTests::LoadDefaults(), AcqModeTests::SaveLoadUserConfig(), ReadTests::TestReadHeaders(), ReadTests::TestReadNoHeaders(), and AcqModeTests::TriggerMatchTest().
void CCAENV1x90::ContinuousStorageMode | ( | ) |
Module-> cont. store mode (0x0100).
Enables the module to run in continuous storage mode. In continous storage mode, the TDC chips emit hits continuously regardless of the trigger signal. The timing of hits in this mode is relative to the last module reset. Since the TDC values are only 20 bits (roughly 1E06), in order to time over long periods it will be necessary to arrange to have either some other fiducial against which these are compared or alternatively some periodic source of resets (note however that resets will also reset the TDC programming).
Definition at line 1005 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::CONT_STOR(), m_fTriggerMatching, WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::ContStoreTest().
void CCAENV1x90::TransferUntilDone | ( | ) |
keep token (0x0300)
The TDC chips on the board are read by passing a readout token to the first TDC chip. When that chip has finished transferring data it passes the token on to the next, until the token is passed from the last TDC chip back to the board logic indicating all chips have been read. TDC chips can operate in two modes:
Definition at line 1029 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::SET_KEEP_TOKEN(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::TransferOneAtATime | ( | ) |
Give token after 1 word (0x0400).
See TransferUntilDone for details about the chip readout scheme. This function tells the TDC chips to release the readout token after each word has been transferred.
Definition at line 1041 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::CLEAR_KEEP_TOKEN(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::LoadDefaultConfig | ( | ) |
reset power up config (0x0500)
Loads the default TDC chip configuration.
Definition at line 1052 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::LOAD_DEF_CONFIG(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::LoadDefaults().
void CCAENV1x90::SaveUserConfig | ( | ) |
Save config->NVRAM (0x0600).
Saves the current TDC chip programming to on board Non-volatile ram. Once saved, the configuration can be bulk loaded via LoadUserConfig or even enabled to load on power up via AutoLoadUserConfig. Use the latter with care on pool modules as the person using the module after you will very likely make assumptions about the power up state of the board which are not correct otherwise. Conversely, with pool modules you may want to call AutoLoadDefaultConfig and LoadDefaultConfig early in your initialization to remove the effect of any prior AutoLoadUserConfig
The items saved are:
Definition at line 1079 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::SAVE_USER_CONFIG(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::AutoLoadTest(), and AcqModeTests::SaveLoadUserConfig().
void CCAENV1x90::LoadUserConfig | ( | ) |
Load user NVRAM config (0x0700).
Reloads the last saved user configuration into the TDC. This can save a bit of time if you have initially set up the TDC and have saved the settings, and wish to re-establish them. See SaveUserConfig for more information about what is restored.
Definition at line 1092 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::LOAD_USER_CONFIG(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::SaveLoadUserConfig().
void CCAENV1x90::AutoLoadUserConfig | ( | ) |
Load user NVRAM on power up (0x0800).
Enables the module to load the last saved user settings on power up or global reset. Refer to SaveUserConfig for information about what is actually loaded. Use this with caution on pool electronics as this will cause the module to power up in an unexpected mode for later users.
Definition at line 1105 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::AUTOLOAD_USER_CONFIG(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::AutoLoadTest().
void CCAENV1x90::AutoLoadDefaultConfig | ( | ) |
Load defaults on power up (0x0900).
Enables the module to load the default settings on power up. If you are not sure of the last user's intent, you will probably want to execute this followed by a global reset rather than assuming the module will power up in the default state (See AutoLoadUserConfig). See SaveUserConfig for information about exactly what gets saved.
Definition at line 1123 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::AUTOLOAD_DEF_CONFIG(), WaitMicroWrite(), and WriteMicro().
Referenced by AcqModeTests::AutoLoadTest().
void CCAENV1x90::SetWindowWidth | ( | unsigned int | nWidth | ) |
Set trigger matching window width (0x1000).
Sets the trigger matching mode window width. The trigger matching window width effectively determines the full scale range of the TDC in trigger matching mode. There are relationships (constraints) that must be maintained between the width and the offset. See the hardware manual 2.4.1 for information about this.
Definition at line 1142 of file CCAENV1x90.cpp.
References FormatValue(), MAXMATCHWIDTH(), MINMATCHWIDTH(), CCAENV1x90Opcodes::SET_WIN_WIDTH(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::MatchWindowTest().
void CCAENV1x90::SetWindowOffset | ( | int | nOffset | ) |
Set trigger matching window offset (0x1100).
In trigger matching mode, sets the time offset from the trigger to start of the matching window. The window can start anywhere from -2048*25n relative to the trigger to 40*25ns.
nOffset | (int in) New offset in 25 ns units. |
Definition at line 1168 of file CCAENV1x90.cpp.
References FormatValue(), MAXWINDOWOFFSET(), MINWINDOWOFFSET(), CCAENV1x90Opcodes::SET_WIN_OFFS(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::WindowOffsetTest().
void CCAENV1x90::SetExtraSearchMargin | ( | unsigned int | nMargin | ) |
Set trigger matching extra margin (0x1200).
Since trigger matching is done on digitized hits stored in the Chip level 1 buffer, it is possible that when the search window is complete, there will be hits that are detected but not yet transferred to the buffer. The extra search margin allows the user to specify a 'slop' on the end of the matching window to allow these his to be detected as well. This member allows you to adjust the width of this margin.
nMargin | (unsigned int in) New margin in 25ns units. |
Definition at line 1199 of file CCAENV1x90.cpp.
References FormatValue(), MAXEXTRAMARGIN(), MINEXTRAMARGIN(), CCAENV1x90Opcodes::SET_SW_MARGIN(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::ExtraSearchTest().
void CCAENV1x90::SetRejectMargin | ( | unsigned int | nMargin | ) |
Set trigger matching window reject margin (0x1300).
The reject margin indicates a time period in which hits in the module L1 buffer at the start of the match window are assumed to be associated with times prior to the match window, and can be purged from the L1 buffer. This function allows the user to select the reject margin.
nMargin | (unsigned int IN) reject margin in 25ns units. |
Definition at line 1229 of file CCAENV1x90.cpp.
References FormatValue(), MAXREJECTMARGIN(), MINREJECTMARGIN(), CCAENV1x90Opcodes::SET_REJ_MARGIN(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::RejectMarginTest().
void CCAENV1x90::EnableTriggerTimeSubtraction | ( | ) |
Subtract trigger time from hits (0x1400).
When enable trigger time subtraction is turned on, all of the times are expressed in terms of offsets from the beginning of the match window (note that this is not the same as relative to the trigger!!!). This is only effective in trigger matching mode.
Definition at line 1250 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_SUB_TRG(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::TriggerSubtractTest().
void CCAENV1x90::DisableTriggerTimeSubtraction | ( | ) |
Subtract trigger time from hits (0x1500).
When enable trigger time subtraction is turned off, all of the times are expressed as offsets from the last bunch reset (CRST input I believe).
Definition at line 1261 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_SUB_TRG(), WaitMicroWrite(), and WriteMicro().
Referenced by MatchTiming::TriggerSubtractTest().
CCAENV1x90::TriggerConfiguration CCAENV1x90::GetTriggerConfiguration | ( | ) |
Return current trigger config (0x1800).
Retrieves the current trigger configuration and returns it the function return value. The Trigger configuration is a block of data that can be queried to return information about the trigger setup.
See:
a | block that can be passed to the get functions that decode the trigger configuration. |
Definition at line 1292 of file CCAENV1x90.cpp.
References MicroTransaction(), and CCAENV1x90Opcodes::READ_TRG_CONF().
Referenced by MatchTiming::ExtraSearchTest(), MatchTiming::MatchWindowTest(), MatchTiming::RejectMarginTest(), MatchTiming::TriggerSubtractTest(), and MatchTiming::WindowOffsetTest().
unsigned int CCAENV1x90::GetMatchWindow | ( | TriggerConfiguration | Config | ) |
This utility function allows you to decode the match window from a trigger configuration block that was returned from the GetTriggerConfiguration function.
Config | (const TriggerConfiguration IN) Trigger configuration returned from GetTriggerConfiguration |
the | trigger match window widthin 25ns units. |
Definition at line 1314 of file CCAENV1x90.cpp.
References MATCHMASK(), and CCAENV1x90::TriggerConfiguration::s_MatchWidth.
Referenced by MatchTiming::MatchWindowTest().
int CCAENV1x90::GetWindowOffset | ( | TriggerConfiguration | Config | ) |
Utility function to decode the trigger window offset from a trigger configuration block returned from GetTriggerConfiguration.
Config | (TriggerConfiguration IN) Trigger configuration returned from GetTriggerConfiguration |
the | trigger offset, a value in the range [-2048 - 40]*25ns |
Definition at line 1331 of file CCAENV1x90.cpp.
References CCAENV1x90::TriggerConfiguration::s_MatchOffset, and WINDOWOFFSETMASK().
Referenced by MatchTiming::WindowOffsetTest().
unsigned int CCAENV1x90::GetExtraSearchMargin | ( | TriggerConfiguration | Config | ) |
Utility function that decodes the Extra search margin from a trigger configuration block returned by a call to GetTriggerInformation.
Config | (TriggerConfiguration IN) Trigger configuration returned from GetTriggerConfiguration |
the | Extra search margin in theragne [0,2047]*25ns. |
Definition at line 1359 of file CCAENV1x90.cpp.
References EXTRAMARGINMASK(), and CCAENV1x90::TriggerConfiguration::s_MatchExtra.
Referenced by MatchTiming::ExtraSearchTest().
unsigned int CCAENV1x90::GetRejectMargin | ( | TriggerConfiguration | Config | ) |
Get extra rejection time margin froma trigger configuration block returned by a call to GetTriggerInformation.
Config | (TriggerConfiguration IN) Trigger configuration returned from GetTriggerConfiguration |
the | Extra rejection time margin. |
Definition at line 1376 of file CCAENV1x90.cpp.
References REJECTMARGINMASK(), and CCAENV1x90::TriggerConfiguration::s_RejectMargin.
Referenced by MatchTiming::RejectMarginTest().
bool CCAENV1x90::isTriggerTimeSubtracted | ( | TriggerConfiguration | Config | ) |
Determine if the trigger time subtraction is turned on in a Trigger configuration read from the device via GetTriggerConfiguration
Config | (TriggerConfiguration IN) Trigger configuration returned by a call to GetTriggerConfiguration. |
true | - trigger time subtraction is enabled. | |
false- | trigger time subtraction is disabled. |
Definition at line 1396 of file CCAENV1x90.cpp.
References CCAENV1x90::TriggerConfiguration::s_Subtracting, and TRUEBIT().
Referenced by MatchTiming::TriggerSubtractTest().
void CCAENV1x90::SetEdgeDetectMode | ( | EdgeMode | nEdgeMode | ) |
Set edge detect config (0x2200).
Sets the module edge detection mode. Note that a 1290 in high resolution (25ps) mode cannot do EdgeMode_Pair and an exception is thrown if you attempt to turn on edge detection on a module that is in that mode.
nEdgeMode | (EdgeMode in) The edge detection mode. This can be one of:
|
If the nEdgeMode parameter is EdgeMode_Pair, the module is not in hires mode.
Definition at line 1474 of file CCAENV1x90.cpp.
References EdgeMode_Both, EdgeMode_Leading, EdgeMode_Pair, EdgeMode_Trailing, m_fCanHiRes, m_fIsHiResMode, CCAENV1x90Opcodes::SET_DETECTION(), WaitMicroWrite(), and WriteMicro().
Referenced by ResEdgeTests::CheckEdge(), ResEdgeTests::EdgeTest(), and ResEdgeTests::PairTest().
CCAENV1x90::EdgeMode CCAENV1x90::GetEdgeDetectMode | ( | ) |
Read edge detect mode (0x2300).
Returns the current edge detect trigger mode.
CCAENV1x90::EdgeMode_Pair | - Time between lead/trail edge digitized. | |
CCAENV1x90::EdgeMode_Leading | - Leading edge is detected/timed. | |
CCAENV1x90::EdgeMode_Trailing | - Trailing edge is detected/timed. | |
CCAENV1x90::EdgeMode_Both | - Both leading and trailing edge detected and timed. |
Definition at line 1507 of file CCAENV1x90.cpp.
References EDGEDETECTIONMASK(), CCAENV1x90Opcodes::READ_DETECTION(), ReadMicro(), and WriteMicro().
Referenced by ResEdgeTests::CheckEdge(), InterpretEdgeResolution(), InterpretLEResolution(), InterpretWidthResolution(), and SetPairResolutions().
void CCAENV1x90::SetIndividualLSB | ( | Resolution | nResolution | ) |
Set resolution of lsb. (0x2400).
Sets the TDC resolution. Note that only the 1290 is capable of 25ps resolution and that this resolution is gained at the cost of not being able to run in edge pair detetion mode. The m_fIsHiResMode member data is updated accordingly.
nResolution | (Resolution In) The new resolution. This can be one of:
|
If the resolution is Res_25ps, the module is Hires capable (m_fCanHiRes is true).
Definition at line 1420 of file CCAENV1x90.cpp.
References m_fCanHiRes, m_fIsHiResMode, Res_100ps, Res_200ps, Res_25ps, Res_800ps, CCAENV1x90Opcodes::SET_TR_LEAD_LSB(), WaitMicroWrite(), and WriteMicro().
Referenced by ResEdgeTests::CheckResolution(), ReadoutModes::ChipEnableTest(), ResEdgeTests::EdgeTest(), ResEdgeTests::LSBTest(), and ResEdgeTests::PairTest().
void CCAENV1x90::SetPairResolutions | ( | LEResolution | nLEResolution, | |
PWResolution | nPWResolution | |||
) |
Set pair resolution info (0x2500).
This function sets the pair mode resoulution of the device. Pair mode resolution consists of two values, the leading edge arrival time resolution and the pulse width resolution. It is not possible to set one without setting the other.
nLEResolution | (LEResolution IN) The desired leading edge resolution, one of :
| |
nPWResolution | (PWResolution IN) The desired pulse width resolution. One of:
|
- nLEResolution is a valid member of the LEResolution enum.
- nPWResolution is a valid member of the PWResolution enum.
Definition at line 1558 of file CCAENV1x90.cpp.
References EdgeMode_Pair, GetEdgeDetectMode(), LE_100ps, LE_12500ps, LE_1600ps, LE_200ps, LE_3120ps, LE_400ps, LE_6250ps, LE_800ps, PW_100ns, PW_100ps, PW_12500ps, PW_1600ps, PW_200ns, PW_200ps, PW_25ns, PW_3200ps, PW_400ns, PW_400ps, PW_50ns, PW_6250ps, PW_800ns, PW_800ps, PWRESOLUTIONRSHIFT(), CCAENV1x90Opcodes::SET_PAIR_RES(), WaitMicroWrite(), and WriteMicro().
Referenced by ResEdgeTests::CheckPair().
unsigned short CCAENV1x90::GetResolution | ( | ) |
Read module resolution see below (0x2600).
Returns a word that describes the resolution of the device. This word can only be correctly interpreted knowing the trigger mode. The resolution word can be interpreted via:
the | resolution information that can be passed to interpretation functions. |
Definition at line 1621 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_RES(), ReadMicro(), and WriteMicro().
Referenced by ResEdgeTests::CheckPair(), and ResEdgeTests::CheckResolution().
CCAENV1x90::Resolution CCAENV1x90::InterpretEdgeResolution | ( | unsigned short | nResolution | ) |
Interpret resolution as individual edge.
Returns an encoded resolution. The module must be in one of the edge triggering modes to call this function.
nResolution | (unsigned short IN) The resolution word returned from GetResolution |
CCAENV1x90::Res_25ps | - Module is in 25ps resolution (1290 only). | |
CCAENV1x90::Res_100ps | - Module is at 100ps resolution. | |
CCAENV1x90::Res_200ps | - Module is at 200ps resolution. | |
CCAENV1x90::Res_800ps | - Module is at 800ps resolution. |
Definition at line 1645 of file CCAENV1x90.cpp.
References EdgeMode_Pair, EDGERESOLUTIONMASK(), and GetEdgeDetectMode().
Referenced by ResEdgeTests::CheckResolution().
CCAENV1x90::LEResolution CCAENV1x90::InterpretLEResolution | ( | unsigned short | nResolution | ) |
Interpret LE resolution in pair mode.
Returns the encoded representation of the leading edge resolution decoded when the module is in pair mode. The module must still be in pair mode to call this function.
nResolution | (unsigned short IN) The resolution word returned from GetResolution |
CCAENV1x90::LE_100ps | Leading edge resolution is 100ps | |
CCAENV1x90::LE_200ps | Leading edge resolution is 200ps | |
CCAENV1x90::LE_400ps | Leading edge resolution is 400ps | |
CCAENV1x90::LE_800ps | Leading edge resolution is 800ps | |
CCAENV1x90::LE_1600ps | Leading edge resolution is 1600ps | |
CCAENV1x90::LE_3120ps | Leading edge resolution is 3120ps | |
CCAENV1x90::LE_6250ps | Leading edge resolution is 6250ps | |
CCAENV1x90::LE_12500ps | Leading edge resolution is 12500ps |
Definition at line 1680 of file CCAENV1x90.cpp.
References EdgeMode_Pair, GetEdgeDetectMode(), and LERESOLUTIONMASK().
Referenced by ResEdgeTests::CheckPair().
CCAENV1x90::PWResolution CCAENV1x90::InterpretWidthResolution | ( | unsigned short | nResolution | ) |
Interpret Width resolution in pair mode.
When the module is in pair mode, this function can be called to return the pulse width resolution encoded as a PWResolution value. If the module is not in pair mode, the function throws an exception.
nResolution | (unsigned short IN) The resolution word returned from GetResolution |
CCAENV1x90::PW_100ps | - 100ps pulse width resolution. | |
CCAENV1x90::PW_200ps | - 200ps pulse width resolution. | |
CCAENV1x90::PW_400ps | - 400ps pulse width resolution. | |
CCAENV1x90::PW_800ps | - 800ps pulse width resolution. | |
CCAENV1x90::PW_1600ps | - 1600ps pulse width resolution. | |
CCAENV1x90::PW_3200ps | - 3200ps pulse width resolution. | |
CCAENV1x90::PW_6250ps | - 6250ps pulse width resolution. | |
CCAENV1x90::PW_12500ps | - 12500ps pulse width resolution. | |
CCAENV1x90::PW_25ns | - 25ns pulse width resolution. | |
CCAENV1x90::PW_50ns | - 50ns pulse width resolution. | |
CCAENV1x90::PW_100ns | - 100ns pulse width resolution. | |
CCAENV1x90::PW_200ns | - 200ns pulse width resolution. | |
CCAENV1x90::PW_400ns | - 400ns pulse width resolution. | |
CCAENV1x90::PW_800ns | - 800ns pulse width resolution. |
Definition at line 1722 of file CCAENV1x90.cpp.
References EdgeMode_Pair, GetEdgeDetectMode(), PWRESOLUTIONMASK(), and PWRESOLUTIONRSHIFT().
Referenced by ResEdgeTests::CheckPair().
void CCAENV1x90::SetDoubleHitResolution | ( | DeadTime | nDeadTime | ) |
Set dead time between hits. (0x28)).
Sets the dead time between hits. This is the effective hit-to-hit resolution of the device.
nDeadTime | (DeadTime IN) Dead time between hits. This can be one of:
|
Definition at line 1750 of file CCAENV1x90.cpp.
References DT_100ns, DT_10ns, DT_30ns, DT_5ns, CCAENV1x90Opcodes::SET_DEAD_TIME(), WaitMicroWrite(), and WriteMicro().
Referenced by ResEdgeTests::CheckDead().
CCAENV1x90::DeadTime CCAENV1x90::GetDoubleHitResolution | ( | ) |
Read double hit dead time (0x2900).
Returns the hit-to-hit dead time for the module.
CCAENV1x90::DT_5ns | - 5ns hit-to-hit resolution. | |
CCAENV1x90::DT_10ns | - 10ns hit-to-hit resolution. | |
CCAENV1x90::DT_30ns | - 30ns hit-to-hit resolution. | |
CCAENV1x90::DT_100ns | - 100ns hit-to-hit resolution. |
Definition at line 1777 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_DEAD_TIME(), ReadMicro(), and WriteMicro().
Referenced by ResEdgeTests::CheckDead().
void CCAENV1x90::EnableTDCEncapsulation | ( | ) |
Encapsulate data from a tdc (0x3000).
Enables the module to encapsulate the data from a single tdc between a header and trailer word produced by the TDC chip.
Definition at line 1790 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_HEADER_TRAILER(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::ChipEncapsulateTest(), and ReadTests::TestReadHeaders().
void CCAENV1x90::DisableTDCEncapsulation | ( | ) |
Don't encapsulate data from a tdc (0x3100).
Disables the encapsulation of data from a single TDC chip within headers and trailers.
Definition at line 1801 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_HEADER_TRAILER(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::ChipEncapsulateTest(), and ReadTests::TestReadNoHeaders().
bool CCAENV1x90::isTDCEncapsulationOn | ( | ) |
true if EnableTDCEncapsulation (0x3200)
Determines if the device has TDC data encapsulation enabled.
If | the device is encapsulating the data from a single TDC in chip header/trailer pairs, returns true. | |
Otherwise,returns | false. |
Definition at line 1815 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_HEADER_TRAILER(), ReadMicro(), TRUEBIT(), and WriteMicro().
Referenced by ReadoutModes::ChipEncapsulateTest().
void CCAENV1x90::SetMaxHitsPerEvent | ( | HitMax | nHits | ) |
limit hits/event (0x3300)
Sets the maximum number of hits a tdc chip will contribute to an event (Trigger match mode?). If the number of hits is exceeded, the TDC will assert a size limit exceeded condition which, if error flags are enabled, will result in an error flag word being placed in the output event.
nHits | (HitMax IN) This can be one of:
|
Definition at line 1844 of file CCAENV1x90.cpp.
References HITS_0, HITS_1, HITS_128, HITS_16, HITS_2, HITS_32, HITS_4, HITS_64, HITS_8, HITS_UNLIMITED, CCAENV1x90Opcodes::SET_EVENT_SIZE(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadTests::FIFOTest(), ReadoutModes::MaxHitTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
CCAENV1x90::HitMax CCAENV1x90::GetMaxHitsPerEvent | ( | ) |
What's max hits/event (0x3400).
Return the maximum hit count set via SetMaxHitsPerEvent.
CCAENV1x90::HITS_0 | - no hits. | |
CCAENV1x90::HITS_1 | - 1 hit. | |
CCAENV1x90::HITS_2 | - 2 hits | |
CCAENV1x90::HITS_4 | - 4 hits | |
CCAENV1x90::HITS_8 | - 8 hits | |
CCAENV1x90::HITS_16 | - 16 hits | |
CCAENV1x90::HITS_32 | - 32 hits | |
CCAENV1x90::HITS_64 | - 64 hits | |
CCAENV1x90::HITS_128 | - 128 hits | |
CCAENV1x90::HITS_UNLIMITED | - no limit |
Definition at line 1883 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_EVENT_SIZE(), ReadMicro(), and WriteMicro().
Referenced by ReadoutModes::MaxHitTest().
void CCAENV1x90::EnableErrorMark | ( | ) |
turn on error mark words (0x3500)
Enables the production of error mark words in the event whenever a global error occurs on an event.
Definition at line 1896 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_ERROR_MARK(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::DisableErrorMark | ( | ) |
Turn off error mark words(0x3600).
Disables the production of error mark words in the event when a global error occurs.
Definition at line 1906 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_ERROR_MARK(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::EnableBypassOnError | ( | ) |
Turn on TDC bypass on error (0x3700).
Allows the TDC to disable its readout on the existence of a global error condition.
Definition at line 1916 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_ERROR_BYPASS(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::DisableBypassOnError | ( | ) |
Turn off TDC Bypasson error (0x3800).
Allows the TDC to be readout in the presence of a global error condition.
Definition at line 1926 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_ERROR_BYPASS(), WaitMicroWrite(), and WriteMicro().
void CCAENV1x90::SetErrorEnables | ( | unsigned short | nErrors | ) |
selectively enable error types.
Determines the set of conditions detected in side the TDC that result in a global error. The parameter is a bitwise or of the legal values. Note that in addition to the errors that can be controlled, there's also the size error bit which cannot be controlled, and indicates the TDC has more hits than allowed.
nErrors | (unsigned short IN) A bitwise or of the conditions that you want to produce a global error condition. The legal bits are:
|
Definition at line 1958 of file CCAENV1x90.cpp.
References ERR_CTLPARITY, ERR_JTAGPARITY, ERR_L1PARITY, ERR_MATCHERROR, ERR_RDOSTATE, ERR_RFIFOPARITY, ERR_SELECT, ERR_SUPPARITY, ERR_TFIFOPARITY, ERR_VERNIER, CCAENV1x90Opcodes::SET_ERROR_TYPES(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::ErrorEnableTest().
unsigned short CCAENV1x90::GetErrorEnables | ( | ) |
Get error enables.
Returns the mask of TDC error bits that are enabled..
See CCAENV1x90::SetErrorEnables for more information about the valid bits that may be set in the mask.
Definition at line 1988 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_ERROR_TYPES(), ReadMicro(), and WriteMicro().
Referenced by ReadoutModes::ErrorEnableTest().
void CCAENV1x90::SetL1Size | ( | L1Size | nL1Size | ) |
Set level 1 fifo size.
Sets the level 1 buffer fifo size. in words.
nL1Size | (L1Size IN) the level 1 buffer size. This can be one of:
|
Definition at line 2014 of file CCAENV1x90.cpp.
References L1_128wds, L1_16wds, L1_256wds, L1_2wds, L1_32wds, L1_4wds, L1_64wds, L1_8wds, CCAENV1x90Opcodes::SET_FIFO_SIZE(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::L1CacheTest().
CCAENV1x90::L1Size CCAENV1x90::GetL1Size | ( | ) |
Get the level 1 fifo size.
Returns the size of the L1 buffer fifo. See CCAENV1x90::SetL1size for more information about the L1Size enumerator and its legal values.
Definition at line 2042 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_FIFO_SIZE(), ReadMicro(), and WriteMicro().
Referenced by ReadoutModes::L1CacheTest().
void CCAENV1x90::EnableChannel | ( | unsigned short | nChannel | ) |
Enbable 1 channel (0x40nn).
Enables a single TDC channel. The actual number of channels supported by a TDC Chip, is determined by the model number of the device. If an invalid chip or channel is selected, an exception will be thrown.
nChannel | (unsigned int IN) Number of the channel to enable. |
nChannel <= m_nChannels
Definition at line 2065 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_CHANNEL(), m_nChannels, WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::IndividualEnableTest().
void CCAENV1x90::DisableChannel | ( | unsigned short | nChannel | ) |
Disable a channel (0x41nn).
Disables a single TDC channel. The actual number of channels supported by a TDC Chip, and the number of chips is determined by the model number of the device. If an invalid chip or channel is selected, an exception will be thrown.
nChannel | (unsigned int IN) Number of the channel to enable. |
nChannel < m_nChannels.
Definition at line 2087 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_CHANNEL(), m_nChannels, WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::IndividualEnableTest().
void CCAENV1x90::EnableAllChannels | ( | ) |
Enable all tdc channels (0x4200).
Enables all of the channels in all of the chips on the module.
Definition at line 2102 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::EN_ALL_CH(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::EnableAllTest().
void CCAENV1x90::DisableAllChannels | ( | ) |
Disable all tdc channels (0x4300).
Dissables all the channels in all the chips on the module.
Definition at line 2111 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DIS_ALL_CH(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadoutModes::EnableAllTest(), and ReadoutModes::IndividualEnableTest().
void CCAENV1x90::SetChannelEnables | ( | STD(vector)< unsigned short > | masks | ) |
void CCAENV1x90::GetChannelEnables | ( | STD(vector)< unsigned short > & | masks | ) |
void CCAENV1x90::SetChipEnables | ( | unsigned short | nChip, | |
unsigned int | nMask | |||
) |
Set the enables for a single chip. (0x460n).
Sets the enables for a single chip of the module as designated by the mask longword. Each channel that has a corresponding bit set is enabled, the others disabled.
nChip | (unsigned int IN) Chip number. | |
nMasks | (unsigned int IN) Mask of enable bits. |
Definition at line 2199 of file CCAENV1x90.cpp.
References HI(), LO(), m_nChipCount, WaitMicroWrite(), CCAENV1x90Opcodes::WRITE_EN_PATTERN32(), and WriteMicro().
Referenced by ReadoutModes::TestChip().
unsigned int CCAENV1x90::GetChipEnables | ( | unsigned short | nChip | ) |
read enables for a chip. (0x470n)
Returns the channel enable mask for a TDC Chip. The mask will have a bit set for each enabled channel.
nChip | (unsigned int IN) Chip number. |
The | 32 bit mask of channel enables. Channel 0 of the chip will be the LSBit. while channel 31 the MSBit. |
Definition at line 2240 of file CCAENV1x90.cpp.
References FormatValue(), m_nChipCount, CCAENV1x90Opcodes::READ_EN_PATTERN32(), ReadMicro(), and WriteMicro().
Referenced by ReadoutModes::TestChip().
void CCAENV1x90::SetGlobalOffset | ( | unsigned short | nCoarse, | |
unsigned short | nVernier | |||
) |
Set global coarse/fine offsets (0x5000).
This function sets a global offset on the coarse and fine counter values. The coarse counter offset range is 0-2047, while the fine offset is 0-31.
nCoarse | (unsigned short IN) Coarse offset. | |
nVernier | (unsigned short IN) Fine (vernier) offset |
nVernier < 0x20
Definition at line 2280 of file CCAENV1x90.cpp.
References COARSEMAX(), FormatValue(), CCAENV1x90Opcodes::SET_GLOB_OFFS(), VERNIERMAX(), WaitMicroWrite(), and WriteMicro().
Referenced by AdjustTests::GlobalOffsetTest().
void CCAENV1x90::ReadGlobalOffset | ( | unsigned short & | nCoarse, | |
unsigned short & | nVernier | |||
) |
Fetch the global offsets (0x5100).
Reads the coarse and fine offsets from the module. These offsets are masked so that there will be no bits set other than those set in the offset fields.
nCoarse | (unsigned int& OUT) The coarse offset read from the chip. | |
nVernier | (unsigned int& OUT) The fine offset read from the chip. |
Definition at line 2314 of file CCAENV1x90.cpp.
References COARSEMASK(), CCAENV1x90Opcodes::READ_GLOB_OFFS(), ReadMicro(), VERNIERMASK(), and WriteMicro().
Referenced by AdjustTests::GlobalOffsetTest().
void CCAENV1x90::SetChannelOffset | ( | unsigned short | nChannel, | |
unsigned short | nOffset | |||
) |
Set a channel offset (0x52nn).
Each TDC channel can have an offset applied to it. This function sets the offset for an individual TDC channel.
nChannel | (unsigned int IN) channel number | |
nOffset | (unsigned short IN) Offset in the range [0-255]. |
nOffset is i < 0x100.
Definition at line 2339 of file CCAENV1x90.cpp.
References CHANOFFSETMAX(), FormatValue(), m_nChannels, CCAENV1x90Opcodes::SET_ADJUST_CH(), WaitMicroWrite(), and WriteMicro().
Referenced by AdjustTests::ChannelOffsetTest().
unsigned short CCAENV1x90::GetChannelOffset | ( | unsigned int | nChannel | ) |
Retrieve channel offset (0x53nn).
Returns the offset value that was set for a channel of the TDC via SetChannelOffset.
nChannel | (unsigned int IN) Channel Number. |
The | channel offset in the range [0,0xff]. |
Definition at line 2371 of file CCAENV1x90.cpp.
References CHANOFFSETMASK(), m_nChannels, CCAENV1x90Opcodes::READ_ADJUST_CH(), ReadMicro(), and WriteMicro().
Referenced by AdjustTests::ChannelOffsetTest().
void CCAENV1x90::CalibrateDelayLine | ( | unsigned short | nChip, | |
unsigned short | Tap1Contact, | |||
unsigned short | Tap2Contact, | |||
unsigned short | Tap3Contact, | |||
unsigned short | Tap4Contact | |||
) |
Set delayline tap config (0x450n).
Each tap on the delay line has a set of three additional capacitors that can be gated into the circuit. These capacitors affect the exact timing of the delay line tap and can therefore be used to calibrate each tap. This function sets the contact masks for all 12 capacitors (3 contacts per 4 delay line taps) in the delay line.
nChip | (Unsigned Short In) TDC chip number. | |
Tap1Contact | (Unsigned short IN) Contact mask for tap 1. For each bit in the contact mask, an additional capacitance is added to the Tap1Contact RC delay. Valid mask bits are: | |
Tap2Contact | Unsigned Short IN Contact mask for tap2 | |
Tap3Contact | Unsigned Short IN Contact mask for tap 3 | |
Tap4Contact | Unsigned Short IN contact mask for tap 4. |
nChip < m_nChipCount
Definition at line 2416 of file CCAENV1x90.cpp.
References m_nChipCount, CCAENV1x90Opcodes::SET_RC_ADJ(), TAP_CONTACT1, TAP_CONTACT2, TAP_CONTACT3, WaitMicroWrite(), and WriteMicro().
Referenced by AdjustTests::DelayLineTest().
void CCAENV1x90::GetDelayLineCalibration | ( | unsigned short | nChip, | |
unsigned short & | Tap1Contact, | |||
unsigned short & | Tap2Contact, | |||
unsigned short & | Tap3Contact, | |||
unsigned short & | Tap4Contact | |||
) |
Get delay line tap config (0x460n).
Returns the contact masks for the delay line calibrations for a single TDC on the board.
nChip | (unsigned short IN) The TDC chip number. | |
Tap1Contact | (unsigned short & OUT) Tap 1 contact mask See SetDelayLineCalibration for information about the bits in this mask | |
Tap2Contact | (unsigned short & OUT) Tap 2 contact mask. | |
Tap3Contact | (unsigned short & OUT) Tap 3 contact mask | |
Tap4Contact | (unsigned short & OUT) Tap 4 contact mask. |
Definition at line 2469 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::READ_RC_ADJ(), ReadMicro(), TAPCONTACTMASK(), TAPCONTACTRSHIFT(), and WriteMicro().
Referenced by AdjustTests::DelayLineTest().
void CCAENV1x90::SaveDelayLineCalibrations | ( | ) |
Write calibrations -> eprom (0x5600).
The current set of delay line calibration contact masks are saved to EEPROM on the module. On power up, these settings will be restored to all TDC chips.
Definition at line 2491 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::SAVE_RC_ADJ(), WaitMicroWrite(), and WriteMicro().
unsigned int CCAENV1x90::GetChipId | ( | unsigned short | nChip | ) |
Get chip id (0x600n).
Returns the chip ID and stepping leve of the specified TDC chip. This should be a hex number like: 0x8470dacx where x is the stepping number. The stepping number is not encoded in any way I can understand. The manual claims that 0xe is revision 1.3 (e = 14 so I don't get it).
nChip | (unsigned short IN) Chip number. |
the | chip id. See the description. |
Definition at line 2515 of file CCAENV1x90.cpp.
References m_nChipCount, CCAENV1x90Opcodes::READ_TDC_ID(), ReadMicro(), and WriteMicro().
Referenced by MiscTests::ChipIdTest().
void CCAENV1x90::GetuCFirmwareInfo | ( | unsigned short & | nRevision, | |
unsigned short & | nDay, | |||
unsigned short & | nMonth, | |||
unsigned short & | nYear | |||
) |
Firmware rev/date (0x6100).
Retrieves information about the firmware revision and when it was comitted from the board.
nRevision | (unsigned int& OUT) The firmware revision level | |
nDay | (unsigned int& OUT) Day of the month on which the firmware was comitted. | |
(nMonth | unsigned int& OUT) Month of the year on which the firmware was comitted. | |
nYear | (unsigned int & OUT) Year on which the firmware was committed. |
Definition at line 2546 of file CCAENV1x90.cpp.
References ReadMicro(), CCAENV1x90Opcodes::REV_DATE_MICRO_FW(), and WriteMicro().
Referenced by MiscTests::FWDTimeTest().
unsigned short CCAENV1x90::GetChipErrors | ( | unsigned short | nChip | ) |
Read errors from 1 chip (0x740n).
Returns the error mask from the specified TDC chip.
nChip | (unsigned int IN) The chip to read. |
Definition at line 2571 of file CCAENV1x90.cpp.
References ERR_COARSE, ERR_CTLPARITY, ERR_JTAGPARITY, ERR_L1PARITY, ERR_MATCHERROR, ERR_RDOSTATE, ERR_RFIFOPARITY, ERR_SELECT, ERR_SUPPARITY, ERR_TFIFOPARITY, ERR_VERNIER, m_nChipCount, CCAENV1x90Opcodes::READ_ERROR_STATUS(), ReadMicro(), and WriteMicro().
Referenced by MiscTests::ErrorsTest().
void CCAENV1x90::EnableTestMode | ( | unsigned int | nValue | ) |
Chip->Test mode. (0xc500).
Requests that the board run in test mode. This is only useful in trigger matching mode. For each gate the tdc will emit (between headers and trailers if enabled) n test words as described in figure 5.2 of the hardware manual. n is the maximum event size programmed for the tdc. I'm not sure what it'll do if that's set to unlimited :-).
nValue | (unsigned int IN) The 24 bits of data value to set for this TDC chip's data. |
Definition at line 2609 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::ENABLE_TEST_MODE(), HI(), LO(), MAXTESTVALUE(), WaitMicroWrite(), and WriteMicro().
Referenced by ReadTests::FIFOTest(), ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
void CCAENV1x90::DisableTestMode | ( | ) |
Turn off chip test mode (0xc600).
Takes the board out of test mode. Test mode is enabled for a chip via a call to EnableTestMode.
Definition at line 2634 of file CCAENV1x90.cpp.
References CCAENV1x90Opcodes::DISABLE_TEST_MODE(), WaitMicroWrite(), and WriteMicro().
unsigned int CCAENV1x90::ReadData | ( | void * | pBuffer, | |
unsigned int | nMaxLongs | |||
) |
Read up to nMaxLongs.
The action depends on the TDC module trigger mode:
Please see the description of both of these functions for more information.
pBuffer | (void* OUT) Where to put the data. | |
nMaxLongs | (unsigned int IN) Maximum number of Longs to read. The pBuffer parameter must point to storage of at least nMaxLongs*sizeof(long) bytes of data. |
actual | number of Longs |
Definition at line 2662 of file CCAENV1x90.cpp.
References m_fTriggerMatching, ReadPacket(), and ReadValid().
Referenced by ReadTests::TestReadHeaders(), and ReadTests::TestReadNoHeaders().
unsigned int CCAENV1x90::ReadPacket | ( | void * | pBuffer, | |
unsigned int | nMaxLongs | |||
) |
Read trigger matched event up to nMaxLongs.
Reads a data packet that represents an event from the TDC. This is done by reading the TDC word by word and looking for an Event trailer. I suggest that the caller use the Event FIFO to determine how big the event is and allocate an appropriately sized buffer for it. If the event is larger than nMaxLongs, longs will be read from the TDC until the end of event trailer is located. The user buffer will consist of the first nMaxLong-1 data items, a bunch of skipped longs and a final long that will be the trailer long. In that case, the return value of ReadPacket will be nMaxLongs as well. The caller code can detect this by a mismatch between nMaxLongs (the return value) and the size of he event as described in the trailer longword and take appropriate action. This should, of course never happen if you paid attention and used the event FIFO to set the buffersize and nMaxLongs.
pBuffer | (void* OUT) Pointer to the buffer into which the data are read. | |
nMaxLongs | (unsigned int IN) Maximum number of longs to read into the buffer. |
Number | of longs actually read. |
Definition at line 2698 of file CCAENV1x90.cpp.
References CCAENV1x90Data::isFiller(), CCAENV1x90Data::isGlobalTrailer(), m_pRegisters, OffsetL(), CCAENV1x90Registers::OutputBuffer(), and CVmeModule::peekl().
Referenced by ReadData().
unsigned int CCAENV1x90::ReadValid | ( | void * | pBuffer, | |
unsigned int | nMaxLongs | |||
) |
Read all valid words, up to nMaxLongs.
LongWords are read from the TDC data buffer until either nMaxLongs longwords have been read, or alternatively, until the first pad longword is encountered. Pad longs are not put in the buffer.
pBuffer | (void* OUT) Pointer to the buffer into which the TDC data will be read. | |
nMaxLongs | (unsigned int IN) Number of longwords in the buffer. |
The | number of longwords placed into the buffer. |
Definition at line 2739 of file CCAENV1x90.cpp.
References CCAENV1x90Data::isFiller(), CCAENV1x90Data::isGlobalTrailer(), m_pRegisters, OffsetL(), CCAENV1x90Registers::OutputBuffer(), and CVmeModule::peekl().
Referenced by ReadData().
void CCAENV1x90::WaitMicroWrite | ( | ) |
Wait for micro writable.
Wait for the micro to be writable.
Definition at line 3056 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), CCAENV1x90Registers::WMicroHandshake(), and CCAENV1x90Registers::MicroHandshake::WRITE_OK().
Referenced by AutoLoadDefaultConfig(), AutoLoadUserConfig(), CalibrateDelayLine(), ContinuousStorageMode(), DisableAllChannels(), DisableBypassOnError(), DisableChannel(), DisableErrorMark(), DisableTDCEncapsulation(), DisableTestMode(), DisableTriggerTimeSubtraction(), EnableAllChannels(), EnableBypassOnError(), EnableChannel(), EnableErrorMark(), EnableTDCEncapsulation(), EnableTestMode(), EnableTriggerTimeSubtraction(), LoadDefaultConfig(), LoadUserConfig(), Reset(), SaveDelayLineCalibrations(), SaveUserConfig(), SetChannelOffset(), SetChipEnables(), SetDoubleHitResolution(), SetEdgeDetectMode(), SetErrorEnables(), SetExtraSearchMargin(), SetGlobalOffset(), SetIndividualLSB(), SetL1Size(), SetMaxHitsPerEvent(), SetPairResolutions(), SetRejectMargin(), SetWindowOffset(), SetWindowWidth(), TransferOneAtATime(), TransferUntilDone(), TriggerMatchMode(), and WriteMicro().
bool CCAENV1x90::ValidBoard | ( | CVmeModule & | pRom | ) | [protected] |
Is this a 1x90?
Determines if the module is a module supported by this class.
pROM | (CVMEptr IN) pointer like object to the module's configuration rom. |
true | -indicates the module is a V1x90 tdc | |
false | - indicates the module is not a V1x90 tdc. |
Definition at line 2780 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::ModuleVersion::A(), CCAENV1x90Registers::ModuleVersion::B(), CCAENV1x90Registers::ModuleVersion::N(), OffsetW(), CVmeModule::peekw(), ReadPromLong(), CCAENV1x90Registers::WBoardVersion(), CCAENV1x90Registers::WModelNumber2(), and CCAENV1x90Registers::WOUI2().
Referenced by CCAENV1x90().
void CCAENV1x90::BoardProperties | ( | CVmeModule & | pROM | ) | [protected] |
Fetch the properties of a CAEN V 1x90 board into member data. Stores the following:
pRom | (CVmeModule& IN) pointer like object to the module's configuration rom. |
Definition at line 2843 of file CCAENV1x90.cpp.
References CCAENV1x90Registers::ModuleVersion::A(), CCAENV1x90Registers::ModuleVersion::B(), m_cVersion, m_fCanHiRes, m_fIsHiResMode, m_fTriggerMatching, m_nBoardRevision, m_nChannels, m_nChipCount, m_nModel, m_nSerialNumber, CCAENV1x90Registers::ModuleVersion::N(), OffsetW(), CVmeModule::peekw(), ReadPromLong(), CCAENV1x90Registers::StatusRegister::RES_25ps(), CCAENV1x90Registers::StatusRegister::RESOLUTIONMASK(), SR(), CCAENV1x90Registers::StatusRegister::TRG_MATCH(), CCAENV1x90Registers::WBoardVersion(), CCAENV1x90Registers::WModelNumber2(), CCAENV1x90Registers::WRevision0(), CCAENV1x90Registers::WRevision3(), CCAENV1x90Registers::WSerialNumber0(), and CCAENV1x90Registers::WSerialNumber1().
Referenced by CCAENV1x90().
void CCAENV1x90::WriteCR | ( | unsigned short | mask | ) | [protected] |
Write mask to status register.
Writes the mask to the module's control register. The control register is accessed via the m_pRegisters pseudo pointer.
mask | (unsigned short in) New value to write. |
Definition at line 2971 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::pokew(), and CCAENV1x90Registers::WControlRegister().
Referenced by BitClearCR(), and BitSetCR().
void CCAENV1x90::BitSetCR | ( | unsigned short | bit | ) | [protected] |
set specified bit# in cr.
Sets a specific single bit in the module's control register.
bit | (unsigned short in) Number (from 0) of the bit to set. |
Definition at line 2999 of file CCAENV1x90.cpp.
References ReadCR(), and WriteCR().
Referenced by EnableTriggerTagTime(), Reset(), Terminate(), and Unterminate().
void CCAENV1x90::BitClearCR | ( | unsigned short | bit | ) | [protected] |
clear specified bit# in cr.
Clears a specific bit in the module's control register.
bit | (unsigned short in) Number (from 0) of the bit to clear. |
Definition at line 3015 of file CCAENV1x90.cpp.
References ReadCR(), and WriteCR().
Referenced by DisableTriggerTagTime(), TerminateWithSwitch(), and Unterminate().
void CCAENV1x90::WriteMicro | ( | unsigned short | nWord | ) | [protected] |
Write word to the micro sequencer.
Writes a single word to the module's micro controller with appropriate handshake. This is a utility function used by the member functions that must interact with the micro controller.
int | nWord (unsigned short In) Word to write. |
Definition at line 3076 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::pokew(), WaitMicroWrite(), and CCAENV1x90Registers::WMicroData().
Referenced by AutoLoadDefaultConfig(), AutoLoadUserConfig(), CalibrateDelayLine(), ContinuousStorageMode(), DisableAllChannels(), DisableBypassOnError(), DisableChannel(), DisableErrorMark(), DisableTDCEncapsulation(), DisableTestMode(), DisableTriggerTimeSubtraction(), EnableAllChannels(), EnableBypassOnError(), EnableChannel(), EnableErrorMark(), EnableTDCEncapsulation(), EnableTestMode(), EnableTriggerTimeSubtraction(), GetChannelOffset(), GetChipEnables(), GetChipErrors(), GetChipId(), GetDelayLineCalibration(), GetDoubleHitResolution(), GetEdgeDetectMode(), GetErrorEnables(), GetL1Size(), GetMaxHitsPerEvent(), GetResolution(), GetuCFirmwareInfo(), isTDCEncapsulationOn(), LoadDefaultConfig(), LoadUserConfig(), MicroTransaction(), ReadGlobalOffset(), SaveDelayLineCalibrations(), SaveUserConfig(), SetChannelOffset(), SetChipEnables(), SetDoubleHitResolution(), SetEdgeDetectMode(), SetErrorEnables(), SetExtraSearchMargin(), SetGlobalOffset(), SetIndividualLSB(), SetL1Size(), SetMaxHitsPerEvent(), SetPairResolutions(), SetRejectMargin(), SetWindowOffset(), SetWindowWidth(), TransferOneAtATime(), TransferUntilDone(), TriggerMatchMode(), and WriteMicroBlock().
unsigned short CCAENV1x90::ReadMicro | ( | ) | [protected] |
read a word from the micro sequencer.
Reads a single word from the micro controller waiting if necessary for the word to become available. Note that it is the caller's responsibility to be sure that the module will have a data word available (one reason this is private), otherwise this function will spin endlessly waiting for the MicroHanshake::READ_OK bit.
the | word returned from the micro-controller. |
Definition at line 3101 of file CCAENV1x90.cpp.
References m_pRegisters, OffsetW(), CVmeModule::peekw(), CCAENV1x90Registers::MicroHandshake::READ_OK(), CCAENV1x90Registers::WMicroData(), and CCAENV1x90Registers::WMicroHandshake().
Referenced by GetChannelOffset(), GetChipEnables(), GetChipErrors(), GetChipId(), GetDelayLineCalibration(), GetDoubleHitResolution(), GetEdgeDetectMode(), GetErrorEnables(), GetL1Size(), GetMaxHitsPerEvent(), GetResolution(), GetuCFirmwareInfo(), isTDCEncapsulationOn(), ReadGlobalOffset(), and ReadMicroBlock().
void CCAENV1x90::WriteMicroBlock | ( | void * | pWords, | |
unsigned int | nWords | |||
) | [protected] |
Write words to the micro seqeuncer.
Calls WriteMicro nWords times to write consecutive words pointed to by pWords. This function is used by members that need to write blocks of several words to the microcontroller.
pWords | (void* in) Pointer to words to write. | |
nWords | (unsigned int in) Number of words to write. |
Definition at line 3127 of file CCAENV1x90.cpp.
References WriteMicro().
void CCAENV1x90::ReadMicroBlock | ( | void * | pWords, | |
unsigned int | nWords | |||
) | [protected] |
Reads words from the micro sequencer.
Reads Calls ReadMicro nWords times, storing the results in consecutive memory locations pointed to by pWords. This function is used by members that must transfer blocks of data from the microcontroller.
pWords | (void* out) Pointer to a buffer to hold the words. | |
nWords | (unsigned int in) Number of words to read |
Definition at line 3149 of file CCAENV1x90.cpp.
References ReadMicro().
Referenced by MicroTransaction().
void CCAENV1x90::MicroTransaction | ( | unsigned short | opcode, | |
void * | pWords, | |||
unsigned int | nWords | |||
) | [protected] |
Do an opcode and read a block.
Writes opcode to the micro controller followed by a read of nWords from the microcontroller into the buffer pointed to by pWords. This performs a full operation with the microcontroller that requests and transfers data from the micro controller.
opcode | (unsigned short IN) The operation code to write to the micro | |
pWords | (unsigned short OUT) Pointer to the buffer to hold the words retreived from the micro | |
nWords | (unsigned int in) Number of words to read from the micro |
Definition at line 3174 of file CCAENV1x90.cpp.
References ReadMicroBlock(), and WriteMicro().
Referenced by GetTriggerConfiguration().
unsigned long CCAENV1x90::ReadPromLong | ( | CVmeModule & | prombase, | |
unsigned long | ByteOffset | |||
) | [protected] |
Read a longword from the configuration prom. In the config prom, longwords are stored high endian, one byte per long. The valid byte is in the low order byte of each word. Access to the prom is also limited to D16 and the first 16 words of each longword offset is what is significant.
prombase | (CVmeModule& in) reference to the module 'map'. | |
ByteOffset | (unsigned long in ) Offset in bytes to the first word to read. |
the | value of the longword. |
Definition at line 3039 of file CCAENV1x90.cpp.
References OffsetW(), and CVmeModule::peekw().
Referenced by BoardProperties(), and ValidBoard().
const unsigned short CCAENV1x90::ERR_VERNIER [static] |
const unsigned short CCAENV1x90::ERR_COARSE [static] |
const unsigned short CCAENV1x90::ERR_SELECT [static] |
const unsigned short CCAENV1x90::ERR_L1PARITY [static] |
const unsigned short CCAENV1x90::ERR_TFIFOPARITY [static] |
const unsigned short CCAENV1x90::ERR_MATCHERROR [static] |
const unsigned short CCAENV1x90::ERR_RFIFOPARITY [static] |
const unsigned short CCAENV1x90::ERR_RDOSTATE [static] |
const unsigned short CCAENV1x90::ERR_SUPPARITY [static] |
const unsigned short CCAENV1x90::ERR_CTLPARITY [static] |
const unsigned short CCAENV1x90::ERR_JTAGPARITY [static] |
const unsigned short CCAENV1x90::TAP_CONTACT1 [static] |
const unsigned short CCAENV1x90::TAP_CONTACT2 [static] |
const unsigned short CCAENV1x90::TAP_CONTACT3 [static] |
unsigned long CCAENV1x90::m_nBase [private] |
VME base address of the module.
Definition at line 210 of file CCAENV1x90.h.
Referenced by CCAENV1x90().
unsigned int CCAENV1x90::m_nCrate [private] |
unsigned int CCAENV1x90::m_nSlot [private] |
CVmeModule CCAENV1x90::m_pRegisters [private] |
Device register pseudo pointer.
Definition at line 214 of file CCAENV1x90.h.
Referenced by Clear(), DefineECLOutput(), EventCount(), EventFIFOCount(), EventReset(), GetAlmostFullLevel(), GetECLOutputDefinition(), GetGeographicalID(), isEventFIFOFull(), isEventFIFOReady(), ReadCR(), ReadEventFIFO(), ReadMicro(), ReadPacket(), ReadValid(), Reset(), SetAlmostFullLevel(), SetGeographicalID(), SR(), Trigger(), TriggerCount(), WaitMicroWrite(), WriteCR(), and WriteMicro().
unsigned int CCAENV1x90::m_nModel [private] |
Model, e.g. 1190 or 1290.
Definition at line 215 of file CCAENV1x90.h.
Referenced by BoardProperties(), CCAENV1x90(), getModel(), and isPairMode().
unsigned char CCAENV1x90::m_cVersion [private] |
Sub-model e.g. A,B or N.
Definition at line 216 of file CCAENV1x90.h.
Referenced by BoardProperties(), CCAENV1x90(), and getVersion().
unsigned int CCAENV1x90::m_nSerialNumber [private] |
Module serial number.
Definition at line 217 of file CCAENV1x90.h.
Referenced by BoardProperties(), and getSerialNumber().
unsigned int CCAENV1x90::m_nChipCount [private] |
Number of chips in the board.
Definition at line 218 of file CCAENV1x90.h.
Referenced by BoardProperties(), CalibrateDelayLine(), getChipCount(), GetChipEnables(), GetChipErrors(), GetChipId(), HadError(), and SetChipEnables().
unsigned int CCAENV1x90::m_nChannels [private] |
Number of channels on the board.
Definition at line 219 of file CCAENV1x90.h.
Referenced by BoardProperties(), DisableChannel(), EnableChannel(), getChannelCount(), GetChannelOffset(), and SetChannelOffset().
unsigned int CCAENV1x90::m_nBoardRevision [private] |
Board hardware revision level.
Definition at line 220 of file CCAENV1x90.h.
Referenced by BoardProperties().
bool CCAENV1x90::m_fCanHiRes [private] |
True if high resolution capable.
Definition at line 221 of file CCAENV1x90.h.
Referenced by BoardProperties(), SetEdgeDetectMode(), and SetIndividualLSB().
bool CCAENV1x90::m_fIsHiResMode [private] |
True if module is in hi res.
Definition at line 222 of file CCAENV1x90.h.
Referenced by BoardProperties(), ReadResolution(), SetEdgeDetectMode(), and SetIndividualLSB().
bool CCAENV1x90::m_fTriggerMatching [private] |
true if module has got trigger match mode on.
Definition at line 223 of file CCAENV1x90.h.
Referenced by BoardProperties(), Clear(), ContinuousStorageMode(), EventReset(), ReadData(), Reset(), and TriggerMatchMode().