Jpp
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
JTRIGGER::JSummaryRouter Class Reference

Router for fast addressing of summary data in JDAQSummaryslice data structure as a function of the optical module identifier. More...

#include <JSummaryRouter.hh>

Inheritance diagram for JTRIGGER::JSummaryRouter:
KM3NETDAQ::JSummaryslice KM3NETDAQ::JDAQSummaryslice KM3NETDAQ::JDAQPreamble KM3NETDAQ::JDAQSummarysliceHeader std::vector< JDAQSummaryFrame > KM3NETDAQ::JDAQAbstractPreamble TObject KM3NETDAQ::JDAQHeader KM3NETDAQ::JDAQChronometer

Public Member Functions

 JSummaryRouter ()
 Default constructor. More...
 
void update (JDAQSummaryslice *ps)
 Update router. More...
 
const int getAddress (const JDAQModuleIdentifier &module) const
 Get address of module. More...
 
const JDAQSummaryFramegetSummaryFrame (const JDAQModuleIdentifier &module) const
 Get summary frame. More...
 
bool hasSummaryFrame (const JDAQModuleIdentifier &module) const
 Has summary frame. More...
 
void correct (const JPMTDefaultSimulatorInterface &simulator)
 Correct measured singles rates for the probability that a hit survives the simulation of the PMT. More...
 
std::ostream & print (std::ostream &out, const bool lpr=false) const
 Print DAQ summary. More...
 
virtual int getSize () const
 Get size of object. More...
 
 ClassDef (JDAQSummaryslice, 6)
 
 ClassDef (JDAQPreamble, 1)
 
 ClassDef (JDAQSummarysliceHeader, 2)
 
 ClassDef (JDAQHeader, 2)
 
 ClassDef (JDAQChronometer, 3)
 
int getLength () const
 Get length. More...
 
int getDataType () const
 Get data type. More...
 
 ClassDefNV (JDAQAbstractPreamble, 1)
 
const JDAQSummarysliceHeadergetDAQSummarysliceHeader () const
 Get DAQ summary slice header. More...
 
const JDAQHeadergetDAQHeader () const
 Get DAQ header. More...
 
void setDAQHeader (const JDAQHeader &header)
 Set DAQ header. More...
 
const JDAQChronometergetDAQChronometer () const
 Get DAQ chronometer. More...
 
void setDAQChronometer (const JDAQChronometer &chronometer)
 Set DAQ chronometer. More...
 
int getDetectorID () const
 Get detector identifier. More...
 
int getRunNumber () const
 Get run number. More...
 
int getFrameIndex () const
 Get frame index. More...
 
JDAQUTCExtended getTimesliceStart () const
 Get start of timeslice. More...
 
void setRunNumber (const int run)
 Set run number. More...
 
void setFrameIndex (const int frame_index)
 Set frame index. More...
 
void setTimesliceStart (const JDAQUTCExtended &timeslice_start)
 Set timeslice start time. More...
 

Static Public Member Functions

static void actionAtFileOpen (int version)
 Action method at file open. More...
 
static int sizeOf ()
 Get size of object. More...
 
static int sizeOf ()
 Get size of object. More...
 

Static Public Attributes

static const int NPE = 1
 Number of photo-electrons corresponding to singles rate. More...
 

Protected Member Functions

void setLength ()
 Set length. More...
 

Protected Attributes

int length
 
int type
 
int detector_id
 
int run
 
int frame_index
 
JDAQUTCExtended timeslice_start
 

Private Attributes

JTOOLS::JRouter< int > router
 

Detailed Description

Router for fast addressing of summary data in JDAQSummaryslice data structure as a function of the optical module identifier.

Note that this class derives from JSUPPORT::JSummaryslice which in turn derives from KM3NETDAQ::JDAQSummaryslice so that the summary data can efficiently be updated (JSummaryRouter::update) and a posteriori corrected (JSummaryslice::correct).

Definition at line 32 of file JSummaryRouter.hh.

Constructor & Destructor Documentation

◆ JSummaryRouter()

JTRIGGER::JSummaryRouter::JSummaryRouter ( )
inline

Default constructor.

Definition at line 39 of file JSummaryRouter.hh.

39  :
40  router(-1) // default address
41  {}

Member Function Documentation

◆ update()

void JTRIGGER::JSummaryRouter::update ( JDAQSummaryslice ps)
inline

Update router.

Parameters
pspointer to new summary slice (will be overwritten)

Definition at line 49 of file JSummaryRouter.hh.

50  {
51  if (ps != NULL) {
52 
53  // reset internal router
54 
55  for (iterator i = this->begin(); i != this->end(); ++i) {
56  router.put(i->getModuleID(), router.getDefaultAddress());
57  }
58 
59  this->setDAQChronometer(ps->getDAQChronometer());
60 
61  this->swap(*ps);
62 
63  // set internal router
64 
65  for (iterator i = this->begin(); i != this->end(); ++i) {
66  router.put(i->getModuleID(), distance(this->begin(), i));
67  }
68  }
69  }

◆ getAddress()

const int JTRIGGER::JSummaryRouter::getAddress ( const JDAQModuleIdentifier module) const
inline

Get address of module.

Parameters
modulemodule
Returns
address

Definition at line 78 of file JSummaryRouter.hh.

79  {
80  return router.get(module.getModuleID());
81  }

◆ getSummaryFrame()

const JDAQSummaryFrame& JTRIGGER::JSummaryRouter::getSummaryFrame ( const JDAQModuleIdentifier module) const
inline

Get summary frame.

Parameters
modulemodule
Returns
summary frame

Definition at line 90 of file JSummaryRouter.hh.

91  {
92  return (*this)[getAddress(module)];
93  }

◆ hasSummaryFrame()

bool JTRIGGER::JSummaryRouter::hasSummaryFrame ( const JDAQModuleIdentifier module) const
inline

Has summary frame.

Parameters
modulemodule
Returns
true if module present; else false

Definition at line 102 of file JSummaryRouter.hh.

103  {
104  return router.has(module.getModuleID());
105  }

◆ correct()

void KM3NETDAQ::JSummaryslice::correct ( const JPMTDefaultSimulatorInterface simulator)
inlineinherited

Correct measured singles rates for the probability that a hit survives the simulation of the PMT.

Parameters
simulatorPMT simulator

Definition at line 121 of file JSummaryslice.hh.

122  {
123  using namespace JPP;
124 
125  for (iterator i = this->begin(); i != this->end(); ++i) {
126 
127  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
128 
129  const JPMTIdentifier id(i->getModuleID(), pmt);
130 
131  const double P = simulator.getPMTSignalProcessor(id).getSurvivalProbability(NPE);
132 
133  if (P > 0.0)
134  (*i)[pmt].div(P);
135  else
136  (*i)[pmt].setValue(0.0);
137  }
138  }
139  }

◆ print()

std::ostream& KM3NETDAQ::JDAQSummaryslice::print ( std::ostream &  out,
const bool  lpr = false 
) const
inlineinherited

Print DAQ summary.

Parameters
outoutput stream
lprlong print
Returns
output stream

Definition at line 125 of file JDAQSummaryslice.hh.

126  {
127  using namespace std;
128 
129  out << this->ClassName() << endl;
130  out << dynamic_cast<const JDAQPreamble&> (*this) << endl;
131  out << dynamic_cast<const JDAQChronometer&>(*this) << endl;
132 
133  for (JDAQSummaryslice::const_iterator module = this->begin(); module != this->end(); ++module) {
134 
135  out << ' ' << setw(10) << module->getModuleID();
136  out << ' ' << setw(8) << setfill('0') << hex << module->getStatus() << dec << setfill(' ');
137  out << '|' << setw(8) << setfill('0') << hex << module->getFIFOStatus() << dec << setfill(' ');
138  out << ' ' << setw(2) << module->getUDPNumberOfReceivedPackets();
139  out << ' ' << setw(2) << module->getUDPMaximalSequenceNumber();
140 
141  if (lpr) {
142  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
143  out << ' ' << fixed << showpoint << setw(4) << setprecision(1) << module->getRate(pmt) * 1.0e-3;
144  }
145  }
146 
147  out << endl;
148  }
149 
150  return out;
151  }

◆ getSize()

virtual int KM3NETDAQ::JDAQSummaryslice::getSize ( ) const
inlinevirtualinherited

Get size of object.

Returns
number of bytes

Reimplemented from KM3NETDAQ::JDAQPreamble.

Definition at line 159 of file JDAQSummaryslice.hh.

160  {
161  int len = 0;
162 
163  len += JDAQPreamble ::sizeOf();
165 
166  len += sizeof(int);
167  len += this->size() * JDAQSummaryFrame::sizeOf();
168 
169  return len;
170  }

◆ actionAtFileOpen()

static void KM3NETDAQ::JDAQSummaryslice::actionAtFileOpen ( int  version)
inlinestaticinherited

Action method at file open.

Parameters
versionversion

Definition at line 178 of file JDAQSummaryslice.hh.

179  {
181  }

◆ ClassDef() [1/5]

KM3NETDAQ::JDAQSummaryslice::ClassDef ( JDAQSummaryslice  ,
 
)
inherited

◆ ClassDef() [2/5]

KM3NETDAQ::JDAQPreamble::ClassDef ( JDAQPreamble  ,
 
)
inherited

◆ ClassDef() [3/5]

KM3NETDAQ::JDAQSummarysliceHeader::ClassDef ( JDAQSummarysliceHeader  ,
 
)
inherited

◆ ClassDef() [4/5]

KM3NETDAQ::JDAQHeader::ClassDef ( JDAQHeader  ,
 
)
inherited

◆ ClassDef() [5/5]

KM3NETDAQ::JDAQChronometer::ClassDef ( JDAQChronometer  ,
 
)
inherited

◆ sizeOf() [1/2]

static int KM3NETDAQ::JDAQPreamble::sizeOf ( )
inlinestaticinherited

Get size of object.

Returns
number of bytes

Definition at line 110 of file JDAQPreamble.hh.

111  {
113  }

◆ sizeOf() [2/2]

static int KM3NETDAQ::JDAQHeader::sizeOf ( )
inlinestaticinherited

Get size of object.

Returns
number of bytes

Definition at line 103 of file JDAQHeader.hh.

104  {
105  return (JDAQChronometer::sizeOf());
106  }

◆ setLength()

void KM3NETDAQ::JDAQPreamble::setLength ( )
inlineprotectedinherited

Set length.

Definition at line 134 of file JDAQPreamble.hh.

135  {
136  length = getSize();
137  }

◆ getLength()

int KM3NETDAQ::JDAQAbstractPreamble::getLength ( ) const
inlineinherited

Get length.

Returns
number of bytes

Definition at line 48 of file JDAQAbstractPreamble.hh.

49  {
50  return length;
51  }

◆ getDataType()

int KM3NETDAQ::JDAQAbstractPreamble::getDataType ( ) const
inlineinherited

Get data type.

Returns
data type

Definition at line 59 of file JDAQAbstractPreamble.hh.

60  {
61  return type;
62  }

◆ ClassDefNV()

KM3NETDAQ::JDAQAbstractPreamble::ClassDefNV ( JDAQAbstractPreamble  ,
 
)
inherited

◆ getDAQSummarysliceHeader()

const JDAQSummarysliceHeader& KM3NETDAQ::JDAQSummarysliceHeader::getDAQSummarysliceHeader ( ) const
inlineinherited

Get DAQ summary slice header.

Returns
DAQ summary slice header

Definition at line 49 of file JDAQSummarysliceHeader.hh.

50  {
51  return static_cast<const JDAQSummarysliceHeader&>(*this);
52  }

◆ getDAQHeader()

const JDAQHeader& KM3NETDAQ::JDAQHeader::getDAQHeader ( ) const
inlineinherited

Get DAQ header.

Returns
DAQ header

Definition at line 51 of file JDAQHeader.hh.

52  {
53  return static_cast<const JDAQHeader&>(*this);
54  }

◆ setDAQHeader()

void KM3NETDAQ::JDAQHeader::setDAQHeader ( const JDAQHeader header)
inlineinherited

Set DAQ header.

Parameters
headerDAQ header

Definition at line 62 of file JDAQHeader.hh.

63  {
64  static_cast<JDAQHeader&>(*this) = header;
65  }

◆ getDAQChronometer()

const JDAQChronometer& KM3NETDAQ::JDAQChronometer::getDAQChronometer ( ) const
inlineinherited

Get DAQ chronometer.

Returns
DAQ chronometer

Definition at line 88 of file JDAQChronometer.hh.

89  {
90  return static_cast<const JDAQChronometer&>(*this);
91  }

◆ setDAQChronometer()

void KM3NETDAQ::JDAQChronometer::setDAQChronometer ( const JDAQChronometer chronometer)
inlineinherited

Set DAQ chronometer.

Parameters
chronometerDAQ chronometer

Definition at line 99 of file JDAQChronometer.hh.

100  {
101  static_cast<JDAQChronometer&>(*this) = chronometer;
102  }

◆ getDetectorID()

int KM3NETDAQ::JDAQChronometer::getDetectorID ( ) const
inlineinherited

Get detector identifier.

Returns
detector identifier

Definition at line 110 of file JDAQChronometer.hh.

111  {
112  return detector_id;
113  }

◆ getRunNumber()

int KM3NETDAQ::JDAQChronometer::getRunNumber ( ) const
inlineinherited

Get run number.

Returns
run number

Definition at line 121 of file JDAQChronometer.hh.

122  {
123  return run;
124  }

◆ getFrameIndex()

int KM3NETDAQ::JDAQChronometer::getFrameIndex ( ) const
inlineinherited

Get frame index.

Returns
frame index

Definition at line 132 of file JDAQChronometer.hh.

133  {
134  return frame_index;
135  }

◆ getTimesliceStart()

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::getTimesliceStart ( ) const
inlineinherited

Get start of timeslice.

Returns
timeslice start

Definition at line 144 of file JDAQChronometer.hh.

145  {
146  return timeslice_start;
147  }

◆ setRunNumber()

void KM3NETDAQ::JDAQChronometer::setRunNumber ( const int  run)
inlineinherited

Set run number.

Parameters
runrun number

Definition at line 155 of file JDAQChronometer.hh.

156  {
157  this->run = run;
158  }

◆ setFrameIndex()

void KM3NETDAQ::JDAQChronometer::setFrameIndex ( const int  frame_index)
inlineinherited

Set frame index.

Parameters
frame_indexframe index

Definition at line 166 of file JDAQChronometer.hh.

167  {
168  this->frame_index = frame_index;
169  }

◆ setTimesliceStart()

void KM3NETDAQ::JDAQChronometer::setTimesliceStart ( const JDAQUTCExtended timeslice_start)
inlineinherited

Set timeslice start time.

Parameters
timeslice_starttimeslice start time

Definition at line 177 of file JDAQChronometer.hh.

178  {
180  }

Member Data Documentation

◆ router

JTOOLS::JRouter<int> JTRIGGER::JSummaryRouter::router
private

Definition at line 109 of file JSummaryRouter.hh.

◆ NPE

const int KM3NETDAQ::JSummaryslice::NPE = 1
staticinherited

Number of photo-electrons corresponding to singles rate.

Definition at line 141 of file JSummaryslice.hh.

◆ length

int KM3NETDAQ::JDAQAbstractPreamble::length
protectedinherited

Definition at line 79 of file JDAQAbstractPreamble.hh.

◆ type

int KM3NETDAQ::JDAQAbstractPreamble::type
protectedinherited

Definition at line 80 of file JDAQAbstractPreamble.hh.

◆ detector_id

int KM3NETDAQ::JDAQChronometer::detector_id
protectedinherited

Definition at line 237 of file JDAQChronometer.hh.

◆ run

int KM3NETDAQ::JDAQChronometer::run
protectedinherited

Definition at line 238 of file JDAQChronometer.hh.

◆ frame_index

int KM3NETDAQ::JDAQChronometer::frame_index
protectedinherited

Definition at line 239 of file JDAQChronometer.hh.

◆ timeslice_start

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::timeslice_start
protectedinherited

Definition at line 240 of file JDAQChronometer.hh.


The documentation for this class was generated from the following file:
KM3NETDAQ::JDAQChronometer::setDAQChronometer
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
Definition: JDAQChronometer.hh:99
KM3NETDAQ::JDAQAbstractPreamble::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQAbstractPreamble.hh:70
KM3NETDAQ::JSummaryslice::NPE
static const int NPE
Number of photo-electrons corresponding to singles rate.
Definition: JSummaryslice.hh:141
KM3NETDAQ::JDAQChronometer::timeslice_start
JDAQUTCExtended timeslice_start
Definition: JDAQChronometer.hh:240
KM3NETDAQ::JDAQAbstractPreamble::length
int length
Definition: JDAQAbstractPreamble.hh:79
KM3NETDAQ::NUMBER_OF_PMTS
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
distance
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Definition: PhysicsEvent.hh:434
KM3NETDAQ::JDAQPreamble::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQPreamble.hh:110
KM3NETDAQ::JDAQSummaryFrame::ROOT_IO_VERSION
static int ROOT_IO_VERSION
Streamer version of JDAQSummaryslice as obtained from ROOT file.
Definition: JDAQSummaryFrame.hh:533
JTRIGGER::JSummaryRouter::router
JTOOLS::JRouter< int > router
Definition: JSummaryRouter.hh:109
JPP
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JAAnetToolkit.hh:37
KM3NETDAQ::JDAQPreamble::getSize
virtual int getSize() const
Get size of object.
Definition: JDAQPreamble.hh:121
JTRIGGER::JSummaryRouter::getAddress
const int getAddress(const JDAQModuleIdentifier &module) const
Get address of module.
Definition: JSummaryRouter.hh:78
KM3NETDAQ::JDAQChronometer::frame_index
int frame_index
Definition: JDAQChronometer.hh:239
KM3NETDAQ::JDAQHeader::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQHeader.hh:103
KM3NETDAQ::JDAQSummaryFrame::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQSummaryFrame.hh:525
std
Definition: jaanetDictionary.h:36
KM3NETDAQ::JDAQChronometer::run
int run
Definition: JDAQChronometer.hh:238
KM3NETDAQ::JDAQAbstractPreamble::type
int type
Definition: JDAQAbstractPreamble.hh:80
KM3NETDAQ::JDAQChronometer::sizeOf
static int sizeOf()
Get size of object.
Definition: JDAQChronometer.hh:224
KM3NETDAQ::JDAQChronometer::detector_id
int detector_id
Definition: JDAQChronometer.hh:237