Geant4  10.02.p03
XrayFluoNormalization Class Reference

#include <XrayFluoNormalization.hh>

Collaboration diagram for XrayFluoNormalization:

Public Member Functions

 XrayFluoNormalization ()
 
 ~XrayFluoNormalization ()
 
const XrayFluoDataSetNormalize (G4double, G4double, G4int, G4String)
 

Private Member Functions

G4double Integrate (G4double, G4double, G4int, XrayFluoDataSet *)
 

Detailed Description

Definition at line 42 of file XrayFluoNormalization.hh.

Constructor & Destructor Documentation

◆ XrayFluoNormalization()

XrayFluoNormalization::XrayFluoNormalization ( )

Definition at line 44 of file XrayFluoNormalization.cc.

46 { }

◆ ~XrayFluoNormalization()

XrayFluoNormalization::~XrayFluoNormalization ( )

Definition at line 48 of file XrayFluoNormalization.cc.

50 { }

Member Function Documentation

◆ Integrate()

G4double XrayFluoNormalization::Integrate ( G4double  minIntExtreme,
G4double  maxIntExtreme,
G4int  nBins,
XrayFluoDataSet dataSet 
)
private

Definition at line 70 of file XrayFluoNormalization.cc.

71 {
72  G4double partialHeight = 0;
73  G4int id = 0;
74  G4double lenghtOfBins = (maxIntExtreme - minIntExtreme)/nBins;
75 
76  for (G4int i = 0; i<nBins; i++)
77  {
78  G4double midPoint = minIntExtreme + i*lenghtOfBins+lenghtOfBins/2;
79 
80  G4double heightOfRectangle = dataSet->FindValue(midPoint,id);
81 
82  partialHeight += heightOfRectangle;
83 
84  }
85 
86  G4double integral = lenghtOfBins * partialHeight;
87 
88  delete dataSet;
89  dataSet = 0;
90  return integral;
91 }
int G4int
Definition: G4Types.hh:78
G4double FindValue(G4double e, G4int) const
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Normalize()

const XrayFluoDataSet * XrayFluoNormalization::Normalize ( G4double  minIntExtreme,
G4double  maxIntExtreme,
G4int  nBins,
G4String  fileName 
)

Definition at line 52 of file XrayFluoNormalization.cc.

53 {
54 
55  G4VDataSetAlgorithm* interpolation = new G4LogLogInterpolation();
56 
57  XrayFluoDataSet* dataSet =
58  new XrayFluoDataSet(1,fileName,interpolation,keV,1);
59 
60  G4double integral = Integrate(minIntExtreme, maxIntExtreme, nBins, dataSet);
61 
62  G4VDataSetAlgorithm* interpolation2 = new G4LogLogInterpolation();
63 
64  XrayFluoDataSet* finalDataSet = new XrayFluoDataSet(1,fileName,interpolation2,keV,1/(integral/keV));
65  return finalDataSet;
66 }
G4double Integrate(G4double, G4double, G4int, XrayFluoDataSet *)
static const double keV
Definition: G4SIunits.hh:213
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

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