G4CascadeSampler< NBINS, NMULT > Class Template Reference

#include <G4CascadeSampler.hh>


Public Types

 energyBins = NBINS
 multBins = NMULT
enum  { energyBins = NBINS, multBins = NMULT }

Public Member Functions

 G4CascadeSampler (const G4double(&ebins)[energyBins])
virtual ~G4CascadeSampler ()
virtual G4double findCrossSection (double ke, const G4double(&xsec)[energyBins]) const
virtual G4int findMultiplicity (G4double ke, const G4double xmult[][energyBins]) const
virtual G4int findFinalStateIndex (G4int mult, G4double ke, const G4int index[], const G4double xsec[][energyBins]) const
virtual void print (std::ostream &os) const


Detailed Description

template<int NBINS, int NMULT>
class G4CascadeSampler< NBINS, NMULT >

Definition at line 44 of file G4CascadeSampler.hh.


Member Enumeration Documentation

template<int NBINS, int NMULT>
anonymous enum

Enumerator:
energyBins 
multBins 

Definition at line 46 of file G4CascadeSampler.hh.

00046 { energyBins=NBINS, multBins=NMULT };   // For use in function arguments


Constructor & Destructor Documentation

template<int NBINS, int NMULT>
G4CascadeSampler< NBINS, NMULT >::G4CascadeSampler ( const G4double &  ebins[energyBins]  )  [inline]

Definition at line 48 of file G4CascadeSampler.hh.

00049     : interpolator(ebins), energyScale(ebins) {}

template<int NBINS, int NMULT>
virtual G4CascadeSampler< NBINS, NMULT >::~G4CascadeSampler (  )  [inline, virtual]

Definition at line 51 of file G4CascadeSampler.hh.

00051 {}


Member Function Documentation

template<int NBINS, int NMULT>
G4double G4CascadeSampler< NBINS, NMULT >::findCrossSection ( double  ke,
const G4double &  xsec[energyBins] 
) const [inline, virtual]

Definition at line 47 of file G4CascadeSampler.icc.

00048                                                            {
00049   return interpolator.interpolate(ke, xsec);
00050 }

template<int NBINS, int NMULT>
G4int G4CascadeSampler< NBINS, NMULT >::findFinalStateIndex ( G4int  mult,
G4double  ke,
const G4int  index[],
const G4double  xsec[][energyBins] 
) const [inline, virtual]

Definition at line 62 of file G4CascadeSampler.icc.

00063                                                              {
00064   G4int start = index[mult-2];
00065   G4int stop = index[mult-1];
00066   if (stop-start <= 1) return start;    // Avoid unnecessary work
00067 
00068   fillSigmaBuffer(ke, xsec, start, stop);
00069   return sampleFlat();
00070 }

template<int NBINS, int NMULT>
G4int G4CascadeSampler< NBINS, NMULT >::findMultiplicity ( G4double  ke,
const G4double  xmult[][energyBins] 
) const [inline, virtual]

Definition at line 54 of file G4CascadeSampler.icc.

00055                                                            {
00056   fillSigmaBuffer(ke, xmult);
00057   return sampleFlat() + 2;      // Convert array index to actual mult (2 to 7)
00058 }

template<int NBINS, int NMULT>
void G4CascadeSampler< NBINS, NMULT >::print ( std::ostream &  os  )  const [inline, virtual]

Definition at line 120 of file G4CascadeSampler.icc.

00120                                                               {
00121   interpolator.printBins(os);
00122 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:36 2013 for Geant4 by  doxygen 1.4.7