/* File: bdecayP.h This file creates the parameter tree structure and must be edited in parallel with bdecayParameters_standalone.h mod 1Sep05 by JPC for 03034 and 05028 */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#ifdef HAVE_STD_NAMESPACE using namespace std; //#endif #include #include #include "Parameters-ddas.h" //#if !defined(__CINT__) ClassImp(bdecayBit); ClassImp(bdecayClock); ClassImp(bdecayTrace); ClassImp(bdecayTac); ClassImp(bdecayAdc); ClassImp(bdecayTdc); ClassImp(bdecayTime); ClassImp(bdecayPin); ClassImp(bdecayDssd); //ClassImp(bdecayDssdout); ClassImp(bdecayTotal); ClassImp(bdecayPid); ClassImp(bdecayCorr); ClassImp(bdecaySuN); ClassImp(bdecayDdasDiagnostics); ClassImp(betadecay); ClassImp(rootdataout); //#endif betadecay::betadecay() { //cout << "new betadecay class " << endl; // bit.Reset(); // clock.Reset(); // tac.Reset(); // for(int i=0;i<21;i++){ // adc[i].Reset(); // tdc[i].Reset(); // time[i].Reset(); // } // pin01.Reset(); // pin02.Reset(); // pin03.Reset(); // pin04.Reset(); // front.Reset(); // back.Reset(); // sssd01.Reset(); // sssd02.Reset(); // sssd03.Reset(); // sssd04.Reset(); // sssd05.Reset(); // sssd06.Reset(); // total.Reset(); // pid.Reset(); // corr.Reset(); // sega.Reset(); // segatotal.Reset(); // ddasdiagnostics.Reset(); } betadecay::~betadecay(){ } rootdataout::rootdataout(){ } rootdataout::~rootdataout(){ } void betadecay::Reset() { bit.Reset(); clock.Reset(); tac.Reset(); for(int i=0; i<21; i++) { adc[i].Reset(); tdc[i].Reset(); time[i].Reset(); } pin01.Reset(); pin02.Reset(); veto.Reset(); front.Reset(); back.Reset(); total.Reset(); pid.Reset(); corr.Reset(); sun.Reset(); ddasdiagnostics.Reset(); } void rootdataout::Reset() { clock.Reset(); tac.Reset(); pin01.Reset(); pin02.Reset(); veto.Reset(); front.Reset(); back.Reset(); pid.Reset(); corr.Reset(); sun.Reset(); ddasdiagnostics.Reset(); } void bdecayBit::Reset() { calhitmask = -1; corrmask = -1;; eventstart = -1; } void bdecayClock::Reset() { current = 0; initial = 0; } void bdecayTrace::Reset() { trace.clear(); traceresult.clear(); } int bdecayTrace::ProcessTrace(int crateid, int slotid, int chanid) { int ov, un; ov = un = 0; double max; max = 0; double result; result = 0; double baseline = 0; double energy = 0; Int_t blo, bhi; blo = 100; bhi = 250; Int_t elo, ehi; elo = 350; ehi = 500; if(slotid>=2 && slotid<=5) { for(int i=0; i 4090) ov = 1; if(trace[i] < 5) un = 1; if(trace[i] > max) max = trace[i]; if( (i>blo) && (ielo) && (i