Skip to content
Snippets Groups Projects
Commit 7a0a683e authored by Stephen A. Wood's avatar Stephen A. Wood
Browse files

Start of a Hall C analyzer class

parent a5a739a7
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@
# there must be a corresponding header file (*.h).
SRC = src/THcInterface.cxx src/THcParmList.cxx
SRC = src/THcInterface.cxx src/THcParmList.cxx src/THcAnalyzer.cxx
# Name of your package.
# The shared library that will be built will get the name lib$(PACKAGE).so
......
......@@ -8,5 +8,6 @@
#pragma link C++ class THcInterface+;
#pragma link C++ class THcParmList+;
#pragma link C++ class THcAnalyzer+;
#endif
//*-- Author : Stephen Wood 13-March-2012
//////////////////////////////////////////////////////////////////////////
//
// THcAnalyzer
//
// THcAnalyzer is the base class for a "Hall C analyzer" class.
// An analyzer defines the basic actions to perform during analysis.
// THcAnalyzer is the default analyzer that is used if no user class is
// defined. It performs a standard analysis consisting of
//
// 1. Decoding/Calibrating
// 2. Track Reconstruction
// 3. Physics variable processing
//
// At the end of each step, testing and histogramming are done for
// the appropriate block defined in the global test/histogram lists.
//
// Hall C has their own analyzer class because some things are bound to
// be different.
//
//////////////////////////////////////////////////////////////////////////
#include "THcAnalyzer.h"
#include "THaBenchmark.h"
#include "TList.h"
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <cstring>
using namespace std;
// Pointer to single instance of this object
//THcAnalyzer* THcAnalyzer::fgAnalyzer = 0;
//FIXME:
// do we need to "close" scalers/EPICS analysis if we reach the event limit?
//_____________________________________________________________________________
THcAnalyzer::THcAnalyzer()
{
THaAnalyzer();
}
//_____________________________________________________________________________
THcAnalyzer::~THcAnalyzer()
{
// Destructor.
Close();
delete fPostProcess; //deletes PostProcess objects
delete fBench;
delete [] fStages;
delete [] fCounters;
if( fgAnalyzer == this )
fgAnalyzer = NULL;
}
//_____________________________________________________________________________
ClassImp(THcAnalyzer)
#ifndef ROOT_THcAnalyzer
#define ROOT_THcAnalyzer
//////////////////////////////////////////////////////////////////////////
//
// THcAnalyzer
//
//////////////////////////////////////////////////////////////////////////
#include "THaAnalyzer.h"
class THcAnalyzer : public THaAnalyzer {
public:
THcAnalyzer();
virtual ~THcAnalyzer();
protected:
private:
// THcAnalyzer( const THcAnalyzer& );
// THcAnalyzer& operator=( const THcAnalyzer& );
ClassDef(THcAnalyzer,0) //Hall C Analyzer Standard Event Loop
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment