ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Sample when PDF depends on reference. More...
#include <AtSampleFromReference.h>
Public Member Functions | |
virtual | ~AtSampleFromReference ()=default |
virtual std::vector< AtHit > | SampleHits (int N) override |
Sample hits (AtHit) from fHits. More... | |
virtual void | SetHitsToSample (const std::vector< const AtHit * > &hits) override |
void | SetReferenceHit (AtHit hit) |
const AtHit & | GetReferenceHit () const |
![]() | |
virtual | ~AtSample ()=default |
std::vector< ROOT::Math::XYZPoint > | SamplePoints (int N) |
Sample spacial locations (XYZPoints) from fHits. More... | |
void | SetHitsToSample (const std::vector< HitPtr > &hits) |
void | SetHitsToSample (const std::vector< AtHit > &hits) |
void | SetSampleWithReplacement (bool val) |
Protected Member Functions | |
virtual void | SampleReferenceHit () |
Get reference hit from fHits. More... | |
![]() | |
virtual std::vector< double > | PDF (const AtHit &hit)=0 |
void | FillCDF () |
std::vector< int > | sampleIndicesFromCDF (int N, std::vector< int > vetoed={}) |
int | getIndexFromCDF (double r, double rmCFD, std::vector< int > vetoed) |
Get the index i where CDF[i] >= r and CDF[i-1] < r. More... | |
double | getPDFfromCDF (int index) |
Protected Attributes | |
AtHit | fReferenceHit |
![]() | |
const std::vector< const AtHit * > * | fHits |
std::vector< double > | fCDF |
bool | fWithReplacement {false} |
Additional Inherited Members | |
![]() | |
using | HitPtr = std::unique_ptr< AtHit > |
![]() | |
template<typename T > | |
static bool | isInVector (T val, std::vector< T > vec) |
Sample when PDF depends on reference.
Interface for sampling a collection of AtHits where the PDF depends on a reference hit.
Definition at line 18 of file AtSampleFromReference.h.
|
virtualdefault |
|
inline |
Definition at line 27 of file AtSampleFromReference.h.
|
overridevirtual |
Sample hits (AtHit) from fHits.
Assumes fCDF is already setup and we are just using it.
Reimplemented from RandomSample::AtSample.
Definition at line 11 of file AtSampleFromReference.cxx.
|
protectedvirtual |
Get reference hit from fHits.
Uniformly samples from fHits
Reimplemented in RandomSample::AtWeightedGaussian.
Definition at line 23 of file AtSampleFromReference.cxx.
|
inlineoverridevirtual |
Implements RandomSample::AtSample.
Reimplemented in RandomSample::AtWeightedGaussian.
Definition at line 25 of file AtSampleFromReference.h.
void AtSampleFromReference::SetReferenceHit | ( | AtHit | hit | ) |
Definition at line 29 of file AtSampleFromReference.cxx.
|
protected |
Definition at line 20 of file AtSampleFromReference.h.