DirectElectronPairProduction< T > Class Template Reference

#include <DirectElectronPairProduction.h>

Inheritance diagram for DirectElectronPairProduction< T >:
EnergyLossProcess

List of all members.

Public Member Functions

 DirectElectronPairProduction ()
 DirectElectronPairProduction (const Material &material)
 ~DirectElectronPairProduction ()
double dE_dx (double E) const
double Threshold (void) const

Private Attributes

T * fModel

Detailed Description

template<class T>
class DirectElectronPairProduction< T >

________________________________________________________________________________________

Id
DirectElectronPairProduction.cxx,v 1.3 2005/02/03 11:56:04 tagg Exp

________________________________________________________________________________________

Id
DirectElectronPairProduction.h,v 1.2 2004/01/05 16:11:13 costas Exp

Definition at line 22 of file DirectElectronPairProduction.h.


Constructor & Destructor Documentation

template<class T >
DirectElectronPairProduction< T >::DirectElectronPairProduction (  )  [inline]

Definition at line 25 of file DirectElectronPairProduction.cxx.

00025                                                                                  :
00026 EnergyLossProcess()
00027 {
00028   fModel = new T();
00029 }
//_________________________________________________________________________________________

template<class T >
DirectElectronPairProduction< T >::DirectElectronPairProduction ( const Material material  )  [inline]

Definition at line 32 of file DirectElectronPairProduction.cxx.

References Process::eAll, Process::ePairProduction, and DirectElectronPairProduction< T >::fModel.

00032                                                                                        :
00033 EnergyLossProcess()
00034 {
00035   fModel = new T(material);
00036 
00037   Process::Process_t proc = fModel->ModeledProcess();
00038 
00039   assert( proc == Process::ePairProduction || proc == Process::eAll );
00040 }
//_________________________________________________________________________________________

template<class T >
DirectElectronPairProduction< T >::~DirectElectronPairProduction (  )  [inline]

Definition at line 42 of file DirectElectronPairProduction.cxx.

References DirectElectronPairProduction< T >::fModel.

00043 {
00044   if (fModel) delete fModel;
00045 }


Member Function Documentation

template<class T >
double DirectElectronPairProduction< T >::dE_dx ( double  E  )  const [inline, virtual]

Implements EnergyLossProcess.

Definition at line 47 of file DirectElectronPairProduction.cxx.

References ValidityRange::Emax, ValidityRange::Emin, DirectElectronPairProduction< T >::fModel, and DirectElectronPairProduction< T >::Threshold().

00048 {
00049   if(E > Threshold() ) {
00050 
00051      ValidityRange_t vldrange = fModel->ValidityRange();
00052 
00053      if(E >= vldrange.Emin && E <= vldrange.Emax)  return fModel->dE_dx(E);
00054   }
00055 
00056   return 0;
00057 }

template<class T >
double DirectElectronPairProduction< T >::Threshold ( void   )  const [inline, virtual]

Implements EnergyLossProcess.

Definition at line 30 of file DirectElectronPairProduction.h.

References MuELoss::Me, and MuELoss::Mm.

Referenced by DirectElectronPairProduction< T >::dE_dx().

00030 { return MuELoss::Mm+2*MuELoss::Me; }


Member Data Documentation

template<class T >
T* DirectElectronPairProduction< T >::fModel [private]

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

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1