1 #ifndef __JDETECTOR__JCLBDEFAULTSIMULATORINTERFACE__
2 #define __JDETECTOR__JCLBDEFAULTSIMULATORINTERFACE__
26 namespace JDETECTOR {}
27 namespace JPP {
using namespace JDETECTOR; }
131 state_machine(state_machine)
144 using namespace KM3NETDAQ;
169 using namespace KM3NETDAQ;
172 const double Tmin = 0.0;
181 for (
size_t pmt = 0; pmt != input.size(); ++pmt) {
189 if (hit->t_ns >= Tmin && hit->t_ns <= Tmax) {
191 double t1 = hit->t_ns;
192 double tot = hit->tot_ns;
233 for (
int i = 0;
i != n2 + 1; ++
i, t0 += ts) {
235 if (gRandom->Rndm() * (n2 + 1) >= (
double) n1) {
337 return first.
getT() < second.
getT();
350 return hit.
getT() < tdc;
static const JBits DAQ_UDP_RECEIVED_PACKETS(0, 15)
Mask of UDP received packets.
JCLBDefaultSimulatorInterface(JTDC *TDC, JStateMachine *state_machine)
Constructor.
virtual bool hasUDPTrailer(const JModuleIdentifier &id) const
Get UDP trailer status.
void set(int &mask) const
Set bit in given bit mask.
virtual int getUDPNumberOfReceivedPackets(const JModuleIdentifier &id) const
Get number of received UDP packets.
int write(const int value) const
Write given value as bit mask.
Interface to mimic hit ordering effects due to state machine inside CLB.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const override
Process data.
int write(const int value) const
Write given value as bit mask.
JTDC_t getT() const
Get time.
unsigned int JTDC_t
leading edge [ns]
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
size_t getMaximalNumberOfHits()
Get maximal number of hits from one PMT within data frame.
virtual bool maybeSwapped(const JDAQHit &first, const JDAQHit &second) const
Test whether two consecutive hits may be swapped.
std::vector< JDAQHit > buffer
The template JSinglePointer class can be used to hold a pointer to an object.
bool operator()(const JDAQHit &first, const JDAQHit &second) const
Compare hits by time.
unsigned char JTOT_t
time over threshold [ns]
double getFrameTime()
Get frame time duration.
virtual ~JStateMachine()
Virtual destructor.
JLANG::JSinglePointer< JTDC > TDC
static const JBit DAQ_UDP_TRAILER(31)
UDP trailer.
JLANG::JSinglePointer< JStateMachine > state_machine
virtual int getUDPMaximalSequenceNumber(const JModuleIdentifier &id) const
Get maximal sequence number of UDP packet.
virtual JDAQHit makeHit(const JPMT_t pmt, const double t_ns, const JTOT_t tot_ns) const
Make DAQ hit.
void setHighRateVeto(const int tdc, const bool value)
Set high-rate veto.
Auxiliary data structure for single bit.
void setDAQFrameStatus(const JDAQFrameStatus &status)
Set DAQ frame status.
then fatal The output file must have the wildcard in the e g root fi eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
virtual bool getHighRateVeto(const JPMTIdentifier &id) const
Get high-rate veto of given PMT.
Auxiliary class for object identification.
static const JBit DAQ_WHITE_RABBIT(31)
White Rabbit status.
Template data structure for PMT I/O.
JDAQFrameStatus getDAQFrameStatus(const JModuleIdentifier &id) const
Get DAQ frame status of given module.
static const JBits DAQ_UDP_SEQUENCE_NUMBER(16, 31)
Mask of UDP sequence number.
bool operator()(const JDAQHit &hit, const JTDC_t tdc) const
Compare hit and TDC value.
KM3NeT DAQ constants, bit handling, etc.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
std::vector< JElement_t >::const_iterator const_iterator
static struct JDETECTOR::JCLBDefaultSimulatorInterface::compare compare
Interface for CLB simulation.
Data frame of one optical module.
JDAQSuperFrame & add(const JDAQSuperFrame &super_frame)
Add data from same optical module.
unsigned char JPMT_t
PMT channel in FPGA.
virtual ~JTDC()
Virtual destructor.
static JTOT_t getMaximalToT()
Get maximal time-over-threshold.
static double getMinimalToT()
Get minimal pulse length of time-over-threshold measurement.
Auxiliary data structure for sorting of hits.