CFEL - ASG Software Suite  2.5.0
CASS
waveform_generator.h
Go to the documentation of this file.
1 //Copyright (C) 2012 Lutz Foucar
2 
3 /**
4  * @file waveform_generator.h file contains a class for waveform generation
5  *
6  * @author Lutz Foucar
7  */
8 
9 #ifndef _WAVEFORMGENERATOR_H
10 #define _WAVEFORMGENERATOR_H
11 
12 #include "data_generator.h"
13 #include "acqiris_device.h"
14 #include "generic_factory.hpp"
15 
16 namespace cass
17 {
18 /** generate a waveform of a chosen type
19  *
20  * @GenList "Waveform": Generates a user defined waveform.
21  *
22  * @cassttng WaveformGenerator/{InstrumentId} \n
23  * @cassttng WaveformGenerator/{NbrOfSamples} \n
24  * @cassttng WaveformGenerator/{SampleInterval} \n
25  * @cassttng WaveformGenerator/Channel/{size} \n
26  * @cassttng WaveformGenerator/Channel/\%id\%/{Offset} \n
27  * @cassttng WaveformGenerator/Channel/\%id\%/{FullScale} \n
28  *
29  * @author Lutz Foucar
30  */
32 {
33 public:
34  /** constructor
35  *
36  * does nothing
37  */
39 
40  /** loads the parameters from the ini file */
41  void load();
42 
43  /** fills the cass event with a random waveform
44  *
45  * @param evt the cassevent that should be filled.
46  */
47  void fill(CASSEvent& evt);
48 
49 private:
50  /** an acqiris instrument */
52 
53  /** the id of the instrument */
54  int _instrID;
55 
56  /** object to register this data generator to the factory */
58 };
59 }//end namespace cass
60 
61 #endif
Event to store all LCLS Data.
Definition: cass_event.h:32
helper struct that will add Derived to the factory map
An Acqiris Instrument.
static Registrar< DataGenerator, WaveformGenerator > reg
object to register this data generator to the factory
void load()
loads the parameters from the ini file
int _instrID
the id of the instrument
generate a waveform of a chosen type
base class for all data generators
file contains base class for all data generators.
void fill(CASSEvent &evt)
fills the cass event with a random waveform
contains a factory that can be used for any class
ACQIRIS::Instrument _instrument
an acqiris instrument