Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
JSUPPORT::JSummaryslice Struct Reference

Auxiliary class to create summary data. More...

#include <JSummarysliceSupportkit.hh>

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

Public Member Functions

 JSummaryslice ()
 Default constructor. More...
 
 JSummaryslice (const JDAQChronometer &chronometer, JObjectIterator< JDAQSummaryslice > &input, const JDetector &detector)
 Constructor. More...
 
 JSummaryslice (const JDAQChronometer &chronometer, const JDetectorSimulator &simbad)
 Constructor. 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...
 
const 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
 

Detailed Description

Auxiliary class to create summary data.

Definition at line 39 of file JSummarysliceSupportkit.hh.

Constructor & Destructor Documentation

JSUPPORT::JSummaryslice::JSummaryslice ( )
inline

Default constructor.

Definition at line 45 of file JSummarysliceSupportkit.hh.

46  {}
JSUPPORT::JSummaryslice::JSummaryslice ( const JDAQChronometer chronometer,
JObjectIterator< JDAQSummaryslice > &  input,
const JDetector detector 
)
inline

Constructor.

This constructor blends multiple KM3NETDAQ::JDAQSummaryslice's from an incomplete detector to a single KM3NETDAQ::JDAQSummaryslice for a complete detector.

Parameters
chronometerDAQ chronometer
inputsummary data
detectordetector

Definition at line 59 of file JSummarysliceSupportkit.hh.

61  :
62  JDAQSummaryslice(chronometer)
63  {
64  for (JDetector::const_iterator module = detector.begin(); module != detector.end() && input.hasNext(); ) {
65 
66  const JDAQSummaryslice* summary = input.next();
67 
68  for (const_iterator i = summary->begin(); i != summary->end() && module != detector.end(); ++i, ++module) {
69 
70  push_back(*i);
71 
72  rbegin()->setModuleIdentifier(module->getID());
73  }
74  }
75  }
JDAQSummaryslice()
Default constructor.
virtual const pointer_type & next()=0
Get next element.
virtual bool hasNext()=0
Check availability of next element.
JSUPPORT::JSummaryslice::JSummaryslice ( const JDAQChronometer chronometer,
const JDetectorSimulator simbad 
)
inline

Constructor.

This constructor directly creates a KM3NETDAQ::JDAQSummaryslice for a given detector simulation (i.e. without the need to create first a KM3NETDAQ::JDAQTimeslice).

Parameters
chronometerchronometer
simbaddetector simulator

Definition at line 87 of file JSummarysliceSupportkit.hh.

88  :
90  {
91  using namespace JDETECTOR;
92  using namespace KM3NETDAQ;
93 
94  setDAQChronometer(chronometer);
95 
96  try {
97 
98  const JPMTDefaultSimulatorInterface& pmtSimulator = dynamic_cast<const JPMTDefaultSimulatorInterface&>(simbad.getPMTSimulator());
99  const JK40DefaultSimulatorInterface& k40Simulator = dynamic_cast<const JK40DefaultSimulatorInterface&>(simbad.getK40Simulator());
100 
101  for (JDetector::const_iterator module = simbad->begin(); module != simbad->end(); ++module) {
102 
103  push_back(JDAQSummaryFrame(module->getID()));
104 
105  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
106 
107  const JPMTIdentifier id(module->getID(), pmt);
108 
109  bool status = pmtSimulator.getPMTstatus(id);
110  double rate_Hz = k40Simulator.getSinglesRate(id);
111 
112  rate_Hz *= pmtSimulator.getPMTSignalProcessor(id).getSurvivalProbability(NPE);
113 
114  this->rbegin()->setHighRateVeto(pmt, !status);
115  this->rbegin()->setRate (pmt, rate_Hz);
116  }
117  }
118  }
119  catch(const std::exception& error) {};
120  }
JDAQSummaryslice()
Default constructor.
virtual bool getPMTstatus(const JPMTIdentifier &id) const
Get PMT status.
const JPMTSimulator & getPMTSimulator() const
Get PMT simulator.
virtual double getSurvivalProbability(const int NPE) const
Probability that a hit survives the simulation of the PMT.
static const int NPE
number of photo-electrons corresponding to singles rate
virtual const JPMTSignalProcessorInterface & getPMTSignalProcessor(const JPMTIdentifier &pmt) const
Get PMT signal processor.
Data storage class for rate measurements of all PMTs in one module.
virtual double getSinglesRate(const JPMTIdentifier &pmt) const =0
Get singles rate as a function of PMT.
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
const JK40Simulator & getK40Simulator() const
Get K40 simulator.

Member Function Documentation

void JSUPPORT::JSummaryslice::correct ( const JPMTDefaultSimulatorInterface simulator)
inline

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

Parameters
simulatorPMT simulator

Definition at line 128 of file JSummarysliceSupportkit.hh.

129  {
130  using namespace JDETECTOR;
131  using namespace KM3NETDAQ;
132 
133  for (iterator i = this->begin(); i != this->end(); ++i) {
134 
135  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
136 
137  const JPMTIdentifier id(i->getModuleID(), pmt);
138 
139  const double P = simulator.getPMTSignalProcessor(id).getSurvivalProbability(NPE);
140 
141  if (P > 0.0)
142  (*i)[pmt].div(P);
143  else
144  (*i)[pmt].setValue(0.0);
145  }
146  }
147  }
virtual double getSurvivalProbability(const int NPE) const
Probability that a hit survives the simulation of the PMT.
static const int NPE
number of photo-electrons corresponding to singles rate
virtual const JPMTSignalProcessorInterface & getPMTSignalProcessor(const JPMTIdentifier &pmt) const
Get PMT signal processor.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
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(5) << module->getModuleID();
136  out << ' ' << setw(8) << hex << module->getStatus() << dec;
137  out << ' ' << setw(2) << module->getUDPNumberOfReceivedPackets();
138  out << ' ' << setw(2) << module->getUDPMaximalSequenceNumber();
139 
140  if (lpr) {
141  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
142  out << ' ' << fixed << showpoint << setw(4) << setprecision(1) << module->getRate(pmt) * 1.0e-3;
143  }
144  }
145 
146  out << endl;
147  }
148 
149  return out;
150  }
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
virtual int KM3NETDAQ::JDAQSummaryslice::getSize ( ) const
inlinevirtualinherited

Get size of object.

Returns
number of bytes

Reimplemented from KM3NETDAQ::JDAQPreamble.

Definition at line 158 of file JDAQSummaryslice.hh.

159  {
160  int len = 0;
161 
162  len += JDAQPreamble ::sizeOf();
164 
165  len += sizeof(int);
166  len += this->size() * JDAQSummaryFrame::sizeOf();
167 
168  return len;
169  }
static int sizeOf()
Get size of object.
static int sizeOf()
Get size of object.
Definition: JDAQHeader.hh:103
static int sizeOf()
Get size of object.
static void KM3NETDAQ::JDAQSummaryslice::actionAtFileOpen ( int  version)
inlinestaticinherited

Action method at file open.

Parameters
versionversion

Definition at line 177 of file JDAQSummaryslice.hh.

178  {
180  }
static int ROOT_IO_VERSION
Streamer version of JDAQSummaryslice as obtained from ROOT file.
KM3NETDAQ::JDAQSummaryslice::ClassDef ( JDAQSummaryslice  ,
 
)
inherited
KM3NETDAQ::JDAQPreamble::ClassDef ( JDAQPreamble  ,
 
)
inherited
KM3NETDAQ::JDAQSummarysliceHeader::ClassDef ( JDAQSummarysliceHeader  ,
 
)
inherited
KM3NETDAQ::JDAQHeader::ClassDef ( JDAQHeader  ,
 
)
inherited
KM3NETDAQ::JDAQChronometer::ClassDef ( JDAQChronometer  ,
 
)
inherited
static int KM3NETDAQ::JDAQPreamble::sizeOf ( )
inlinestaticinherited

Get size of object.

Returns
number of bytes

Definition at line 110 of file JDAQPreamble.hh.

111  {
113  }
static int sizeOf()
Get size of object.
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  }
static int sizeOf()
Get size of object.
void KM3NETDAQ::JDAQPreamble::setLength ( )
inlineprotectedinherited

Set length.

Definition at line 134 of file JDAQPreamble.hh.

135  {
136  length = getSize();
137  }
virtual int getSize() const
Get size of object.
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  }
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  }
KM3NETDAQ::JDAQAbstractPreamble::ClassDefNV ( JDAQAbstractPreamble  ,
 
)
inherited
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  }
JDAQSummarysliceHeader()
Default constructor.
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  }
JDAQHeader()
Default constructor.
Definition: JDAQHeader.hh:31
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  }
JDAQHeader()
Default constructor.
Definition: JDAQHeader.hh:31
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  }
JDAQChronometer()
Default constructor.
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  }
JDAQChronometer()
Default constructor.
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  }
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  }
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  }
const 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  }
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  }
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  }
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

const int JSUPPORT::JSummaryslice::NPE = 1
static

number of photo-electrons corresponding to singles rate

Definition at line 149 of file JSummarysliceSupportkit.hh.

int KM3NETDAQ::JDAQAbstractPreamble::length
protectedinherited

Definition at line 79 of file JDAQAbstractPreamble.hh.

int KM3NETDAQ::JDAQAbstractPreamble::type
protectedinherited

Definition at line 80 of file JDAQAbstractPreamble.hh.

int KM3NETDAQ::JDAQChronometer::detector_id
protectedinherited

Definition at line 237 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::run
protectedinherited

Definition at line 238 of file JDAQChronometer.hh.

int KM3NETDAQ::JDAQChronometer::frame_index
protectedinherited

Definition at line 239 of file JDAQChronometer.hh.

JDAQUTCExtended KM3NETDAQ::JDAQChronometer::timeslice_start
protectedinherited

Definition at line 240 of file JDAQChronometer.hh.


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