Jpp  16.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Friends | List of all members
JSUPPORT::JRandomSampler< T > Struct Template Reference

Template class for randomly sampling from a JLANG::JRewindableObjectIterator using a JLANG::JObjectSampler. More...

#include <JRandomSampler.hh>

Public Member Functions

 JRandomSampler ()
 Default constructor. More...
 
 JRandomSampler (const unsigned int on, const unsigned int off)
 Constructor. More...
 
const JRandomSamplergetRandomSampler () const
 Get random sampler. More...
 
JRandomSamplergetRandomSampler ()
 Get random sampler. More...
 
skip_type operator() (const T &object) const
 Acceptance test operator. More...
 

Protected Attributes

skip_type averageOn
 
skip_type averageOff
 
skip_type count
 

Friends

std::istream & operator>> (std::istream &in, JRandomSampler &sampler)
 Read random sampler from input. More...
 
std::ostream & operator<< (std::ostream &out, const JRandomSampler &sampler)
 Write random sampler to output. More...
 

Detailed Description

template<class T>
struct JSUPPORT::JRandomSampler< T >

Template class for randomly sampling from a JLANG::JRewindableObjectIterator using a JLANG::JObjectSampler.

The JRandomSampler class provides for an implementation of randomly sampling objects.
The sampling is controlled via two parameters, namely:

Definition at line 33 of file JRandomSampler.hh.

Constructor & Destructor Documentation

template<class T>
JSUPPORT::JRandomSampler< T >::JRandomSampler ( )
inline

Default constructor.

This constructor will sample all objects.

Definition at line 39 of file JRandomSampler.hh.

39  :
40  averageOn (1),
41  averageOff(0),
42  count (0)
43  {}
template<class T>
JSUPPORT::JRandomSampler< T >::JRandomSampler ( const unsigned int  on,
const unsigned int  off 
)
inline

Constructor.

Parameters
onaverage number of consecutively accepted events
offaverage number of consecutively rejected events

Definition at line 52 of file JRandomSampler.hh.

53  :
54  averageOn (on),
55  averageOff(off),
56  count (0)
57  {}

Member Function Documentation

template<class T>
const JRandomSampler& JSUPPORT::JRandomSampler< T >::getRandomSampler ( ) const
inline

Get random sampler.

Returns
random sampler

Definition at line 65 of file JRandomSampler.hh.

66  {
67  return static_cast<const JRandomSampler&>(*this);
68  }
Template class for randomly sampling from a JLANG::JRewindableObjectIterator using a JLANG::JObjectSa...
template<class T>
JRandomSampler& JSUPPORT::JRandomSampler< T >::getRandomSampler ( )
inline

Get random sampler.

Returns
random sampler

Definition at line 76 of file JRandomSampler.hh.

77  {
78  return static_cast<JRandomSampler&>(*this);
79  }
Template class for randomly sampling from a JLANG::JRewindableObjectIterator using a JLANG::JObjectSa...
template<class T>
skip_type JSUPPORT::JRandomSampler< T >::operator() ( const T object) const
inline

Acceptance test operator.

Return value 0 means accept and >0 number of objects to skip.

Parameters
objectobject
Returns
number of objects to skip

Definition at line 89 of file JRandomSampler.hh.

90  {
91  if (count == 0) {
92 
93  count = gRandom->Integer(2 * averageOn);
94 
95  return (skip_type) gRandom->Integer(2 * averageOff);
96 
97  } else {
98 
99  count -= 1;
100 
101  return 0;
102  }
103  }
unsigned int skip_type
Type definition for number of objects to skip.

Friends And Related Function Documentation

template<class T>
std::istream& operator>> ( std::istream &  in,
JRandomSampler< T > &  sampler 
)
friend

Read random sampler from input.

Parameters
ininput stream
samplerrandom sampler
Returns
input stream

Definition at line 113 of file JRandomSampler.hh.

114  {
115  in >> sampler.averageOn;
116  in >> sampler.averageOff;
117 
118  sampler.count = 0;
119 
120  return in;
121  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
template<class T>
std::ostream& operator<< ( std::ostream &  out,
const JRandomSampler< T > &  sampler 
)
friend

Write random sampler to output.

Parameters
outoutput stream
samplerrandom sampler
Returns
output stream

Definition at line 131 of file JRandomSampler.hh.

132  {
133  out << sampler.averageOn;
134  out << ' ';
135  out << sampler.averageOff;
136 
137  return out;
138  }

Member Data Documentation

template<class T>
skip_type JSUPPORT::JRandomSampler< T >::averageOn
protected

Definition at line 141 of file JRandomSampler.hh.

template<class T>
skip_type JSUPPORT::JRandomSampler< T >::averageOff
protected

Definition at line 142 of file JRandomSampler.hh.

template<class T>
skip_type JSUPPORT::JRandomSampler< T >::count
mutableprotected

Definition at line 143 of file JRandomSampler.hh.


The documentation for this struct was generated from the following file: