Falaise  4.0.1
SuperNEMO Software Toolkit
mock_raw_tracker_hit.h
Go to the documentation of this file.
1 // -*- mode: c++ ; -*-
2 /// \file falaise/snemo/datamodels/mock_raw_tracker_hit.h
3 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
4  * Creation date: 2010-03-15
5  * Last modified: 2014-01-30
6  *
7  *
8  * License:
9  *
10  * Description:
11  *
12  * Raw tracker hit
13  *
14  * History:
15  * - was the 'snemo::core::model::raw_tracker_hit' class in legacy Falaise
16  */
17 
18 #ifndef FALAISE_SNEMO_DATAMODEL_MOCK_RAW_TRACKER_HIT_H
19 #define FALAISE_SNEMO_DATAMODEL_MOCK_RAW_TRACKER_HIT_H 1
20 
21 // Third party:
22 // - Bayeux/geomtools:
23 #include <geomtools/base_hit.h>
24 
25 namespace snemo {
26 
27 namespace datamodel {
28 
29 /// \brief A mock class to represent SuperNEMO raw tracker hit
31  public:
32  static const double INVALID_VALUE;
33  static const std::string NOISY_FLAG;
34 
35  enum store_mask_type { STORE_REF_TIME = 0x8, STORE_TIMES = 0x10 };
36 
37  bool is_ref_time_missing() const;
38 
39  bool is_drift_time_missing() const;
40 
41  bool is_top_time_missing() const;
42 
43  bool is_bottom_time_missing() const;
44 
45  double get_ref_time() const;
46 
47  void set_ref_time(double);
48 
49  double get_sigma_ref_time() const;
50 
51  void set_sigma_ref_time(double);
52 
53  double get_drift_time() const;
54 
55  void set_drift_time(double);
56 
57  double get_sigma_drift_time() const;
58 
59  void set_sigma_drift_time(double);
60 
61  double get_top_time() const;
62 
63  void set_top_time(double);
64 
65  double get_sigma_top_time() const;
66 
67  void set_sigma_top_time(double);
68 
69  double get_bottom_time() const;
70 
71  void set_bottom_time(double);
72 
73  double get_sigma_bottom_time() const;
74 
75  void set_sigma_bottom_time(double);
76 
77  void invalidate_ref_time();
78 
79  void invalidate_times();
80 
81  /// Default constructor
83 
84  /// Destructor
85  virtual ~mock_raw_tracker_hit();
86 
87  /// Check if the hit is valid
88  bool is_valid() const;
89 
90  /// Invalidate the hit
91  void invalidate();
92 
93  /// Clear all attributes
94  virtual void clear();
95 
96  /// Smart print
97  virtual void tree_dump(std::ostream& out_ = std::clog, const std::string& title_ = "",
98  const std::string& indent_ = "", bool inherit_ = false) const;
99 
100  void dump() const;
101 
102  private:
103  double _ref_time_; //!< Relative time of the hit in relation to the absolute timestamp of the
104  //!< current event
105  double _sigma_ref_time_; //!< Relative time error
106 
107  // Geiger regime anode/cathodes drift times:
108  double _drift_time_; //!< Anode drift time
109  double _sigma_drift_time_; //!< Anode drift time error
110  double _top_time_; //!< Top cathode signal drift time
111  double _sigma_top_time_; //!< Top cathode signal drift time error
112  double _bottom_time_; //!< Bottom cathode signal drift time
113  double _sigma_bottom_time_; //!< Bottom cathode signal drift time error
114 
115  // DATATOOLS_SERIALIZATION_DECLARATION();
116 };
117 
118 } // end of namespace datamodel
119 
120 } // end of namespace snemo
121 
122 //#include <boost/serialization/export.hpp>
123 // BOOST_CLASS_EXPORT_KEY2(snemo::datamodel::mock_raw_tracker_hit,
124 // "snemo::datamodel::mock_raw_tracker_hit")
125 
126 #endif // FALAISE_SNEMO_DATAMODEL_MOCK_RAW_TRACKER_HIT_H
static const std::string NOISY_FLAG
Definition: mock_raw_tracker_hit.h:33
static const double INVALID_VALUE
Definition: mock_raw_tracker_hit.h:32
mock_raw_tracker_hit()
Default constructor.
A mock class to represent SuperNEMO raw tracker hit.
Definition: mock_raw_tracker_hit.h:30
virtual void clear()
Clear all attributes.
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
Definition: mock_raw_tracker_hit.h:35
void invalidate()
Invalidate the hit.
Definition: calo_tapered_scin_box_model.h:54
virtual ~mock_raw_tracker_hit()
Destructor.
bool is_valid() const
Check if the hit is valid.
Definition: mock_raw_tracker_hit.h:35