fdhwlib  2.0.25
hw4::SltAuger Class Reference

#include <sltauger.h>

Inheritance diagram for hw4::SltAuger:
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 Slt 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 77 of file sltauger.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 174 of file sltauger.h.


Constructor & Destructor Documentation

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

Member Function Documentation

int hw4::SltAuger::checkActualTime ( long int *  tDiff,
long int *  tDiffEye,
int *  tMeas,
int *  tPhase,
long int *  tDiffGps = 0,
int  id = 0,
int  n = 1,
const char *  gpsserver = "localhost",
int  gpsport = 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.

Reimplemented from hw4::Slt.

void hw4::SltAuger::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::SltAuger::checkTime ( double *  tDiff = 0,
int *  tSecErr = 0,
int *  tPhase = 0,
procDuration tPC = 0 
)

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 tPC Measurement intervall.

Reimplemented from hw4::Slt.

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

Convert ded or veto times to a character string.

Reimplemented from hw4::Slt.

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

Convert to GPS time.

Reimplemented from hw4::Slt.

void hw4::SltAuger::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::SltAuger::convertToUTC ( time_t *  t_utc,
SltTime  time 
)

Reimplemented from hw4::Slt.

void hw4::SltAuger::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::SltAuger::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::SltAuger::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::SltAuger::getRunModeText ( )

Give text output for the run modes.

Reimplemented from hw4::Slt.

std::string hw4::SltAuger::getRunModeText ( RunMode  mode)
int hw4::SltAuger::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::SltAuger::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 364 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 284 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 332 of file sltauger.h.

Command register.

Reimplemented from hw4::Slt.

Definition at line 242 of file sltauger.h.

Control register.

Reimplemented from hw4::Slt.

Definition at line 236 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 368 of file sltauger.h.

Definition at line 366 of file sltauger.h.

Interval of the dead time checks.

Reimplemented from hw4::Slt.

Definition at line 372 of file sltauger.h.

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

Dead time counter at start in interval.

Reimplemented from hw4::Slt.

Definition at line 375 of file sltauger.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 276 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 286 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 347 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 345 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 342 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 326 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 340 of file sltauger.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 247 of file sltauger.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 256 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 354 of file sltauger.h.

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 322 of file sltauger.h.

Status register of the page controller.

Reimplemented from hw4::Slt.

Definition at line 305 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 324 of file sltauger.h.

Page select register.

Reimplemented from hw4::Slt.

Definition at line 314 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 280 of file sltauger.h.

Check of the pixel bus connection.

Reimplemented from hw4::Slt.

Definition at line 264 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 282 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 352 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 328 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 334 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 330 of file sltauger.h.

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

Reimplemented from hw4::Slt.

Definition at line 260 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 278 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 299 of file sltauger.h.

Set Slt second count.

Reimplemented from hw4::Slt.

Definition at line 296 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 356 of file sltauger.h.

Status register.

Reimplemented from hw4::Slt.

Definition at line 239 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 302 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 338 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 336 of file sltauger.h.

Coincidence time T1 [100ns].

The system will generate a next page signal T1 * 100ns after a trigger is detected.

Reimplemented from hw4::Slt.

Definition at line 311 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 360 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 358 of file sltauger.h.

Reimplemented from hw4::Slt.

Definition at line 362 of file sltauger.h.

Control and status register for additional usct functions.

Reimplemented from hw4::Slt.

Definition at line 289 of file sltauger.h.

Additional register for usct functions.

Reimplemented from hw4::Slt.

Definition at line 292 of file sltauger.h.

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

Veto counter at start of interval.

Reimplemented from hw4::Slt.

Definition at line 378 of file sltauger.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 270 of file sltauger.h.


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