Public Member Functions | Private Attributes | List of all members
WireCell::Gen::BirksRecombination Class Reference

#include <RecombinationModels.h>

Inheritance diagram for WireCell::Gen::BirksRecombination:
WireCell::IRecombinationModel WireCell::IConfigurable WireCell::IComponent< IRecombinationModel > WireCell::IComponent< IConfigurable > WireCell::Interface WireCell::Interface

Public Member Functions

 BirksRecombination (double Efield=500 *units::volt/units::cm, double A3t=0.8, double k3t=0.0486 *units::gram/(units::MeV *units::cm2)*(units::kilovolt/units::cm), double rho=1.396 *units::gram/units::cm3, double Wi=23.6 *units::eV/(-1 *units::eplus))
 
virtual ~BirksRecombination ()
 
virtual double operator() (double dE, double dX=0.0)
 
virtual void configure (const WireCell::Configuration &config)
 Accept a configuration. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
- Public Member Functions inherited from WireCell::IRecombinationModel
virtual ~IRecombinationModel ()
 
- Public Member Functions inherited from WireCell::IComponent< IRecombinationModel >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 
- Public Member Functions inherited from WireCell::IConfigurable
virtual ~IConfigurable ()
 
- Public Member Functions inherited from WireCell::IComponent< IConfigurable >
virtual ~IComponent ()
 

Private Attributes

double m_a3t
 
double m_k3t
 
double m_efield
 
double m_rho
 
double m_wi
 

Additional Inherited Members

- Public Types inherited from WireCell::IComponent< IRecombinationModel >
typedef std::shared_ptr< IRecombinationModelpointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 
- Public Types inherited from WireCell::IComponent< IConfigurable >
typedef std::shared_ptr< IConfigurablepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 

Detailed Description

Birks model, R = a/(1+b*dE/dX), dQ = (R/Wi)*dE a = A3t, b=k3t/(Efield*rho) as defined in: http://lar.bnl.gov/properties/pass.html#recombination

Definition at line 28 of file RecombinationModels.h.

Constructor & Destructor Documentation

Gen::BirksRecombination::BirksRecombination ( double  Efield = 500*units::volt/units::cm,
double  A3t = 0.8,
double  k3t = 0.0486*units::gram/(units::MeV*units::cm2)*(units::kilovolt/units::cm),
double  rho = 1.396*units::gram/units::cm3,
double  Wi = 23.6*units::eV/(-1*units::eplus) 
)
Gen::BirksRecombination::~BirksRecombination ( )
virtual

Definition at line 54 of file RecombinationModels.cxx.

55 {
56 }

Member Function Documentation

void Gen::BirksRecombination::configure ( const WireCell::Configuration config)
virtual

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 62 of file RecombinationModels.cxx.

63 {
64  m_a3t = get(config, "A3t", m_a3t);
65  m_k3t = get(config, "k3t", m_k3t);
66  m_efield = get(config, "Efield", m_efield);
67  m_rho = get(config, "rho", m_rho);
68  m_wi = get(config, "Wi", m_wi);
69 }
static Config * config
Definition: config.cpp:1054
WireCell::Configuration Gen::BirksRecombination::default_configuration ( ) const
virtual

Optional, override to return a hard-coded default configuration.

Reimplemented from WireCell::IConfigurable.

Definition at line 70 of file RecombinationModels.cxx.

71 {
73  cfg["A3t"] = m_a3t;
74  cfg["k3t"] = m_k3t;
75  cfg["Efield"] = m_efield;
76  cfg["rho"] = m_rho;
77  cfg["Wi"] = m_wi;
78  return cfg;
79 }
cfg
Definition: dbjson.py:29
Json::Value Configuration
Definition: Configuration.h:50
double Gen::BirksRecombination::operator() ( double  dE,
double  dX = 0.0 
)
virtual

Member Data Documentation

double WireCell::Gen::BirksRecombination::m_a3t
private

Definition at line 29 of file RecombinationModels.h.

double WireCell::Gen::BirksRecombination::m_efield
private

Definition at line 29 of file RecombinationModels.h.

double WireCell::Gen::BirksRecombination::m_k3t
private

Definition at line 29 of file RecombinationModels.h.

double WireCell::Gen::BirksRecombination::m_rho
private

Definition at line 29 of file RecombinationModels.h.

double WireCell::Gen::BirksRecombination::m_wi
private

Definition at line 29 of file RecombinationModels.h.


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