|
Jpp 20.0.0-27-g39925593c-D
the software that should make you happy
|
Default CLB simulation. More...
#include <JCLBDefaultSimulator.hh>
Classes | |
| class | JStateMachine |
| Auxiliary class to mimic hit ordering effects due to state machine inside CLB. More... | |
| class | JTDC |
| Implementation of non-linearity of TDC. More... | |
Public Types | |
| typedef JDAQHit::JPMT_t | JPMT_t |
| typedef JDAQHit::JTDC_t | JTDC_t |
| typedef JDAQHit::JTOT_t | JTOT_t |
Public Member Functions | |
| JCLBDefaultSimulator (const JDAQHit::JTDC_t Tmax=0) | |
| Constructor. | |
| JDAQFrameStatus | getDAQFrameStatus (const JModuleIdentifier &id) const |
| Get DAQ frame status of given module. | |
| virtual void | processData (const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const override |
| Process data. | |
| virtual int | getUDPNumberOfReceivedPackets (const JModuleIdentifier &id) const |
| Get number of received UDP packets. | |
| virtual int | getUDPMaximalSequenceNumber (const JModuleIdentifier &id) const |
| Get maximal sequence number of UDP packet. | |
| virtual bool | hasUDPTrailer (const JModuleIdentifier &id) const |
| Get UDP trailer status. | |
| virtual bool | setHighRateVeto () const |
| Set high-rate veto based on number of hits. | |
| virtual bool | getHighRateVeto (const JPMTIdentifier &id) const |
| Get high-rate veto of given PMT. | |
| virtual bool | getFIFOStatus (const JPMTIdentifier &id) const |
| Get FIFO (almost) full of given PMT. | |
| virtual bool | hasCLB (const JModuleIdentifier &id) const |
| Check if CLB exist. | |
Static Public Member Functions | |
| static double | getMinimalToT () |
| Get minimal pulse length of time-over-threshold measurement. | |
Static Public Attributes | |
| static const struct JDETECTOR::JCLBDefaultSimulatorInterface::compare | compare |
Private Attributes | |
| std::unique_ptr< JTDC > | TDC |
| std::unique_ptr< JStateMachine > | state_machine |
Default CLB simulation.
This class provides for the implementation of the conversion of a time-over-threshold pulse to a hit.
A hit consists of:
The time stamping and pulse length determination is done by a TDC which is integrated inside the FPGA. The observed non-linearity of the TDC is implemented in this class.
Although the hits from the same PMT are striclty time sorted, hits from different PMTs could be reordered due to the occupancy of the buffers inside the FPGA. This reordering is also implemented in the this class.
Definition at line 134 of file JCLBDefaultSimulator.hh.
Definition at line 62 of file JCLBDefaultSimulatorInterface.hh.
Definition at line 63 of file JCLBDefaultSimulatorInterface.hh.
Definition at line 64 of file JCLBDefaultSimulatorInterface.hh.
|
inline |
Constructor.
| Tmax | maximal time difference for swap [ns] |
Definition at line 223 of file JCLBDefaultSimulator.hh.
|
inlineinherited |
Get DAQ frame status of given module.
| id | module identifier |
Definition at line 144 of file JCLBDefaultSimulatorInterface.hh.
|
inlineoverridevirtualinherited |
Process data.
| id | module identifier |
| input | PMT data |
| output | CLB data |
Implements JDETECTOR::JCLBSimulator.
Definition at line 169 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Get number of received UDP packets.
| id | module identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 281 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Get maximal sequence number of UDP packet.
| id | module identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 293 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Get UDP trailer status.
| id | module identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 305 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Set high-rate veto based on number of hits.
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 316 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Get high-rate veto of given PMT.
| id | PMT identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 328 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Get FIFO (almost) full of given PMT.
| id | PMT identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 340 of file JCLBDefaultSimulatorInterface.hh.
Get minimal pulse length of time-over-threshold measurement.
Definition at line 351 of file JCLBDefaultSimulatorInterface.hh.
|
inlinevirtualinherited |
Check if CLB exist.
| id | module identifier |
Reimplemented in JTRIGGER::JCLBRunByRunSimulator.
Definition at line 67 of file JCLBSimulator.hh.
|
staticinherited |
|
privateinherited |
Definition at line 389 of file JCLBDefaultSimulatorInterface.hh.
|
privateinherited |
Definition at line 390 of file JCLBDefaultSimulatorInterface.hh.