fdhwlib  2.0.25

#include <sltkatrin.h>

Inheritance diagram for hw4::SltKatrin:
hw4::Slt hw4::SubrackBoard hw4::SubrackBoard hw4::SubrackBoard SubrackBoardBase SubrackBoardBase SubrackBoardBase

List of all members.

Public Types

Public Member Functions

Public Attributes


Detailed Description

The class SltKatrin provides the definition for the registers of the second level trigger board (SLT) of the version 4 electronics.

The names of the registers are choosen as found in the hardware description. For a systematic access to all registers without knowledge of the specific register structure the array regList is introduced. The array contains a list of all available registers.

Definition at line 84 of file sltkatrin.h.


Member Enumeration Documentation

Status of the electronic:

  • RUN No inhibit active, No Resets active, second strobe source = ext trigger source = int dead time enabled
  • CAL as RUN but dead time disabled
  • WAIT as RUN but all pages full active
  • STOP as RUN but ext or sw inhibit active
  • CERR DAQ configuration error
  • UNKOWN Other state
Enumerator:
RUN 
CAL 
WAIT 
STOP 
CERR 
UNKNOWN 

Reimplemented from hw4::Slt.

Definition at line 181 of file sltkatrin.h.


Constructor & Destructor Documentation

hw4::SltKatrin::SltKatrin ( int  ID,
const char *  inifile = "FE.ini" 
)
virtual hw4::SltKatrin::~SltKatrin ( ) [virtual]

Member Function Documentation

void hw4::SltKatrin::checkDeadTime ( unsigned long long *  tDead,
unsigned long long *  tVeto,
double *  tRecord,
double *  tPageFull,
procDuration tMeas = 0 
)

Check the operation time of the crate.

Reimplemented from hw4::Slt.

int hw4::SltKatrin::checkTime ( double *  tDiff = 0,
int *  tSecErr = 0,
int *  tPhase = 0,
int *  tMeas = 0 
)

Compare the PC clock and the hardware clock of all connected telescopes.This function is an extension for more than one telescope connected in PBUS_IP mode.

Parameters:
tDiffThe difference t(Hardware) - t(MirrorPC) in seconds.
tDiffEyeThe difference t(MirrorPC) - t(EyePC) in seconds.
tMeasThe measurement point in ms relative to the last second strobe
tPhaseThe phase in ms between the GPS time of the hardware and the NTP time of the EyePC: t(Hardware) - t(EyePC) t is the time of the second strobe in each case.
tDiffGpsDifference of the gps clock Two values: oncode time and auger counter
idNumber of the telescope to test. 0 (default) is the actual telescope
nNumber of telescopes to analyse If n > 1 you need to provide a array for the first argument (tDiff).
gpsserverHostname of the gpsserver (default: localhost)
gpsportPort of the gpsserver (0 to use the default port)
Returns:
Status of the function. + 0 failed, > 0 success == number of miliseconds of the last test. Check hardware and PC clock synchrony. The approach used is faster than that implemented in checkActualTime(). It uses the subsecond counters to determine second error and phase between hardware and PC clock.

The function checks only the selected telescope.

return 0 Ok, -1 hardware not responding, bit 1 warning internal second strobe, bit 2 time error param tDiff Difference tHw - t PC [s] param tSecErr Second error tHw - t PC [s] param tPhase Offset between the second strobes in Hw and PC [us] param tMeasurement time [us].

std::string hw4::SltKatrin::convertTimeToText ( unsigned long long  time,
int  showSubSecs = 0 
)

Convert ded or veto times to a character string.

Reimplemented from hw4::Slt.

void hw4::SltKatrin::convertToGPS ( SltTime time,
time_t  t_utc 
)

Convert to GPS time.

Reimplemented from hw4::Slt.

void hw4::SltKatrin::convertToUTC ( time_t *  t_utc,
unsigned long  time 
)

Convert the Hardware second counter the the format used by the PC (UTC time started at 1.1.1970)

Parameters:
t_utcSecond counter in UTC format
timeTime in Hardware format

Reimplemented from hw4::Slt.

void hw4::SltKatrin::convertToUTC ( time_t *  t_utc,
SltTime  time 
)

Reimplemented from hw4::Slt.

void hw4::SltKatrin::getActivePages ( int  time,
int *  pages,
int *  continous 
)

Get the number of active and the fraction of continously trigger pages in a given interval.

Parameters:
timeAge of the considered pages in seconds (0 all time)
pagesPointer to the number of active pages
continousPointer to the number of continuous triggered pages

Reimplemented from hw4::Slt.

void hw4::SltKatrin::getActualTime ( SltTime time)

Get the actual time of the system.

Note: The system runs with GPS time. The GPS second count differs from the UNIX System time by about 10 years.

Reimplemented from hw4::Slt.

RunMode hw4::SltKatrin::getRunMode ( )

Get System state.

The system state is defined by the configuration of the signal sources and the level of the signals.

Reimplemented from hw4::Slt.

std::string hw4::SltKatrin::getRunModeText ( )

Give text output for the run modes.

Reimplemented from hw4::Slt.

std::string hw4::SltKatrin::getRunModeText ( RunMode  mode)

Reimplemented from hw4::Slt.

int hw4::SltKatrin::readDeadTime ( unsigned long long *  tDead,
unsigned long long *  tVeto,
unsigned long long *  tInhibit 
)

Read dead and veto times Calculate the inhibit time by substracting both.

The inhibit time is only valid if the function returns zero.

Reimplemented from hw4::Slt.

unsigned long hw4::SltKatrin::setActualTime ( )

Synchronize the actual time of the system with the local PC clock.

To set the correct value of the second, the function waits 300ms after the next second change. Then the UTC second counter ist converted to GPS seconds second counter is written. The hardware will set this value with the next second strobe. Finally the function checks, whether it was possible to finish the operation within one second.

Returns:
The second since beginning of GPS time when the crate was synchronized. A value of zero indicates that the setting failed. Repeat the function.

Reimplemented from hw4::Slt.


Member Data Documentation

Reimplemented from hw4::Slt.

Definition at line 291 of file sltkatrin.h.

Command register.

Reimplemented from hw4::Slt.

Definition at line 249 of file sltkatrin.h.

Control register.

Reimplemented from hw4::Slt.

Definition at line 243 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 386 of file sltkatrin.h.

Interval of the dead time checks.

Reimplemented from hw4::Slt.

Definition at line 390 of file sltkatrin.h.

unsigned long long hw4::SltKatrin::deadStart[24]

Dead time counter at start in interval.

Reimplemented from hw4::Slt.

Definition at line 393 of file sltkatrin.h.

Counter for the dead-time.

Use the command reset dead-time to reset the counter before starting the data aquisition run.

Reimplemented from hw4::Slt.

Definition at line 283 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 293 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 355 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 353 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 350 of file sltkatrin.h.

Definition at line 358 of file sltkatrin.h.

Definition at line 381 of file sltkatrin.h.

Definition at line 377 of file sltkatrin.h.

Definition at line 373 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 348 of file sltkatrin.h.

The register contains the interrupt mask.

High bits will disable the interrupt and low bits will enable it.

Reimplemented from hw4::Slt.

Definition at line 254 of file sltkatrin.h.

The register gives the actual interrupt status of the SLT board.

After the interrupt acknowledge cycle the register is cleared.

Name in Slt fpga documentation: Interrupt Request

Reimplemented from hw4::Slt.

Definition at line 263 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 287 of file sltkatrin.h.

Check of the pixel bus connection.

Reimplemented from hw4::Slt.

Definition at line 271 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 289 of file sltkatrin.h.

List of three hardware semaphores to synchronize the hardware access independant from software means.

Reimplemented from hw4::Slt.

Definition at line 267 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 285 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 306 of file sltkatrin.h.

Set Slt second count.

Reimplemented from hw4::Slt.

Definition at line 303 of file sltkatrin.h.

Status register.

Reimplemented from hw4::Slt.

Definition at line 246 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 310 of file sltkatrin.h.

Reimplemented from hw4::Slt.

Definition at line 346 of file sltkatrin.h.

Status register of the page controller.

Coincidence time T1 [100ns]. The system will generate a next page signal T1 * 100ns after a trigger is detected. Page select register Timing and trigger information of the recorded events Defines the number of active registers in the page numbers list This register will contain always 64 unless some registers should be taken out of operation.

Reimplemented from hw4::Slt.

Definition at line 344 of file sltkatrin.h.

Control and status register for additional usct functions.

Reimplemented from hw4::Slt.

Definition at line 296 of file sltkatrin.h.

Additional register for usct functions.

Reimplemented from hw4::Slt.

Definition at line 299 of file sltkatrin.h.

unsigned long long hw4::SltKatrin::vetoStart[24]

Veto counter at start of interval.

Reimplemented from hw4::Slt.

Definition at line 396 of file sltkatrin.h.

Counter for the veto-time.

Use the command reset dead-time to reset the counter before starting the data aquisition run.

Reimplemented from hw4::Slt.

Definition at line 277 of file sltkatrin.h.


The documentation for this class was generated from the following file: