Jpp
18.0.0
the software that should make you happy
|
This implementation of the JMarkovIntegrator interface generates 'natural' looking paths that might sample the phase space well in some cases. More...
#include <JMarkovIntegrator.hh>
Public Member Functions | |
JMarkovEnsembleIntegrator3D (const vector< JPhotonPath > &_ensemble, JTargetModel *_trg, int _nbinsx, int _nbinsy, int _nbinsz, JPosition3D _posmin, JPosition3D _posmax) | |
~JMarkovEnsembleIntegrator3D () | |
void | free_scattering_vertex_gens () |
void | writeHistograms () |
write the histograms filled from the ensemble More... | |
JPosition3D | generateScatteringVertexPosition (int nscat, int nv, double &winv) |
vector< double > | integrate (int N, int nscat, JSourceModel *src, JScatteringModel *sm, JTargetModel *trg, double lambda_abs) |
Integrate with N samples. More... | |
vector< double > | dummy_integrate (int N, int nscat, JSourceModel *src, JScatteringModel *sm, JTargetModel *trg, double lambda_abs) |
Integrate a test function with N samples. More... | |
vector< JPhotonPath > | get_diagnostic_ensemble (int N, int nscat, JSourceModel *src, JScatteringModel *sm, JTargetModel *trg, double lambda_abs) |
Return photon paths generated with the generatePath method. More... | |
Protected Member Functions | |
void | init_scattering_vertex_generators (int nscat) |
JPosition3D | generatePosition (int nscat, int nv, double &winv) |
generate a position for vertex nv for the given number of scatterings, winv will be set to 1/weight More... | |
int | getIndex (int nv, int nscat) |
return the internal index for a given number of scatterings and vertex number More... | |
void | initgenerators (int nscat) |
initialize the position generators for a given number of scatterings (i.e. create histograms and fill them from the ensemble) More... | |
void | init_target_generator (int nscat) |
initialize the generator for a target vertex for a given number of scatterings More... | |
void | free_target_gens () |
virtual JPhotonPath | generatePath (int nscat, double &winv) |
Generate a random photon path with a given number of scatterings. More... | |
Protected Attributes | |
vector< J3DhistGenerator * > | gens |
JPosition3D | posmin |
JPosition3D | posmax |
vector< JSphereGenerator * > | target_gens |
vector< JPhotonPath > | ensemble |
int | nbinsx |
int | nbinsy |
int | nbinsz |
JTargetModel * | trg |
JPosition3D | source_position |
This implementation of the JMarkovIntegrator interface generates 'natural' looking paths that might sample the phase space well in some cases.
Similar to JMarkovEnsembleIntegrator, but using a 3D histogram for each vertex instead of 3 1D histograms.
Definition at line 473 of file JMarkovIntegrator.hh.
|
inline |
Definition at line 477 of file JMarkovIntegrator.hh.
|
inline |
Definition at line 479 of file JMarkovIntegrator.hh.
|
inline |
Definition at line 484 of file JMarkovIntegrator.hh.
|
inlinevirtual |
write the histograms filled from the ensemble
Implements JMARKOV::JMarkovEnsembleIntegrator.
Definition at line 491 of file JMarkovIntegrator.hh.
|
inlinevirtual |
Implements JMARKOV::JMarkovEnsembleIntegrator.
Definition at line 512 of file JMarkovIntegrator.hh.
|
inlineprotectedvirtual |
Implements JMARKOV::JMarkovEnsembleIntegrator.
Definition at line 523 of file JMarkovIntegrator.hh.
|
inlineprotectedvirtualinherited |
generate a position for vertex nv for the given number of scatterings, winv will be set to 1/weight
Implements JMARKOV::JMarkovIntegrator.
Definition at line 228 of file JMarkovIntegrator.hh.
|
inlineprotectedinherited |
return the internal index for a given number of scatterings and vertex number
Definition at line 251 of file JMarkovIntegrator.hh.
|
inlineprotectedinherited |
initialize the position generators for a given number of scatterings (i.e. create histograms and fill them from the ensemble)
Definition at line 263 of file JMarkovIntegrator.hh.
|
inlineprotectedinherited |
initialize the generator for a target vertex for a given number of scatterings
Definition at line 272 of file JMarkovIntegrator.hh.
|
inlineprotectedinherited |
Definition at line 295 of file JMarkovIntegrator.hh.
|
inherited |
Integrate with N samples.
Returns a vector with the contribution to the integral of each sample. The mean of those values is the estimate of the result of the integral, while the distribution itself can be used to estimate the stability of the result. In this distribution, you want to avoid
Definition at line 130 of file JMarkovIntegrator.hh.
|
inherited |
Integrate a test function with N samples.
This can be used as a sanity check for derived classes of JMarkovIntegrator.
The integral should yield 1 when the complete relevant part of the volume is taken into account. If it does not, it may be a sign that the implementation is not correct.
Returns a vector with the contribution to the integral of each sample.
Definition at line 143 of file JMarkovIntegrator.hh.
|
inherited |
Return photon paths generated with the generatePath method.
This can be used to identify the parts of parameter space that are over- or undersampled in a given problem so that the integrator may be optimized to handle those better.
Definition at line 157 of file JMarkovIntegrator.hh.
|
inlineprotectedvirtualinherited |
Generate a random photon path with a given number of scatterings.
winv must be set to the inverted probability density to generate this particular path.
Definition at line 94 of file JMarkovIntegrator.hh.
|
protected |
Definition at line 570 of file JMarkovIntegrator.hh.
|
protected |
Definition at line 571 of file JMarkovIntegrator.hh.
|
protected |
Definition at line 572 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 301 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 302 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 303 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 304 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 305 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 306 of file JMarkovIntegrator.hh.
|
protectedinherited |
Definition at line 307 of file JMarkovIntegrator.hh.