MINT2
SignalGenerator.h
Go to the documentation of this file.
1 #ifndef SIGNAL_GENERATOR_HH
2 #define SIGNAL_GENERATOR_HH
3 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
4 // status: Mon 9 Feb 2009 19:17:59 GMT
5 
6 #include "Mint/IEventGenerator.h"
7 #include "Mint/IDalitzEvent.h"
9 
10 #include "Mint/BaseGenerator.h"
11 
14 
15 #include "Mint/DalitzEventList.h"
17 
19 #include "Mint/DalitzBWBoxSet.h"
20 
21 #include "Mint/counted_ptr.h"
22 
23 #include <string>
24 
26 : public BaseGenerator
27 , virtual public MINT::IEventGenerator<IDalitzEvent>{
28  protected:
31  // has its own parameter set, i.e. its own copy of fitparamerters
32  // which ensures they don't change outside SignalGenerator's control
33 
37 
38  bool makeBoxes();
39 
41 
42  public:
44  , TRandom* rnd=gRandom
45  );
48  , TRandom* rnd=gRandom
49  );
51  , double rB
52  , double phase
53  , TRandom* rnd=gRandom
54  );
55 
56  virtual ~SignalGenerator(){}
57 
60 
61  // this one below is required by MINT::IEventGenerator<IDalitzEvent>
62  // similar to above, except it's a pointer to
63  // IDalitzEvent, not DalitzEvent.
64  //virtual MINT::counted_ptr<IDalitzEvent> newEvent();
66 
67  virtual bool exhausted() const{return false;}
68 
69  virtual bool ensureFreshEvents();
70 
71  bool am_I_generating_what_I_think_I_am_generating(int Nevents=100000);
72  bool compareGenerationMethodsForFullPDF(int Nevents = 100000);
73 
74 };
75 
76 #endif
77 //
MINT::counted_ptr< MINT::IUnweightedEventGenerator< IDalitzEvent > > _boxes
MINT::MinuitParameterSet _myOwnPSet
virtual MINT::counted_ptr< IDalitzEvent > newEvent()
MINT::counted_ptr< IFastAmplitudeIntegrable > _counted_amps
DalitzEventPattern _pat
SignalGenerator(const DalitzEventPattern &pat, TRandom *rnd=gRandom)
virtual ~SignalGenerator()
virtual MINT::counted_ptr< IDalitzEvent > newDalitzEvent()
bool am_I_generating_what_I_think_I_am_generating(int Nevents=100000)
virtual bool exhausted() const
IFastAmplitudeIntegrable * _amps
virtual bool ensureFreshEvents()
virtual MINT::counted_ptr< IDalitzEvent > tryDalitzEvent()
bool compareGenerationMethodsForFullPDF(int Nevents=100000)
MINT::MinuitParameterSet * myMPS()