Berkeley Nuclear Data Software
BasicSupport
include
BeamCurrentLogManager.h
Go to the documentation of this file.
1
#ifndef _BEAM_CURRENT_LOG_MANAGER_
2
#define _BEAM_CURRENT_LOG_MANAGER_
3
4
//c++ includes
5
#include <iostream>
6
#include <fstream>
7
#include <vector>
8
#include <sstream>
9
#include <ctime>
10
#include <cmath>
11
#include <algorithm>
12
#include <numeric>
13
16
class
CurrentLogEntry
17
{
18
public
:
19
//
20
double
m_timeSinceEpoch
;
21
//current in Amps
22
double
m_current
;
23
//integrated charge since start of log?
24
double
m_intCharge
;
25
};
26
29
class
BeamCurrentLogManager
30
{
31
public
:
35
void
readFile
(std::string a_currentLog);
38
double
getIntegral
(
double
a_t1,
39
double
a_t2
40
);
41
std::vector<double>
plotCurrent
(
double
a_t1,
42
double
a_t2
43
);
44
double
getBeamOff
(
double
a_ti);
45
//this will be private
46
//time since epoch time stamps representing the sampled current
47
std::vector< CurrentLogEntry >
m_current
;
48
49
};
50
51
52
#endif
BeamCurrentLogManager
Definition:
BeamCurrentLogManager.h:30
BeamCurrentLogManager::getBeamOff
double getBeamOff(double a_ti)
Definition:
BeamCurrentLogManager.cpp:176
BeamCurrentLogManager::readFile
void readFile(std::string a_currentLog)
Definition:
BeamCurrentLogManager.cpp:7
BeamCurrentLogManager::getIntegral
double getIntegral(double a_t1, double a_t2)
Definition:
BeamCurrentLogManager.cpp:97
BeamCurrentLogManager::plotCurrent
std::vector< double > plotCurrent(double a_t1, double a_t2)
Definition:
BeamCurrentLogManager.cpp:133
BeamCurrentLogManager::m_current
std::vector< CurrentLogEntry > m_current
Definition:
BeamCurrentLogManager.h:47
CurrentLogEntry
Definition:
BeamCurrentLogManager.h:17
CurrentLogEntry::m_intCharge
double m_intCharge
Definition:
BeamCurrentLogManager.h:24
CurrentLogEntry::m_timeSinceEpoch
double m_timeSinceEpoch
Definition:
BeamCurrentLogManager.h:20
CurrentLogEntry::m_current
double m_current
Definition:
BeamCurrentLogManager.h:22
Generated by
1.9.1