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

Add decoder classes for FADC250 scalers and TI scalers

parent 297b52cc
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,11 @@ for hcheaderfile in hcheadersbase:
filename = '%s' % hcheaderfile
basefilename = filename.rsplit('.',1)
newbasefilename = basefilename[0].rsplit('/',1)
cmd1 = "echo '#pragma link C++ class %s+;' >> src/HallC_LinkDef.h" % newbasefilename[1]
# Assume filenames beginning with Scaler are decoder classes
if newbasefilename[1][:6] == 'Scaler':
cmd1 = "echo '#pragma link C++ class Decoder::%s+;' >> src/HallC_LinkDef.h" % newbasefilename[1]
else:
cmd1 = "echo '#pragma link C++ class %s+;' >> src/HallC_LinkDef.h" % newbasefilename[1]
os.system(cmd1)
cmd = "cat src/HallC_LinkDef.h_postamble >> src/HallC_LinkDef.h"
......
////////////////////////////////////////////////////////////////////
//
// TI scalers
// Identified by a 9001 bank
//
/////////////////////////////////////////////////////////////////////
#include "Scaler9001.h"
using namespace std;
namespace Decoder {
Module::TypeIter_t Scaler9001::fgThisType =
DoRegister( ModuleType( "Decoder::Scaler9001" , 9001 ));
Scaler9001::Scaler9001(Int_t crate, Int_t slot) : GenScaler(crate, slot) {
Init();
}
Scaler9001::~Scaler9001() {
}
void Scaler9001::Init() {
fNumChan = 12;
fWordsExpect = 12;
GenScaler::GenInit();
}
}
ClassImp(Decoder::Scaler9001)
#ifndef Scaler9001_
#define Scaler9001_
/////////////////////////////////////////////////////////////////////
//
// Scaler9001
// TI scalers
//
/////////////////////////////////////////////////////////////////////
#include "GenScaler.h"
namespace Decoder {
class Scaler9001 : public GenScaler {
public:
Scaler9001() {};
Scaler9001(Int_t crate, Int_t slot);
virtual ~Scaler9001();
virtual void Init();
private:
static TypeIter_t fgThisType;
ClassDef(Scaler9001,0) // TI scalers
};
}
#endif
////////////////////////////////////////////////////////////////////
//
// FADC250 scalers
//
/////////////////////////////////////////////////////////////////////
#include "Scaler9250.h"
using namespace std;
namespace Decoder {
Module::TypeIter_t Scaler9250::fgThisType =
DoRegister( ModuleType( "Decoder::Scaler9250" , 9250 ));
Scaler9250::Scaler9250(Int_t crate, Int_t slot) : GenScaler(crate, slot) {
Init();
}
Scaler9250::~Scaler9250() {
}
void Scaler9250::Init() {
fNumChan = 16;
fWordsExpect = 16;
GenScaler::GenInit();
}
}
ClassImp(Decoder::Scaler9250)
#ifndef Scaler9250_
#define Scaler9250_
/////////////////////////////////////////////////////////////////////
//
// Scaler9250
// FADC250 scalers
//
/////////////////////////////////////////////////////////////////////
#include "GenScaler.h"
namespace Decoder {
class Scaler9250 : public GenScaler {
public:
Scaler9250() {};
Scaler9250(Int_t crate, Int_t slot);
virtual ~Scaler9250();
virtual void Init();
private:
static TypeIter_t fgThisType;
ClassDef(Scaler9250,0) // FADC250 scalers
};
}
#endif
......@@ -40,6 +40,8 @@ To enable debugging you may try this in the setup script
#include "Scaler3801.h"
#include "Scaler1151.h"
#include "Scaler560.h"
#include "Scaler9001.h"
#include "Scaler9250.h"
#include "THaCodaData.h"
#include "THaEvData.h"
#include "TNamed.h"
......@@ -387,6 +389,12 @@ THaAnalysisObject::EStatus THcScalerEvtHandler::Init(const TDatime& date)
case 3801:
scalers.push_back(new Scaler3801(icrate, islot));
break;
case 9001: // TI Scalers
scalers.push_back(new Scaler9001(icrate, islot));
break;
case 9250: // FADC250 Scalers
scalers.push_back(new Scaler9250(icrate, islot));
break;
}
if (scalers.size() > 0) {
UInt_t idx = scalers.size()-1;
......
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