17 #ifndef FALAISE_SNEMO_PROCESSING_GEIGER_REGIME_H 18 #define FALAISE_SNEMO_PROCESSING_GEIGER_REGIME_H 1 40 namespace processing {
118 double base_t_2_r(
double time_,
int mode_ = 0)
const;
121 double get_sigma_z(
double z_,
size_t missing_cathodes_ = 0)
const;
128 double& sigma_drift_radius_)
const;
131 virtual void tree_dump(std::ostream& a_out = std::clog,
const std::string& a_title =
"",
132 const std::string& a_indent =
"",
bool a_inherit =
false)
const;
137 double _cell_diameter_;
138 double _cell_length_;
139 double _sigma_anode_time_;
140 double _sigma_cathode_time_;
142 double _sigma_z_missing_cathode_;
149 double _base_anode_efficiency_;
150 double _base_cathode_efficiency_;
151 double _plasma_longitudinal_speed_;
152 double _sigma_plasma_longitudinal_speed_;
164 void _init_defaults_();
180 #endif // FALAISE_SNEMO_PROCESSING_GEIGER_REGIME_H double get_cell_diameter() const
Return the diameter of the cell.
double get_tcut() const
Return the maximum drift time to be calibrated.
double get_plasma_longitudinal_speed() const
Return the plasma longitudinal speed.
double randomize_z(mygsl::rng &ran_, double z_, double sigma_z_) const
Randomize the longitudinal position of a Geiger hit.
double get_sigma_r(double r_) const
Return the error on the drift distance.
mygsl::tabulated_function & grab_base_rt()
Return the tabulated radius/time calibration function.
double get_r0() const
Radius of a cell.
Modelling of the Geiger regime of the SuperNEMO drift cell.
Definition: geiger_regime.h:43
double randomize_r(mygsl::rng &ran_, double r_) const
Randomize the drift position of a Geiger hit.
double get_anode_efficiency(double r_) const
Return the anode efficiency.
double get_sigma_anode_time(double anode_time_) const
Return the error on anode drift time.
bool is_initialized() const
Check initialization flag.
double base_t_2_r(double time_, int mode_=0) const
Compute the drift radius from the drift time.
DOCD_CLASS_DECLARATION(my::algo)
virtual void tree_dump(std::ostream &a_out=std::clog, const std::string &a_title="", const std::string &a_indent="", bool a_inherit=false) const
Smart print.
double get_cathode_efficiency() const
Return the cathode efficiency.
virtual ~geiger_regime()
Destructor.
Definition: calo_tapered_scin_box_model.h:54
double get_cell_radius() const
Return the radius of the cell.
double get_t0() const
Return the reference time.
void calibrate_drift_radius_from_drift_time(double drift_time_, double &drift_radius_, double &sigma_drift_radius_) const
Calibrate the drift radius from the drift time.
double randomize_drift_time_from_drift_distance(mygsl::rng &ran_, double drift_distance_) const
Randomize the drift time from the drift distance of a Geiger hit.
double get_rdiag() const
Maximum sensitive distance from the anode wire.
geiger_regime()
Default constructor.
double get_base_cathode_efficiency() const
Return the base cathode efficiency.
double get_sigma_plasma_longitudinal_speed() const
Return the error on the plasma longitudinal speed.
void initialize(const datatools::properties &config_)
Initialization from parameters.
double get_base_anode_efficiency() const
Return the base anode efficiency.
double get_sigma_z(double z_, size_t missing_cathodes_=0) const
Return the error on longitudinal position.
double get_cell_length() const
Return the length of the cell.
double get_sigma_cathode_time() const
Return the error on cathode drift time.