本文整理汇总了C++中Trace::GetQdc方法的典型用法代码示例。如果您正苦于以下问题:C++ Trace::GetQdc方法的具体用法?C++ Trace::GetQdc怎么用?C++ Trace::GetQdc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Trace
的用法示例。
在下文中一共展示了Trace::GetQdc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PreProcess
bool PspmtProcessor::PreProcess(RawEvent &event) {
if (!EventProcessor::PreProcess(event))
return false;
static const vector<ChanEvent *> &pspmtEvents = sumMap["pspmt"]->GetList();
data_.Clear();
double q1 = 0, q2 = 0, q3 = 0, q4 = 0, qd = 0;
double qdc1 = 0, qdc2 = 0, qdc3 = 0, qdc4 = 0, qdcd = 0;
double tre1 = 0, tre2 = 0, tre3 = 0, tre4 = 0, tred = 0;
double qright = 0, qleft = 0, qtop = 0, qbottom = 0, qsum = 0;
double xright = 0, xleft = 0, ytop = 0, ybottom = 0;
double qtre_r = 0, qtre_l = 0, qtre_t = 0, qtre_b = 0, qtre_s = 0;
double xtre_r = 0, xtre_l = 0, ytre_t = 0, ytre_b = 0;
double qqdc_r = 0, qqdc_l = 0, qqdc_t = 0, qqdc_b = 0, qqdc_s = 0;
//double xqdc_r=0,xqdc_l=0,yqdc_t=0,yqdc_b=0;
double pxright = 0, pxleft = 0, pytop = 0, pybottom = 0;
double pxtre_r = 0, pxtre_l = 0, pytre_t = 0, pytre_b = 0;
// tentatively local params //
double threshold = 260;
double slope = 0.0606;
double intercept = 10.13;
//////////////////////////////
static int traceNum;
double f = 0.1;
for (vector<ChanEvent *>::const_iterator it = pspmtEvents.begin();
it != pspmtEvents.end(); it++) {
ChanEvent *chan = *it;
string subtype = chan->GetChanID().GetSubtype();
int ch = chan->GetChanID().GetLocation();
double calEnergy = chan->GetCalibratedEnergy();
//double pspmtTime = chan->GetTime();
Trace trace = chan->GetTrace();
double trace_energy;
//double trace_time;
//double baseline;
double qdc;
//int num = trace.GetValue("numPulses");
if (!trace.GetFilteredEnergies().empty()) {
traceNum++;
//trace_time = trace.GetValue("filterTime");
trace_energy = trace.GetFilteredEnergies().front();
//baseline = trace.GetValue("baseline");
qdc = trace.GetQdc();
if (ch == 0) {
qdc1 = qdc;
tre1 = trace_energy;
histo.Plot(D_QDC_TRACE1, qdc1);
histo.Plot(D_ENERGY_TRACE1, tre1);
} else if (ch == 1) {
qdc2 = qdc;
tre2 = trace_energy;
histo.Plot(D_QDC_TRACE2, qdc2);
histo.Plot(D_ENERGY_TRACE2, tre2);
} else if (ch == 2) {
qdc3 = qdc;
tre3 = trace_energy;
histo.Plot(D_QDC_TRACE3, qdc3);
histo.Plot(D_ENERGY_TRACE3, tre3);
} else if (ch == 3) {
qdc4 = qdc;
tre4 = trace_energy;
histo.Plot(D_QDC_TRACE4, qdc4);
histo.Plot(D_ENERGY_TRACE4, tre4);
} else if (ch == 4) {
qdcd = qdc;
tred = trace_energy;
histo.Plot(D_QDC_TRACED, qdcd);
histo.Plot(D_ENERGY_TRACED, tred);
}
}
if (ch == 0) {
q1 = calEnergy;
histo.Plot(D_RAW1, q1);
} else if (ch == 1) {
q2 = calEnergy;
histo.Plot(D_RAW2, q2);
} else if (ch == 2) {
q3 = calEnergy;
histo.Plot(D_RAW3, q3);
} else if (ch == 3) {
q4 = calEnergy;
histo.Plot(D_RAW4, q4);
} else if (ch == 4) {
qd = calEnergy;
histo.Plot(D_RAWD, qd);
}
//.........这里部分代码省略.........