Trace Class Reference

quick online trace analysis More...

#include <trace.h>

Collaboration diagram for Trace:

Collaboration graph

List of all members.

Public Member Functions

int init ()
int analyze (vector< int > &, vector< double > &, string &, string &)
vector< int > filter (vector< int > &, int, int, int, int)
void traceplot (vector< int > &, vector< double > &)
 Trace ()

Private Attributes

vector< double > average
vector< int > v40
vector< int > v50
vector< int > v60
vector< int > v70
vector< int > flt
int thrtime1
int thrtime2
double e1
double e2
int rownum850
int rownum870

Detailed Description

quick online trace analysis

Trace class implements a quick online trapezoidal filter for the identification of double pulses with relatively little computation.

Constructor & Destructor Documentation

Trace::Trace (  ) 

Nothing is done in the Trace constructor

Member Function Documentation

int Trace::init (  ) 

Initialize the trace analysis class. Set the row numbers for spectra 850 and 870 to zero and reserve enough memory for 3000 entries into the filter vectors.

int Trace::analyze ( vector< int > &  trace,
vector< double > &  values,
string &  det_type,
string &  det_subtype 

Function to quickly analyze a trace online. Trapezoidal filters are run across the trace with varying to extract E1 and E2 values and time differences

vector< int > Trace::filter ( vector< int > &  trace,
int  lo,
int  hi,
int  gaptime,
int  risetime 

Defines how to implement a trapezoidal filter characterized by two moving sum windows of width risetime separated by a length gaptime. Filter is calculated from channels lo to hi.

void Trace::traceplot ( vector< int > &  trace,
vector< double > &  values 

From the trace analysis plot the 800s spectra. 850 to 854 show the first few traces of the analysis and their associated filters. 871 - 874 are E2 v E1 and E2 v time difference plots with varying conditions.

Member Data Documentation

vector<double> Trace::average [private]

trace average

vector<int> Trace::v40 [private]

filter with rise= 4, gap= 4

vector<int> Trace::v50 [private]

filter with rise= 10, gap= 10

vector<int> Trace::v60 [private]

filter with rise= 10, gap= 20

vector<int> Trace::v70 [private]

filter not used

vector<int> Trace::flt [private]

vector used in filter function

int Trace::thrtime1 [private]

time of E1 pulse

int Trace::thrtime2 [private]

time of E2 pulse

double Trace::e1 [private]

energy of E1 pulse

double Trace::e2 [private]

energy of E2 pulse

int Trace::rownum850 [private]

rownumber of DAMM spectrum 850

int Trace::rownum870 [private]

rownumber of DAMM spectrum 870

The documentation for this class was generated from the following files:

Generated on Wed May 14 10:07:06 2008 for pixie16 by  doxygen 1.5.5