Jpp 20.0.0-27-g39925593c-D
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 * Type definition of CLB input.
32 */
34
35
36 /**
37 * Interface for CLB simulation.
38 *
39 * This interface defines the conversion of simulated data to the standard %KM3NeT data format.\n
40 * The input consists of a 2D-array of JPMTPulse's organised per PMT channel and
41 * the output of a KM3NETDAQ::JDAQSuperFrame data structure in which data from different PMTs are mixed.
42 */
44 {
45 protected:
46 /**
47 * Default constructor.
48 */
51
52
53 public:
54 /**
55 * Virtual destructor.
56 */
58 {}
59
60
61 /**
62 * Check if CLB exist.
63 *
64 * \param id module identifier
65 * \return true
66 */
67 virtual bool hasCLB(const JModuleIdentifier& id) const
68 {
69 return true;
70 }
71
72
73 /**
74 * Process data.
75 *
76 * \param id module identifier
77 * \param input PMT data
78 * \param output CLB data
79 */
80 virtual void processData(const JModuleIdentifier& id, const JCLBInput& input, JDAQSuperFrame& output) const = 0;
81 };
82}
83
84#endif
Interface for CLB simulation.
virtual bool hasCLB(const JModuleIdentifier &id) const
Check if CLB exist.
virtual ~JCLBSimulator()
Virtual destructor.
JCLBSimulator()
Default constructor.
virtual void processData(const JModuleIdentifier &id, const JCLBInput &input, JDAQSuperFrame &output) const =0
Process data.
Auxiliary class for object identification.
Definition JObjectID.hh:25
Template definition of a multi-dimensional oscillation probability interpolation table.
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.
std::vector< JPMTOutput > JCLBInput
Type definition of CLB input.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).