Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JPMTReadoutAddress.hh
Go to the documentation of this file.
1 #ifndef __JDETECTOR__JPMTREADOUTADDRESS__
2 #define __JDETECTOR__JPMTREADOUTADDRESS__
3 
4 #include <istream>
5 #include <ostream>
6 
7 #include "JLang/JComparable.hh"
8 #include "JIO/JSerialisable.hh"
9 
10 
11 /**
12  * \author mdejong
13  */
14 
15 namespace JDETECTOR {}
16 namespace JPP { using namespace JDETECTOR; }
17 
18 namespace JDETECTOR {
19 
20  using JLANG::JComparable;
21  using JIO::JReader;
22  using JIO::JWriter;
23 
24 
25  /**
26  * Data structure for PMT readout address.
27  */
29  public JComparable<JPMTReadoutAddress>
30  {
31  public:
32  /**
33  * Default constructor.
34  */
36  {
37  this->tdc = -1;
38  }
39 
40 
41  /**
42  * Constructor.
43  *
44  * \param tdc TDC
45  */
47  {
48  this->tdc = tdc;
49  }
50 
51 
52  /**
53  * Less than method.
54  *
55  * \param address PMT readout address
56  * \result true if this address before given address; else false
57  */
58  inline bool less(const JPMTReadoutAddress& address) const
59  {
60  return this->tdc < address.tdc;
61  }
62 
63 
64  /**
65  * Get TDC.
66  *
67  * \return TDC
68  */
69  int getTDC() const
70  {
71  return tdc;
72  }
73 
74 
75  /**
76  * Read PMT readout address from input.
77  *
78  * \param in input stream
79  * \param object PMT readout address
80  * \return input stream
81  */
82  friend inline std::istream& operator>>(std::istream& in, JPMTReadoutAddress& object)
83  {
84  return in >> object.tdc;
85  }
86 
87 
88  /**
89  * Write PMT readout address to output.
90  *
91  * \param out output stream
92  * \param object PMT readout address
93  * \return output stream
94  */
95  friend inline std::ostream& operator<<(std::ostream& out, const JPMTReadoutAddress& object)
96  {
97  return out << object.tdc;
98  }
99 
100 
101  /**
102  * Read PMT readout address from input.
103  *
104  * \param in reader
105  * \param object PMT readout address
106  * \return reader
107  */
108  friend inline JReader& operator>>(JReader& in, JPMTReadoutAddress& object)
109  {
110  return in >> object.tdc;
111  }
112 
113 
114  /**
115  * Write PMT readout address to output.
116  *
117  * \param out writer
118  * \param object PMT readout address
119  * \return writer
120  */
121  friend inline JWriter& operator<<(JWriter& out, const JPMTReadoutAddress& object)
122  {
123  return out << object.tdc;
124  }
125 
126 
127  int tdc; //!< TDC channel
128  };
129 }
130 
131 #endif
Interface for binary output.
friend JWriter & operator<<(JWriter &out, const JPMTReadoutAddress &object)
Write PMT readout address to output.
bool less(const JPMTReadoutAddress &address) const
Less than method.
JPMTReadoutAddress(const int tdc)
Constructor.
friend JReader & operator>>(JReader &in, JPMTReadoutAddress &object)
Read PMT readout address from input.
Interface for binary input.
Template definition of auxiliary base class for comparison of data structures.
Definition: JComparable.hh:24
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
Definition: JCanberra.sh:48
Data structure for PMT readout address.
friend std::ostream & operator<<(std::ostream &out, const JPMTReadoutAddress &object)
Write PMT readout address to output.
JPMTReadoutAddress()
Default constructor.
friend std::istream & operator>>(std::istream &in, JPMTReadoutAddress &object)
Read PMT readout address from input.