Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JCLBSimulator.hh
Go to the documentation of this file.
1#ifndef __JDETECTOR__JCLBSIMULATOR__
2#define __JDETECTOR__JCLBSIMULATOR__
3
5
9
10
11/**
12 * \author mdejong
13 */
14
15namespace JDETECTOR {}
16namespace JPP { using namespace JDETECTOR; }
17
18namespace JDETECTOR {
19
20
22
23
24 /**
25 * Type definition of PMT base output.
26 */
28
29
30 /**
31 * Wrapper for CLB input.
32 */
33 struct JCLBInput :
34 public std::vector<JPMTOutput>
35 {
36 /**
37 * Reset CLB buffers.
38 *
39 * \param size number of buffers
40 */
41 inline void reset(size_t size)
42 {
43 this->resize(size);
44
45 for (iterator i = this->begin(); i != this->end(); ++i) {
46 i->clear();
47 }
48 }
49 };
50
51
52 /**
53 * Interface for CLB simulation.
54 *
55 * This interface defines the conversion of simulated data to the standard %KM3NeT data format.\n
56 * The input consists of a 2D-array of JPMTPulse's organised per PMT channel and
57 * the output of a KM3NETDAQ::JDAQSuperFrame data structure in which data from different PMTs are mixed.
58 */
60 {
61 protected:
62 /**
63 * Default constructor.
64 */
67
68
69 public:
70 /**
71 * Virtual destructor.
72 */
74 {}
75
76
77 /**
78 * Process data.
79 *
80 * \param id module identifier
81 * \param input PMT data
82 * \param output CLB data
83 */
84 virtual void processData(const JModuleIdentifier& id, const JCLBInput& input, JDAQSuperFrame& output) const = 0;
85 };
86}
87
88#endif
Interface for CLB simulation.
virtual ~JCLBSimulator()
Virtual destructor.
JCLBSimulator()
Default constructor.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const =0
Process data.
Template data structure for PMT I/O.
Auxiliary class for object identification.
Definition JObjectID.hh:25
Data frame of one optical module.
file Auxiliary data structures and methods for detector calibration.
Definition JAnchor.hh:12
JPMTData< JPMTPulse > JPMTOutput
Type definition of PMT base output.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Wrapper for CLB input.
void reset(size_t size)
Reset CLB buffers.