Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Bremsstrahlung< T > Class Template Reference

Muon Bremsstrahlung Energy Loss Process. More...

#include <Bremsstrahlung.h>

Inheritance diagram for Bremsstrahlung< T >:

EnergyLossProcess List of all members.

Public Member Functions

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

Private Attributes

T * fModel

Detailed Description

template<class T>
class Bremsstrahlung< T >

Muon Bremsstrahlung Energy Loss Process.

________________________________________________________________________________________

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

MuELoss

Costas Andreopoulos <C.V.Andreopoulos@rl.ac.uk> CCLRC, Rutherford Lab. December 10, 2003 _________________________________________________________________________________________

Definition at line 21 of file Bremsstrahlung.h.


Constructor & Destructor Documentation

template<class T>
Bremsstrahlung< T >::Bremsstrahlung  ) 
 

Definition at line 25 of file Bremsstrahlung.cxx.

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

template<class T>
Bremsstrahlung< T >::Bremsstrahlung const Material material  ) 
 

Definition at line 31 of file Bremsstrahlung.cxx.

References Bremsstrahlung< T >::fModel.

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

template<class T>
Bremsstrahlung< T >::~Bremsstrahlung  ) 
 

Definition at line 41 of file Bremsstrahlung.cxx.

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


Member Function Documentation

template<class T>
double Bremsstrahlung< T >::dE_dx double  E  )  const [virtual]
 

Implements EnergyLossProcess.

Definition at line 46 of file Bremsstrahlung.cxx.

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

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

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

Implements EnergyLossProcess.

Definition at line 29 of file Bremsstrahlung.h.

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

00029 { return 0; }


Member Data Documentation

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

Definition at line 33 of file Bremsstrahlung.h.

Referenced by Bremsstrahlung< T >::Bremsstrahlung(), and Bremsstrahlung< T >::dE_dx().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:08:49 2010 for loon by  doxygen 1.3.9.1