Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Df250EmulatorAlgorithm_v1.h
Go to the documentation of this file.
1 #ifndef _Df250EmulatorAlgorithm_v1_
2 #define _Df250EmulatorAlgorithm_v1_
3 #include <JANA/JObject.h>
4 
5 #include <stdint.h>
6 #include <vector>
7 #include <iostream>
8 using namespace std;
9 
11 
12 /////////////////////////////////////////////////////////////////
13 // This implements the base class for the f250 firmware emulation
14 // EmulateFirmware needs to be virtually overwritten by the user
15 ////////////////////////////////////////////////////////////////
16 
18  public:
19 
22 
23  //Only the emulation routines need to be overwritten
24  void EmulateFirmware(const Df250WindowRawData* rawData,
25  std::vector<Df250PulseTime*> &pt_objs,
26  std::vector<Df250PulsePedestal*> &pp_objs,
27  std::vector<Df250PulseIntegral*> &pi_objs);
28  void EmulateFirmware(const Df250WindowRawData* rawData,
29  std::vector<Df250PulseData*> &pdatt_objs) {
30  throw JException("Invalid data format being called for Df250EmulatorAlgorithm_v1!");
31  }
32 
33  protected:
34  // Enables forced use of default values
36  // Default values for the essential parameters
37  uint32_t NSA_DEF;
38  uint32_t NSB_DEF;
39  uint16_t THR_DEF;
40  // Set verbosity
41  int VERBOSE;
42 
43 };
44 
45 #endif // _Df250EmulatorAlgorithm_v1_
void EmulateFirmware(const Df250WindowRawData *rawData, std::vector< Df250PulseData * > &pdatt_objs)