Falaise  4.0.1
SuperNEMO Software Toolkit
Public Member Functions | List of all members
snemo::processing::geiger_regime Class Reference

Modelling of the Geiger regime of the SuperNEMO drift cell. More...

#include <falaise/snemo/processing/geiger_regime.h>

Inheritance diagram for snemo::processing::geiger_regime:
datatools::i_tree_dumpable

Public Member Functions

double get_cell_diameter () const
 Return the diameter of the cell. More...
 
double get_cell_radius () const
 Return the radius of the cell. More...
 
double get_cell_length () const
 Return the length of the cell. More...
 
double get_sigma_anode_time (double anode_time_) const
 Return the error on anode drift time. More...
 
double get_sigma_cathode_time () const
 Return the error on cathode drift time. More...
 
double get_t0 () const
 Return the reference time. More...
 
double get_tcut () const
 Return the maximum drift time to be calibrated. More...
 
double get_r0 () const
 Radius of a cell. More...
 
double get_rdiag () const
 Maximum sensitive distance from the anode wire. More...
 
double get_base_anode_efficiency () const
 Return the base anode efficiency. More...
 
double get_base_cathode_efficiency () const
 Return the base cathode efficiency. More...
 
double get_anode_efficiency (double r_) const
 Return the anode efficiency. More...
 
double get_cathode_efficiency () const
 Return the cathode efficiency. More...
 
double get_plasma_longitudinal_speed () const
 Return the plasma longitudinal speed. More...
 
double get_sigma_plasma_longitudinal_speed () const
 Return the error on the plasma longitudinal speed. More...
 
mygsl::tabulated_functiongrab_base_rt ()
 Return the tabulated radius/time calibration function. More...
 
bool is_initialized () const
 Check initialization flag. More...
 
 geiger_regime ()
 Default constructor. More...
 
virtual ~geiger_regime ()
 Destructor. More...
 
void initialize (const datatools::properties &config_)
 Initialization from parameters. More...
 
void reset ()
 Reset. More...
 
double randomize_z (mygsl::rng &ran_, double z_, double sigma_z_) const
 Randomize the longitudinal position of a Geiger hit. More...
 
double randomize_r (mygsl::rng &ran_, double r_) const
 Randomize the drift position of a Geiger hit. More...
 
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. More...
 
double base_t_2_r (double time_, int mode_=0) const
 Compute the drift radius from the drift time. More...
 
double get_sigma_z (double z_, size_t missing_cathodes_=0) const
 Return the error on longitudinal position. More...
 
double get_sigma_r (double r_) const
 Return the error on the drift distance. More...
 
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. More...
 
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. More...
 
- Public Member Functions inherited from datatools::i_tree_dumpable
 i_tree_dumpable ()
 
virtual ~i_tree_dumpable ()
 
virtual void print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const
 
void print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const
 
void print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const
 
void tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const
 
void tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const
 
void smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const
 

Additional Inherited Members

- Public Types inherited from datatools::i_tree_dumpable
enum  ostream_type
 
- Static Public Member Functions inherited from datatools::i_tree_dumpable
static const boost::property_tree::ptree & empty_options ()
 
static boost::property_tree::ptree make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false)
 
static std::ostream & last_skip_tag (std::ostream &out_)
 
static std::ostream & skip_tag (std::ostream &out_)
 
static std::ostream & last_tag (std::ostream &out_)
 
static std::ostream & tag (std::ostream &out_)
 
- Public Attributes inherited from datatools::i_tree_dumpable
 OSTREAM_COUT
 
 OSTREAM_CERR
 
 OSTREAM_CLOG
 

Detailed Description

Modelling of the Geiger regime of the SuperNEMO drift cell.

Constructor & Destructor Documentation

◆ geiger_regime()

snemo::processing::geiger_regime::geiger_regime ( )

Default constructor.

◆ ~geiger_regime()

virtual snemo::processing::geiger_regime::~geiger_regime ( )
virtual

Destructor.

Member Function Documentation

◆ base_t_2_r()

double snemo::processing::geiger_regime::base_t_2_r ( double  time_,
int  mode_ = 0 
) const

Compute the drift radius from the drift time.

◆ calibrate_drift_radius_from_drift_time()

void snemo::processing::geiger_regime::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.

◆ get_anode_efficiency()

double snemo::processing::geiger_regime::get_anode_efficiency ( double  r_) const

Return the anode efficiency.

◆ get_base_anode_efficiency()

double snemo::processing::geiger_regime::get_base_anode_efficiency ( ) const

Return the base anode efficiency.

◆ get_base_cathode_efficiency()

double snemo::processing::geiger_regime::get_base_cathode_efficiency ( ) const

Return the base cathode efficiency.

◆ get_cathode_efficiency()

double snemo::processing::geiger_regime::get_cathode_efficiency ( ) const

Return the cathode efficiency.

◆ get_cell_diameter()

double snemo::processing::geiger_regime::get_cell_diameter ( ) const

Return the diameter of the cell.

◆ get_cell_length()

double snemo::processing::geiger_regime::get_cell_length ( ) const

Return the length of the cell.

◆ get_cell_radius()

double snemo::processing::geiger_regime::get_cell_radius ( ) const

Return the radius of the cell.

◆ get_plasma_longitudinal_speed()

double snemo::processing::geiger_regime::get_plasma_longitudinal_speed ( ) const

Return the plasma longitudinal speed.

◆ get_r0()

double snemo::processing::geiger_regime::get_r0 ( ) const

Radius of a cell.

◆ get_rdiag()

double snemo::processing::geiger_regime::get_rdiag ( ) const

Maximum sensitive distance from the anode wire.

◆ get_sigma_anode_time()

double snemo::processing::geiger_regime::get_sigma_anode_time ( double  anode_time_) const

Return the error on anode drift time.

◆ get_sigma_cathode_time()

double snemo::processing::geiger_regime::get_sigma_cathode_time ( ) const

Return the error on cathode drift time.

◆ get_sigma_plasma_longitudinal_speed()

double snemo::processing::geiger_regime::get_sigma_plasma_longitudinal_speed ( ) const

Return the error on the plasma longitudinal speed.

◆ get_sigma_r()

double snemo::processing::geiger_regime::get_sigma_r ( double  r_) const

Return the error on the drift distance.

◆ get_sigma_z()

double snemo::processing::geiger_regime::get_sigma_z ( double  z_,
size_t  missing_cathodes_ = 0 
) const

Return the error on longitudinal position.

◆ get_t0()

double snemo::processing::geiger_regime::get_t0 ( ) const

Return the reference time.

◆ get_tcut()

double snemo::processing::geiger_regime::get_tcut ( ) const

Return the maximum drift time to be calibrated.

◆ grab_base_rt()

mygsl::tabulated_function& snemo::processing::geiger_regime::grab_base_rt ( )

Return the tabulated radius/time calibration function.

◆ initialize()

void snemo::processing::geiger_regime::initialize ( const datatools::properties config_)

Initialization from parameters.

◆ is_initialized()

bool snemo::processing::geiger_regime::is_initialized ( ) const

Check initialization flag.

◆ randomize_drift_time_from_drift_distance()

double snemo::processing::geiger_regime::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.

◆ randomize_r()

double snemo::processing::geiger_regime::randomize_r ( mygsl::rng ran_,
double  r_ 
) const

Randomize the drift position of a Geiger hit.

◆ randomize_z()

double snemo::processing::geiger_regime::randomize_z ( mygsl::rng ran_,
double  z_,
double  sigma_z_ 
) const

Randomize the longitudinal position of a Geiger hit.

◆ reset()

void snemo::processing::geiger_regime::reset ( )

Reset.

◆ tree_dump()

virtual void snemo::processing::geiger_regime::tree_dump ( std::ostream &  a_out = std::clog,
const std::string &  a_title = "",
const std::string &  a_indent = "",
bool  a_inherit = false 
) const
virtual

Smart print.

Reimplemented from datatools::i_tree_dumpable.


The documentation for this class was generated from the following file: