All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes
nemo3::energy_cut Class Reference

Cut on energies in event. More...

#include <energy_cut.h>

Inheritance diagram for nemo3::energy_cut:
nemo3::i_ana_event_cut

List of all members.

Public Types

enum  mode_t {
  MODE_INVALID = -1, MODE_ENERGY_MIN = 0, MODE_ENERGY_MAX = 1, MODE_ENERGY_SUM = 2,
  MODE_ENERGY_EACH = 3, MODE_UNASSOCIATED_ENERGY_MIN = 4, MODE_UNASSOCIATED_ENERGY_MAX = 5, MODE_UNASSOCIATED_ENERGY_SUM = 6,
  MODE_UNASSOCIATED_ENERGY_EACH = 7, MODE_TRACK_ENERGY_MIN = 8, MODE_TRACK_ENERGY_MAX = 9, MODE_TRACK_ENERGY_SUM = 10,
  MODE_TRACK_ENERGY_EACH = 11, MODE_GAMMA_TRACK_ENERGY_MIN = 12, MODE_GAMMA_TRACK_ENERGY_MAX = 13, MODE_GAMMA_TRACK_ENERGY_SUM = 14,
  MODE_GAMMA_TRACK_ENERGY_EACH = 15, MODE_GAMMA_TRACKED_TRACK_ENERGY_MIN = 16, MODE_GAMMA_TRACKED_TRACK_ENERGY_MAX = 17, MODE_GAMMA_TRACKED_TRACK_ENERGY_SUM = 18,
  MODE_GAMMA_TRACKED_TRACK_ENERGY_EACH = 19, MODE_ENERGY_CUT_LAST
}
typedef
boost::numeric::interval
< double > 
range_t

Public Member Functions

bool is_inverted () const
 unused
bool is_mode_energy_min () const
 check the kind of global mode : min
bool is_mode_energy_max () const
 check the kind of global mode : max
bool is_mode_energy_sum () const
 check the kind of global mode : sum
bool is_mode_energy_each () const
 check the kind of global mode : each
bool is_mode (std::string mode_) const
 check the mode from string
 energy_cut (bool debug_=false)
 default ctor
virtual ~energy_cut ()
 dtor
void set (int mode_, double min_, double max_, double proba_, bool inverted_=false)
 set to prepare the mode, range and other
bool is_debug () const
 is verbose
void set_debug (bool)
 set verbose
void dump (std::ostream &out_=std::clog) const
 cout various informations
bool accept ()
 the main process, return if the current event (get from NemoCuts) is accepted
virtual std::string cut_id () const
 pure virtual method for cut factory stuff
virtual cut_creator_t cut_creator () const
 pure virtual method for cut factory stuff

Static Public Member Functions

static int get_mode_from_label (const std::string &label_)
 make the exhange between enum and string for mode
static std::string get_label_from_mode (int mode_)
 make the exhange between enum and string for mode
static bool is_mode_valid (int mode_)
 check the validity of the mode
static std::ostream & print_range (std::ostream &out_, const range_t &range_)
 dump the range
static nemo3::i_ana_event_cutcreate (const nemocuts::ICutFactory::cut_properties_t &cut_properties_)
 create and configure the cut from options and mode. Inherited from NemoCuts

Static Public Attributes

static const double RANGE_MIN
 the minimal value of the range, if necessary
static const double RANGE_MAX
 the maximal value of the range, if necessary
static const std::string CUT_ID

Protected Member Functions

virtual void __prepare_cut ()
 internal method inherited from NemoCuts. Nothing special for energy cut.

Private Attributes

bool __debug
int __mode
range_t __range
bool __inverted
 unused
double __proba
 proba for gamma tracking

Static Private Attributes

static creator_registration
< energy_cut
__CR
 used by the cuts' factory stuff:

Detailed Description

Cut on energies in event.

This cut propose different ways to check if some
energy deposits in the scintillator blocks fall
within some range:

Units:

Energy is given in keV

Energy range is defined via:

 MIN == lower bound of the energy interval\n
 MAX == upper bound of the energy interval

Available mains modes:

 ENERGY_MIN == check if the minimum energy deposit is in range\n
 ENERGY_MAX == check if the maximum energy deposit is in range\n
 ENERGY_SUM == check if the total energy deposit is in range\n
 ENERGY_EACH == check if each energy deposit is in range\n
See also:
energy_cut::mode_t

The INVERTED flag check if the value is outside the given range
The configuration is mainly done thanks a config file like in resources/select_ana.conf


Member Typedef Documentation

typedef boost::numeric::interval<double> nemo3::energy_cut::range_t

typedef for range in this cut


Member Enumeration Documentation

enum on modes
!!! always be %4 in the order min max sum each. !!!

Enumerator:
MODE_INVALID 

To stop it if asked is invalid.

MODE_ENERGY_MIN 

the minimal energy scins

MODE_ENERGY_MAX 

the maximal energy scins

MODE_ENERGY_SUM 

the energy sum of the scins

MODE_ENERGY_EACH 

each energy of scins deposit is in range

MODE_UNASSOCIATED_ENERGY_MIN 

the minimal energy unassociated scins

MODE_UNASSOCIATED_ENERGY_MAX 

the maximal energy unassociated scins

MODE_UNASSOCIATED_ENERGY_SUM 

the energy sum of the unassociated scins

MODE_UNASSOCIATED_ENERGY_EACH 

each energy of unassociated scins deposit is in range

MODE_TRACK_ENERGY_MIN 

the minimal energy associated scins

MODE_TRACK_ENERGY_MAX 

the maximal energy associated scins

MODE_TRACK_ENERGY_SUM 

the energy sum of the associated scins

MODE_TRACK_ENERGY_EACH 

each energy of associated scins deposit is in range

MODE_GAMMA_TRACK_ENERGY_MIN 

the minimal energy gamma tracked scins

MODE_GAMMA_TRACK_ENERGY_MAX 

the maximal energy gamma tracked scins

MODE_GAMMA_TRACK_ENERGY_SUM 

the energy sum of the gamma tracked scins

MODE_GAMMA_TRACK_ENERGY_EACH 

each energy of gamma tracked scins deposit is in range

MODE_GAMMA_TRACKED_TRACK_ENERGY_MIN 

the minimal energy tracked scins which start from an associated scin

MODE_GAMMA_TRACKED_TRACK_ENERGY_MAX 

the maximal energy gamma tracked scins which start from an associated scin

MODE_GAMMA_TRACKED_TRACK_ENERGY_SUM 

the energy sum of the gamma tracked scins which start from an associated scin

MODE_GAMMA_TRACKED_TRACK_ENERGY_EACH 

each energy of gamma tracked scins deposit is in range (which start from an associated scin)

MODE_ENERGY_CUT_LAST 

to know the size of the enum


Member Function Documentation

bool nemo3::energy_cut::accept ( ) [virtual]

the main process, return if the current event (get from NemoCuts) is accepted

going through pm energies and testing it in function of mode and range.

Implements nemo3::i_ana_event_cut.


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