Compare commits
5 Commits
b4c48497a2
...
ecff324a27
Author | SHA1 | Date | |
---|---|---|---|
|
ecff324a27 | ||
|
bb9923c065 | ||
|
6632ba5d3f | ||
|
b1f5157f68 | ||
|
66e2b9d8f6 |
10
Makefile
10
Makefile
|
@ -48,23 +48,23 @@ pixieDict.cxx : pixieDAQ.h pixieDAQLinkDef.h
|
|||
@echo "--------- creating pcm and cxx "
|
||||
@rootcling -f pixieDict.cxx -c pixieDAQ.h -p $(PIXIE_LIB_PATH) pixieDAQLinkDef.h
|
||||
|
||||
pixieDAQ.o : pixieDict.cxx pixieDAQ.cpp pixieDAQ.h
|
||||
pixieDAQ.o : pixieDict.cxx pixieDAQ.cpp pixieDAQ.h global_macro.h
|
||||
@echo "--------- creating pixieDAQ.o"
|
||||
$(CC) $(CFLAGS) $(PIXIE_LIB_PATH) pixieDAQ.cpp Pixie16Class.cpp pixieDict.cxx $(ROOT_FLAG)
|
||||
|
||||
settingsSummary.o : settingsSummary.cpp settingsSummary.h
|
||||
settingsSummary.o : settingsSummary.cpp settingsSummary.h global_macro.h
|
||||
@echo "--------- creating settingsSummary.o"
|
||||
$(CC) $(CFLAGS) $(PIXIE_LIB_PATH) settingsSummary.cpp $(ROOT_FLAG)
|
||||
|
||||
scalarPanel.o : scalarPanel.cpp scalarPanel.h
|
||||
scalarPanel.o : scalarPanel.cpp scalarPanel.h global_macro.h
|
||||
@echo "--------- creating scalarPanel.o.o"
|
||||
$(CC) $(CFLAGS) $(PIXIE_LIB_PATH) scalarPanel.cpp $(ROOT_FLAG)
|
||||
|
||||
moduleSetting.o : moduleSetting.cpp moduleSetting.h
|
||||
moduleSetting.o : moduleSetting.cpp moduleSetting.h global_macro.h
|
||||
@echo "--------- creating moduleSetting.o"
|
||||
$(CC) $(CFLAGS) $(PIXIE_LIB_PATH) moduleSetting.cpp $(ROOT_FLAG)
|
||||
|
||||
channelSetting.o : channelSetting.cpp channelSetting.h
|
||||
channelSetting.o : channelSetting.cpp channelSetting.h global_macro.h
|
||||
@echo "--------- creating channelSetting.o"
|
||||
$(CC) $(CFLAGS) $(PIXIE_LIB_PATH) channelSetting.cpp $(ROOT_FLAG)
|
||||
|
||||
|
|
|
@ -19,10 +19,10 @@ S 2 0 25
|
|||
##########################################################################################################
|
||||
|
||||
#250MHz 16-bit
|
||||
F 25 0 /usr/opt/Pixie16/pixie16_revf_general_16b250m_35921_2017-01-09/firmware/syspixie16_revfgeneral_adc250mhz_r33339.bin
|
||||
F 25 1 /usr/opt/Pixie16/pixie16_revf_general_16b250m_35921_2017-01-09/firmware/fippixie16_revfgeneral_16b250m_r36563.bin
|
||||
F 25 2 /usr/opt/Pixie16/pixie16_revf_general_16b250m_35921_2017-01-09/dsp/Pixie16DSP_revfgeneral_16b250m_r35921.ldr
|
||||
F 25 3 /usr/opt/Pixie16/pixie16_revf_general_16b250m_35921_2017-01-09/dsp/Pixie16DSP_revfgeneral_16b250m_r35921.var
|
||||
F 25 0 ./firmware/pixie16_revf_general_16b250m_35921_2017-01-09/firmware/syspixie16_revfgeneral_adc250mhz_r33339.bin
|
||||
F 25 1 ./firmware/pixie16_revf_general_16b250m_35921_2017-01-09/firmware/fippixie16_revfgeneral_16b250m_r36563.bin
|
||||
F 25 2 ./firmware/pixie16_revf_general_16b250m_35921_2017-01-09/dsp/Pixie16DSP_revfgeneral_16b250m_r35921.ldr
|
||||
F 25 3 ./firmware/pixie16_revf_general_16b250m_35921_2017-01-09/dsp/Pixie16DSP_revfgeneral_16b250m_r35921.var
|
||||
F 25 4 test_ryan.set
|
||||
|
||||
#250MHz 12-bit
|
||||
|
|
|
@ -54,6 +54,14 @@ Pixie16::Pixie16(){
|
|||
ExtFIFO_Data = NULL;
|
||||
Statistics = NULL;
|
||||
|
||||
FIFOEnergies = new unsigned short[MAXFIFODATABLOCK];
|
||||
FIFOChannels = new unsigned short[MAXFIFODATABLOCK];
|
||||
FIFOMods = new unsigned short[MAXFIFODATABLOCK];
|
||||
FIFOTimestamps = new unsigned long long[MAXFIFODATABLOCK];
|
||||
FIFONumDataBlock = 0;
|
||||
AccumulatedFIFONumDataBlock = 0;
|
||||
FIFOisUsed = false;
|
||||
|
||||
data = new DataBlock();
|
||||
nextWord = 0;
|
||||
|
||||
|
@ -65,6 +73,11 @@ Pixie16::~Pixie16(){
|
|||
|
||||
CloseDigitizers();
|
||||
|
||||
delete FIFOEnergies;
|
||||
delete FIFOChannels;
|
||||
delete FIFOMods;
|
||||
delete FIFOTimestamps;
|
||||
|
||||
delete PXISlotMap;
|
||||
delete ch2ns;
|
||||
delete ComFPGAConfigFile;
|
||||
|
@ -371,10 +384,12 @@ void Pixie16::StartRun(bool listMode){
|
|||
if( listMode ){
|
||||
///listmode
|
||||
totNumFIFOWords = 0;
|
||||
AccumulatedFIFONumDataBlock = 0;
|
||||
nextWord = 0;
|
||||
retval = Pixie16StartListModeRun(NumModules, LIST_MODE_RUN, mode);
|
||||
if( CheckError("Pixie16StartListModeRun") < 0 ) return;
|
||||
printf("\033[32m LIST_MODE run\033[0m\n");
|
||||
|
||||
}else{
|
||||
///MCA mode
|
||||
retval = Pixie16StartHistogramRun(NumModules, mode);
|
||||
|
@ -383,8 +398,6 @@ void Pixie16::StartRun(bool listMode){
|
|||
}
|
||||
|
||||
isRunning = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -418,23 +431,36 @@ void Pixie16::ReadData(unsigned short modID){
|
|||
retval = Pixie16ReadDataFromExternalFIFO(ExtFIFO_Data, nFIFOWords, modID);
|
||||
CheckError("Pixie16ReadDataFromExternalFIFO");
|
||||
totNumFIFOWords += nFIFOWords;
|
||||
FIFONumDataBlock = 0;
|
||||
}
|
||||
}else{
|
||||
printf("Pixie16 is not running.\n");
|
||||
///printf("Pixie16 is not running.\n");
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int Pixie16::ScanNumDataBlockInExtFIFO(){
|
||||
|
||||
unsigned int numDataBlock = 0;
|
||||
unsigned int nextWordtemp = nextWord;
|
||||
|
||||
///if( nextWordtemp < nFIFOWords ) printf("============= FIFOWord : %u \n", nFIFOWords);
|
||||
while( nextWordtemp < nFIFOWords ){
|
||||
nextWordtemp += (ExtFIFO_Data[nextWordtemp] >> 17) & 0x3FFF;
|
||||
numDataBlock ++;
|
||||
|
||||
unsigned short eventLen = (ExtFIFO_Data[nextWordtemp] >> 17) & 0x3FFF;
|
||||
|
||||
FIFOEnergies[FIFONumDataBlock] = (ExtFIFO_Data[nextWordtemp + 3] & 0xFFFF );
|
||||
FIFOChannels[FIFONumDataBlock] = (ExtFIFO_Data[nextWordtemp] & 0xF );
|
||||
FIFOMods[FIFONumDataBlock] = ((ExtFIFO_Data[nextWordtemp] >> 4) & 0xF) - 2;
|
||||
FIFOTimestamps[FIFONumDataBlock] = ((unsigned long long)(ExtFIFO_Data[nextWordtemp+2] & 0xFFFF) << 32) + ExtFIFO_Data[nextWordtemp+1];
|
||||
|
||||
nextWordtemp += eventLen;
|
||||
///printf("%u | nextWordtemp %u, nextWord %u, ch %u, energy %u \n", FIFONumDataBlock, nextWordtemp, nextWord, FIFOChannels[FIFONumDataBlock], FIFOEnergies[FIFONumDataBlock]);
|
||||
FIFONumDataBlock ++;
|
||||
}
|
||||
|
||||
return numDataBlock;
|
||||
nextWord = nextWordtemp - nFIFOWords ;
|
||||
AccumulatedFIFONumDataBlock += FIFONumDataBlock;
|
||||
|
||||
return FIFONumDataBlock;
|
||||
}
|
||||
|
||||
int Pixie16::ProcessSingleData(){
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
#include "pixie16/pixie16.h"
|
||||
#include "DataBlock.h"
|
||||
|
||||
#define MAXFIFODATABLOCK 1000 ///max FIFO Datablack for one read
|
||||
|
||||
enum CSRA_BIT{
|
||||
FAST_TRIGGER = 0x00000001,
|
||||
M_VALIDATION = 0x00000002,
|
||||
|
@ -77,7 +79,13 @@ private:
|
|||
unsigned int * Statistics;
|
||||
unsigned int totNumFIFOWords;
|
||||
|
||||
|
||||
unsigned short * FIFOMods;
|
||||
unsigned short * FIFOChannels;
|
||||
unsigned short * FIFOEnergies;
|
||||
unsigned long long * FIFOTimestamps;
|
||||
unsigned int FIFONumDataBlock;
|
||||
unsigned int AccumulatedFIFONumDataBlock;
|
||||
bool FIFOisUsed;
|
||||
|
||||
double Baselines[3640], TimeStamps[3640]; ///for baseline
|
||||
unsigned short ADCTrace[8192];
|
||||
|
@ -196,14 +204,24 @@ public:
|
|||
|
||||
void CheckExternalFIFOWords(unsigned short modID);
|
||||
void ReadData(unsigned short modID);
|
||||
unsigned int ScanNumDataBlockInExtFIFO();
|
||||
|
||||
|
||||
unsigned int GetTotalNumWords() {return totNumFIFOWords;}
|
||||
unsigned int GetnFIFOWords() {return nFIFOWords;}
|
||||
unsigned int GetNextWord() {return nextWord;}
|
||||
DataBlock * GetData() {return data;}
|
||||
unsigned int GetnFIFOWords() {return nFIFOWords;}
|
||||
unsigned int GetNextWord() {return nextWord;}
|
||||
DataBlock * GetData() {return data;}
|
||||
|
||||
int ProcessSingleData();
|
||||
unsigned int ScanNumDataBlockInExtFIFO(); /// also fill the FIFOEnergies, FIFOChannels, FIFOTimestamps, output FIFONumDataBlock
|
||||
unsigned int GetAccumulatedFIFONumDataBlock() {return AccumulatedFIFONumDataBlock;}
|
||||
unsigned int GetFIFONumDataBlock() {return FIFONumDataBlock;}
|
||||
unsigned short * GetFIFOEnergies() {return FIFOEnergies;}
|
||||
unsigned short * GetFIFOChannels() {return FIFOChannels;}
|
||||
unsigned short * GetFIFOMods() {return FIFOMods;}
|
||||
unsigned long long * GetFIFOTimestamps() {return FIFOTimestamps;}
|
||||
|
||||
/// FIFOisUsed is not used in this Class, it is for sync in thread
|
||||
void SetFIFOisUsed(bool isUsed) {this->FIFOisUsed = isUsed;};
|
||||
bool GetFIFOisUsed() {return FIFOisUsed;}
|
||||
|
||||
void PrintExtFIFOWords() {
|
||||
unsigned int nWords = (ExtFIFO_Data[nextWord] >> 17) & 0x3FFF;
|
||||
|
|
|
@ -78,6 +78,7 @@ ChannelSetting::ChannelSetting(const TGWindow *p, UInt_t w, UInt_t h, Pixie16 *
|
|||
modIDEntry->SetWidth(50);
|
||||
modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1);
|
||||
modIDEntry->Connect("Modified()", "ChannelSetting", this, "ChangeMod()");
|
||||
if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false);
|
||||
hframe0->AddFrame(modIDEntry, new TGLayoutHints(kLHintsCenterX , 5, 5, 3, 4));
|
||||
|
||||
TGLabel * lb1 = new TGLabel(hframe0, "Channel :");
|
||||
|
|
|
@ -7,13 +7,11 @@
|
|||
#include <TGLabel.h>
|
||||
|
||||
#include "Pixie16Class.h"
|
||||
#include "global_macro.h"
|
||||
|
||||
class TGWindow;
|
||||
class TGMainFrame;
|
||||
|
||||
#define MAXCH 16
|
||||
#define NUM_CHANNEL_SETTING 25
|
||||
|
||||
class ChannelSetting{
|
||||
private:
|
||||
TGMainFrame * fMain;
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
This sample Pixie-16 FSU sample setup settings file assume only two Pixie-16 modules are used in the DAQ system:
|
||||
|
||||
#0 an existing RevD 12-bit, 100 MHz module
|
||||
#1 the new RevF 16-bit, 250 MHz module
|
Binary file not shown.
|
@ -0,0 +1,254 @@
|
|||
0x00049180 seg_pmda..LeftDAC
|
||||
0x00049190 seg_pmda..RightDAC
|
||||
0x000491a0 seg_pmda..LeftF
|
||||
0x000491b0 seg_pmda..RightF
|
||||
0x000491c0 seg_pmda..MiddleF
|
||||
0x000491d0 seg_pmda..ChanCount
|
||||
0x000491d1 seg_pmda..x
|
||||
0x000491d2 seg_pmda..q
|
||||
0x000491d3 seg_pmda..elm
|
||||
0x000491d4 seg_pmda..elmg
|
||||
0x000491d5 seg_pmda..channumber
|
||||
0x000491d6 seg_pmda..Numer
|
||||
0x000491d7 seg_pmda..Denom
|
||||
0x000491d8 seg_pmda..NegOneOverTau
|
||||
0x000491d9 seg_pmda..Beta_L
|
||||
0x000491da seg_pmda..Beta_G
|
||||
0x000491db seg_pmda..Beta_GL
|
||||
0x000491dc seg_pmda..L
|
||||
0x000491dd seg_pmda..G
|
||||
0x000491de seg_pmda..saveIMASK
|
||||
0x000491df seg_pmda..count
|
||||
0x000491e0 seg_pmda..DecPeriod
|
||||
0x000491e1 seg_pmda..FIPPIclear
|
||||
0x000491e2 seg_pmda..BLAverage
|
||||
0x000491f2 seg_pmda..BLVariance
|
||||
0x00049202 seg_pmda..BLCounter
|
||||
0x00049212 seg_pmda..InverseBLCounter
|
||||
0x00049222 seg_pmda..EnergyCorr
|
||||
0x00049252 seg_pmda..DCoffsetCorr
|
||||
0x00049262 seg_pmda..BLtoDC_Coeff
|
||||
0x00049272 seg_pmda..RunActive
|
||||
0x00049273 seg_pmda..RunType
|
||||
0x00049274 seg_pmda..URetNum
|
||||
0x00049275 seg_pmda..RT0a
|
||||
0x00049276 seg_pmda..RT0b
|
||||
0x00049277 seg_pmda..RT1a
|
||||
0x00049278 seg_pmda..RT1b
|
||||
0x00049279 seg_pmda..LastAccumulatedRunTimeA
|
||||
0x0004927a seg_pmda..LastAccumulatedRunTimeB
|
||||
0x0004927b seg_pmda..LastAccumulatedLiveTimeA
|
||||
0x0004928b seg_pmda..LastAccumulatedLiveTimeB
|
||||
0x0004929b seg_pmda..LastAccumulatedFastPeaksA
|
||||
0x000492ab seg_pmda..LastAccumulatedFastPeaksB
|
||||
0x000492bb seg_pmda..InEventLoop
|
||||
0x000492bc seg_pmda..ChReadMask
|
||||
0x000492bd seg_pmda..keepCSR
|
||||
0x000492be seg_pmda..BaseRejects
|
||||
0x000492ce seg_pmda..FIPPIaddr
|
||||
0x000492de seg_pmda..FIFOaddr
|
||||
0x000492ee seg_pmda..NewRun
|
||||
0x000492fe seg_pmda..Bsums
|
||||
0x0004932e seg_pmda..Baselines
|
||||
0x0004933e seg_pmda..GetBaseRet
|
||||
0x0004934e seg_pmda..BLcut_Float
|
||||
0x0004935e seg_pmda..Log2Bweight_Float
|
||||
0x0004936e seg_pmda..EventLength
|
||||
0x0004937e seg_pmda..HeaderLength
|
||||
0x0004938e seg_pmda..AllChsEventLenSum
|
||||
0x0004938f seg_pmda..TraceDPMAddr
|
||||
0x0004939f seg_pmda..HeaderDPMLevel
|
||||
0x000493a0 seg_pmda..HeaderDPMAddr
|
||||
0x000493b0 seg_pmda..HeaderDPMReadPntr
|
||||
0x000493c0 seg_pmda..HeaderDPMWords
|
||||
0x000493f0 seg_pmda..ReadOutHeaderChsBM
|
||||
0x000493f1 seg_pmda..HeaderChsToBeReadBM
|
||||
0x000493f2 seg_pmda..HeaderChsAlreadyRead
|
||||
0x000493f3 seg_pmda..ChanNumInEventsQueue
|
||||
0x00049403 seg_pmda..LastElapsedRunTime
|
||||
0x00049404 seg_pmda..Fipreg2LoAllChs
|
||||
0x00049414 seg_pmda..Fipreg2HiAllChs
|
||||
0x00049424 seg_pmda..Gamma0
|
||||
0x00049434 seg_pmda..Gamma1
|
||||
0x00049444 seg_pmda..BaseBinAddress
|
||||
0x00049445 seg_pmda..TraceStartAddr
|
||||
0x00049446 seg_pmda..RcdTraceLength
|
||||
0x00049447 seg_pmda..TransmittedEventsCounter
|
||||
0x00049448 seg_pmda..ChanCount
|
||||
0x00049449 seg_pmda..FipBaseAddr
|
||||
0x0004944a seg_pmda..Fipreg0Lo
|
||||
0x0004944b seg_pmda..Fipreg0Hi
|
||||
0x0004944c seg_pmda..Fipreg1Lo
|
||||
0x0004944d seg_pmda..Fipreg1Hi
|
||||
0x0004944e seg_pmda..Fipreg2Lo
|
||||
0x0004944f seg_pmda..Fipreg2Hi
|
||||
0x00049450 seg_pmda..Fipreg5Lo
|
||||
0x00049451 seg_pmda..Fipreg5Hi
|
||||
0x00049452 seg_pmda..Fipreg17Lo
|
||||
0x00049453 seg_pmda..Fipreg17Hi
|
||||
0x00049454 seg_pmda..Fipreg22Lo
|
||||
0x00049455 seg_pmda..Fipreg22Hi
|
||||
0x00049456 seg_pmda..Fipreg6Lo
|
||||
0x00049457 seg_pmda..Fipreg6Hi
|
||||
0x00049458 seg_pmda..Fipreg7Lo
|
||||
0x00049459 seg_pmda..Fipreg7Hi
|
||||
0x0004945a seg_pmda..Fipreg13Lo
|
||||
0x0004945b seg_pmda..Fipreg13Hi
|
||||
0x0004945c seg_pmda..DACvalue
|
||||
0x0004945d seg_pmda..saveOffsetDACs
|
||||
0x0004946d seg_pmda..BaseBinAddress
|
||||
0x0004946e seg_pmda..TraceStartAddr
|
||||
0x0004946f seg_pmda..RcdTraceLength
|
||||
0x00049470 seg_pmda..RcdTraceFlag
|
||||
0x00049471 seg_pmda..ComEnergyFlag
|
||||
0x00049472 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049473 seg_pmda..RcdEventLength
|
||||
0x00049474 seg_pmda..RcdHeaderLength
|
||||
0x00049475 seg_pmda..EventID
|
||||
0x00049476 seg_pmda..TimestampLo
|
||||
0x00049477 seg_pmda..TimestampHiCFD
|
||||
0x00049478 seg_pmda..extts_lo
|
||||
0x00049479 seg_pmda..extts_hi
|
||||
0x0004947a seg_pmda..RangeBadFlag
|
||||
0x0004947b seg_pmda..BaseBinAddress
|
||||
0x0004947c seg_pmda..TraceStartAddr
|
||||
0x0004947d seg_pmda..RcdTraceLength
|
||||
0x0004947e seg_pmda..TransmittedEventsCounter
|
||||
0x0004947f seg_pmda..RcdTraceFlag
|
||||
0x00049480 seg_pmda..ComEnergyFlag
|
||||
0x00049481 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049482 seg_pmda..RcdEventLength
|
||||
0x00049483 seg_pmda..RcdHeaderLength
|
||||
0x00049484 seg_pmda..EventID
|
||||
0x00049485 seg_pmda..TimestampLo
|
||||
0x00049486 seg_pmda..TimestampHiCFD
|
||||
0x00049487 seg_pmda..extts_lo
|
||||
0x00049488 seg_pmda..extts_hi
|
||||
0x00049489 seg_pmda..RangeBadFlag
|
||||
0x0004948a seg_pmda..tempstack
|
||||
0x0004948f seg_pmda..SumX
|
||||
0x0004949f seg_pmda..SumY
|
||||
0x000494af seg_pmda..SumY2
|
||||
0x000494bf seg_pmda..SumXY
|
||||
0x000494cf seg_pmda..SumX2
|
||||
0x000494df seg_pmda..SumN
|
||||
0x0004a000 seg_IOparams..ModNum
|
||||
0x0004a001 seg_IOparams..ModCSRA
|
||||
0x0004a002 seg_IOparams..ModCSRB
|
||||
0x0004a003 seg_IOparams..ModFormat
|
||||
0x0004a004 seg_IOparams..RunTask
|
||||
0x0004a005 seg_IOparams..ControlTask
|
||||
0x0004a006 seg_IOparams..MaxEvents
|
||||
0x0004a007 seg_IOparams..CoincPattern
|
||||
0x0004a008 seg_IOparams..CoincWait
|
||||
0x0004a009 seg_IOparams..SynchWait
|
||||
0x0004a00a seg_IOparams..InSynch
|
||||
0x0004a00b seg_IOparams..Resume
|
||||
0x0004a00c seg_IOparams..SlowFilterRange
|
||||
0x0004a00d seg_IOparams..FastFilterRange
|
||||
0x0004a00e seg_IOparams..ChanNum
|
||||
0x0004a00f seg_IOparams..HostIO
|
||||
0x0004a01f seg_IOparams..UserIn
|
||||
0x0004a02f seg_IOparams..FastTrigBackplaneEna
|
||||
0x0004a030 seg_IOparams..CrateID
|
||||
0x0004a031 seg_IOparams..SlotID
|
||||
0x0004a032 seg_IOparams..ModID
|
||||
0x0004a033 seg_IOparams..TrigConfig
|
||||
0x0004a037 seg_IOparams..U00
|
||||
0x0004a03e seg_IOparams..HostRunTimePreset
|
||||
0x0004a03f seg_IOparams..PowerUpInitDone
|
||||
0x0004a040 seg_IOparams..ChanCSRa
|
||||
0x0004a050 seg_IOparams..ChanCSRb
|
||||
0x0004a060 seg_IOparams..GainDAC
|
||||
0x0004a070 seg_IOparams..OffsetDAC
|
||||
0x0004a080 seg_IOparams..DigGain
|
||||
0x0004a090 seg_IOparams..SlowLength
|
||||
0x0004a0a0 seg_IOparams..SlowGap
|
||||
0x0004a0b0 seg_IOparams..FastLength
|
||||
0x0004a0c0 seg_IOparams..FastGap
|
||||
0x0004a0d0 seg_IOparams..PeakSample
|
||||
0x0004a0e0 seg_IOparams..PeakSep
|
||||
0x0004a0f0 seg_IOparams..CFDThresh
|
||||
0x0004a100 seg_IOparams..FastThresh
|
||||
0x0004a110 seg_IOparams..ThreshWidth
|
||||
0x0004a120 seg_IOparams..PAFlength
|
||||
0x0004a130 seg_IOparams..TriggerDelay
|
||||
0x0004a140 seg_IOparams..ResetDelay
|
||||
0x0004a150 seg_IOparams..ChanTrigStretch
|
||||
0x0004a160 seg_IOparams..TraceLength
|
||||
0x0004a170 seg_IOparams..Xwait
|
||||
0x0004a180 seg_IOparams..TrigOutLen
|
||||
0x0004a190 seg_IOparams..EnergyLow
|
||||
0x0004a1a0 seg_IOparams..Log2Ebin
|
||||
0x0004a1b0 seg_IOparams..MultiplicityMaskL
|
||||
0x0004a1c0 seg_IOparams..PSAoffset
|
||||
0x0004a1d0 seg_IOparams..PSAlength
|
||||
0x0004a1e0 seg_IOparams..Integrator
|
||||
0x0004a1f0 seg_IOparams..BLcut
|
||||
0x0004a200 seg_IOparams..BaselinePercent
|
||||
0x0004a210 seg_IOparams..FtrigoutDelay
|
||||
0x0004a220 seg_IOparams..Log2Bweight
|
||||
0x0004a230 seg_IOparams..PreampTau
|
||||
0x0004a240 seg_IOparams..Xavg
|
||||
0x0004a250 seg_IOparams..MultiplicityMaskH
|
||||
0x0004a260 seg_IOparams..FastTrigBackLen
|
||||
0x0004a270 seg_IOparams..CFDDelay
|
||||
0x0004a280 seg_IOparams..CFDScale
|
||||
0x0004a290 seg_IOparams..ExtTrigStretch
|
||||
0x0004a2a0 seg_IOparams..VetoStretch
|
||||
0x0004a2b0 seg_IOparams..ExternDelayLen
|
||||
0x0004a2c0 seg_IOparams..QDCLen0
|
||||
0x0004a2d0 seg_IOparams..QDCLen1
|
||||
0x0004a2e0 seg_IOparams..QDCLen2
|
||||
0x0004a2f0 seg_IOparams..QDCLen3
|
||||
0x0004a300 seg_IOparams..QDCLen4
|
||||
0x0004a310 seg_IOparams..QDCLen5
|
||||
0x0004a320 seg_IOparams..QDCLen6
|
||||
0x0004a330 seg_IOparams..QDCLen7
|
||||
0x0004a340 seg_IOparams..RealTimeA
|
||||
0x0004a341 seg_IOparams..RealTimeB
|
||||
0x0004a342 seg_IOparams..RunTimeA
|
||||
0x0004a343 seg_IOparams..RunTimeB
|
||||
0x0004a344 seg_IOparams..GSLTtime
|
||||
0x0004a345 seg_IOparams..NumEventsA
|
||||
0x0004a346 seg_IOparams..NumEventsB
|
||||
0x0004a347 seg_IOparams..DSPerror
|
||||
0x0004a348 seg_IOparams..SynchDone
|
||||
0x0004a349 seg_IOparams..BufHeadLen
|
||||
0x0004a34a seg_IOparams..EventHeadLen
|
||||
0x0004a34b seg_IOparams..ChanHeadLen
|
||||
0x0004a34c seg_IOparams..UserOut
|
||||
0x0004a35c seg_IOparams..AOutBuffer
|
||||
0x0004a35d seg_IOparams..LOutBuffer
|
||||
0x0004a35e seg_IOparams..AECorr
|
||||
0x0004a35f seg_IOparams..LECorr
|
||||
0x0004a360 seg_IOparams..HardwareID
|
||||
0x0004a361 seg_IOparams..HardVariant
|
||||
0x0004a362 seg_IOparams..FIFOLength
|
||||
0x0004a363 seg_IOparams..FippiID
|
||||
0x0004a364 seg_IOparams..FippiVariant
|
||||
0x0004a365 seg_IOparams..DSPrelease
|
||||
0x0004a366 seg_IOparams..DSPbuild
|
||||
0x0004a367 seg_IOparams..DSPVariant
|
||||
0x0004a368 seg_IOparams..U20
|
||||
0x0004a37f seg_IOparams..LiveTimeA
|
||||
0x0004a38f seg_IOparams..LiveTimeB
|
||||
0x0004a39f seg_IOparams..FastPeaksA
|
||||
0x0004a3af seg_IOparams..FastPeaksB
|
||||
0x0004a3bf seg_IOparams..OverflowA
|
||||
0x0004a3cf seg_IOparams..OverflowB
|
||||
0x0004a3df seg_IOparams..InSpecA
|
||||
0x0004a3ef seg_IOparams..InSpecB
|
||||
0x0004a3ff seg_IOparams..UnderflowA
|
||||
0x0004a40f seg_IOparams..UnderflowB
|
||||
0x0004a41f seg_IOparams..ChanEventsA
|
||||
0x0004a42f seg_IOparams..ChanEventsB
|
||||
0x0004a43f seg_IOparams..AutoTau
|
||||
0x0004a44f seg_IOparams..U30
|
||||
0x0004a500 seg_Cirbuf..Cirbuf
|
||||
0x0004d500 seg_dmda.._errno
|
||||
0x0004d504 seg_dmda..exponential_data
|
||||
0x0004d519 seg_dmda..exponential_data
|
||||
0x0004d525 seg_dmda..logs_data
|
||||
0x0004e000 seg_TransBuf..TransBuf
|
||||
0x00050000 seg_IObuf..IObuffer
|
|
@ -0,0 +1,113 @@
|
|||
0x0004a000 ModNum
|
||||
0x0004a001 ModCSRA
|
||||
0x0004a002 ModCSRB
|
||||
0x0004a003 ModFormat
|
||||
0x0004a004 RunTask
|
||||
0x0004a005 ControlTask
|
||||
0x0004a006 MaxEvents
|
||||
0x0004a007 CoincPattern
|
||||
0x0004a008 CoincWait
|
||||
0x0004a009 SynchWait
|
||||
0x0004a00a InSynch
|
||||
0x0004a00b Resume
|
||||
0x0004a00c SlowFilterRange
|
||||
0x0004a00d FastFilterRange
|
||||
0x0004a00e ChanNum
|
||||
0x0004a00f HostIO
|
||||
0x0004a01f UserIn
|
||||
0x0004a02f FastTrigBackplaneEna
|
||||
0x0004a030 CrateID
|
||||
0x0004a031 SlotID
|
||||
0x0004a032 ModID
|
||||
0x0004a033 TrigConfig
|
||||
0x0004a037 U00
|
||||
0x0004a03e HostRunTimePreset
|
||||
0x0004a03f PowerUpInitDone
|
||||
0x0004a040 ChanCSRa
|
||||
0x0004a050 ChanCSRb
|
||||
0x0004a060 GainDAC
|
||||
0x0004a070 OffsetDAC
|
||||
0x0004a080 DigGain
|
||||
0x0004a090 SlowLength
|
||||
0x0004a0a0 SlowGap
|
||||
0x0004a0b0 FastLength
|
||||
0x0004a0c0 FastGap
|
||||
0x0004a0d0 PeakSample
|
||||
0x0004a0e0 PeakSep
|
||||
0x0004a0f0 CFDThresh
|
||||
0x0004a100 FastThresh
|
||||
0x0004a110 ThreshWidth
|
||||
0x0004a120 PAFlength
|
||||
0x0004a130 TriggerDelay
|
||||
0x0004a140 ResetDelay
|
||||
0x0004a150 ChanTrigStretch
|
||||
0x0004a160 TraceLength
|
||||
0x0004a170 Xwait
|
||||
0x0004a180 TrigOutLen
|
||||
0x0004a190 EnergyLow
|
||||
0x0004a1a0 Log2Ebin
|
||||
0x0004a1b0 MultiplicityMaskL
|
||||
0x0004a1c0 PSAoffset
|
||||
0x0004a1d0 PSAlength
|
||||
0x0004a1e0 Integrator
|
||||
0x0004a1f0 BLcut
|
||||
0x0004a200 BaselinePercent
|
||||
0x0004a210 FtrigoutDelay
|
||||
0x0004a220 Log2Bweight
|
||||
0x0004a230 PreampTau
|
||||
0x0004a240 Xavg
|
||||
0x0004a250 MultiplicityMaskH
|
||||
0x0004a260 FastTrigBackLen
|
||||
0x0004a270 CFDDelay
|
||||
0x0004a280 CFDScale
|
||||
0x0004a290 ExtTrigStretch
|
||||
0x0004a2a0 VetoStretch
|
||||
0x0004a2b0 ExternDelayLen
|
||||
0x0004a2c0 QDCLen0
|
||||
0x0004a2d0 QDCLen1
|
||||
0x0004a2e0 QDCLen2
|
||||
0x0004a2f0 QDCLen3
|
||||
0x0004a300 QDCLen4
|
||||
0x0004a310 QDCLen5
|
||||
0x0004a320 QDCLen6
|
||||
0x0004a330 QDCLen7
|
||||
0x0004a340 RealTimeA
|
||||
0x0004a341 RealTimeB
|
||||
0x0004a342 RunTimeA
|
||||
0x0004a343 RunTimeB
|
||||
0x0004a344 GSLTtime
|
||||
0x0004a345 NumEventsA
|
||||
0x0004a346 NumEventsB
|
||||
0x0004a347 DSPerror
|
||||
0x0004a348 SynchDone
|
||||
0x0004a349 BufHeadLen
|
||||
0x0004a34a EventHeadLen
|
||||
0x0004a34b ChanHeadLen
|
||||
0x0004a34c UserOut
|
||||
0x0004a35c AOutBuffer
|
||||
0x0004a35d LOutBuffer
|
||||
0x0004a35e AECorr
|
||||
0x0004a35f LECorr
|
||||
0x0004a360 HardwareID
|
||||
0x0004a361 HardVariant
|
||||
0x0004a362 FIFOLength
|
||||
0x0004a363 FippiID
|
||||
0x0004a364 FippiVariant
|
||||
0x0004a365 DSPrelease
|
||||
0x0004a366 DSPbuild
|
||||
0x0004a367 DSPVariant
|
||||
0x0004a368 U20
|
||||
0x0004a37f LiveTimeA
|
||||
0x0004a38f LiveTimeB
|
||||
0x0004a39f FastPeaksA
|
||||
0x0004a3af FastPeaksB
|
||||
0x0004a3bf OverflowA
|
||||
0x0004a3cf OverflowB
|
||||
0x0004a3df InSpecA
|
||||
0x0004a3ef InSpecB
|
||||
0x0004a3ff UnderflowA
|
||||
0x0004a40f UnderflowB
|
||||
0x0004a41f ChanEventsA
|
||||
0x0004a42f ChanEventsB
|
||||
0x0004a43f AutoTau
|
||||
0x0004a44f U30
|
Binary file not shown.
|
@ -0,0 +1,266 @@
|
|||
0x00049180 seg_pmda..LeftDAC
|
||||
0x00049190 seg_pmda..RightDAC
|
||||
0x000491a0 seg_pmda..LeftF
|
||||
0x000491b0 seg_pmda..RightF
|
||||
0x000491c0 seg_pmda..MiddleF
|
||||
0x000491d0 seg_pmda..ChanCount
|
||||
0x000491d1 seg_pmda..x
|
||||
0x000491d2 seg_pmda..q
|
||||
0x000491d3 seg_pmda..elm
|
||||
0x000491d4 seg_pmda..elmg
|
||||
0x000491d5 seg_pmda..channumber
|
||||
0x000491d6 seg_pmda..Numer
|
||||
0x000491d7 seg_pmda..Denom
|
||||
0x000491d8 seg_pmda..NegOneOverTau
|
||||
0x000491d9 seg_pmda..Beta_L
|
||||
0x000491da seg_pmda..Beta_G
|
||||
0x000491db seg_pmda..Beta_GL
|
||||
0x000491dc seg_pmda..L
|
||||
0x000491dd seg_pmda..G
|
||||
0x000491de seg_pmda..saveIMASK
|
||||
0x000491df seg_pmda..count
|
||||
0x000491e0 seg_pmda..DecPeriod
|
||||
0x000491e1 seg_pmda..FIPPIclear
|
||||
0x000491e2 seg_pmda..BLAverage
|
||||
0x000491f2 seg_pmda..BLVariance
|
||||
0x00049202 seg_pmda..BLCounter
|
||||
0x00049212 seg_pmda..InverseBLCounter
|
||||
0x00049222 seg_pmda..EnergyCorr
|
||||
0x00049252 seg_pmda..DCoffsetCorr
|
||||
0x00049262 seg_pmda..BLtoDC_Coeff
|
||||
0x00049272 seg_pmda..RunActive
|
||||
0x00049273 seg_pmda..RunType
|
||||
0x00049274 seg_pmda..URetNum
|
||||
0x00049275 seg_pmda..RT0a
|
||||
0x00049276 seg_pmda..RT0b
|
||||
0x00049277 seg_pmda..RT1a
|
||||
0x00049278 seg_pmda..RT1b
|
||||
0x00049279 seg_pmda..LastAccumulatedRunTimeA
|
||||
0x0004927a seg_pmda..LastAccumulatedRunTimeB
|
||||
0x0004927b seg_pmda..LastAccumulatedLiveTimeA
|
||||
0x0004928b seg_pmda..LastAccumulatedLiveTimeB
|
||||
0x0004929b seg_pmda..LastAccumulatedFastPeaksA
|
||||
0x000492ab seg_pmda..LastAccumulatedFastPeaksB
|
||||
0x000492bb seg_pmda..InEventLoop
|
||||
0x000492bc seg_pmda..ChReadMask
|
||||
0x000492bd seg_pmda..keepCSR
|
||||
0x000492be seg_pmda..BaseRejects
|
||||
0x000492ce seg_pmda..FIPPIaddr
|
||||
0x000492de seg_pmda..FIFOaddr
|
||||
0x000492ee seg_pmda..NewRun
|
||||
0x000492fe seg_pmda..Bsums
|
||||
0x0004932e seg_pmda..Baselines
|
||||
0x0004933e seg_pmda..GetBaseRet
|
||||
0x0004934e seg_pmda..BLcut_Float
|
||||
0x0004935e seg_pmda..Log2Bweight_Float
|
||||
0x0004936e seg_pmda..EventLength
|
||||
0x0004937e seg_pmda..HeaderLength
|
||||
0x0004938e seg_pmda..AllChsEventLenSum
|
||||
0x0004938f seg_pmda..TraceDPMAddr
|
||||
0x0004939f seg_pmda..HeaderDPMLevel
|
||||
0x000493a0 seg_pmda..HeaderDPMAddr
|
||||
0x000493b0 seg_pmda..HeaderDPMReadPntr
|
||||
0x000493c0 seg_pmda..HeaderDPMWords
|
||||
0x000493f0 seg_pmda..ReadOutHeaderChsBM
|
||||
0x000493f1 seg_pmda..HeaderChsToBeReadBM
|
||||
0x000493f2 seg_pmda..HeaderChsAlreadyRead
|
||||
0x000493f3 seg_pmda..ChanNumInEventsQueue
|
||||
0x00049403 seg_pmda..LastElapsedRunTime
|
||||
0x00049404 seg_pmda..Fipreg2LoAllChs
|
||||
0x00049414 seg_pmda..Fipreg2HiAllChs
|
||||
0x00049424 seg_pmda..Gamma0
|
||||
0x00049434 seg_pmda..Gamma1
|
||||
0x00049444 seg_pmda..QDCSumAddFlags
|
||||
0x000494c4 seg_pmda..QDCSumALengths
|
||||
0x000494cc seg_pmda..QDCSumBLengths
|
||||
0x000494d4 seg_pmda..BaseBinAddress
|
||||
0x000494d5 seg_pmda..TraceStartAddr
|
||||
0x000494d6 seg_pmda..RcdTraceLength
|
||||
0x000494d7 seg_pmda..TransmittedEventsCounter
|
||||
0x000494d8 seg_pmda..ChanCount
|
||||
0x000494d9 seg_pmda..FipBaseAddr
|
||||
0x000494da seg_pmda..Fipreg0Lo
|
||||
0x000494db seg_pmda..Fipreg0Hi
|
||||
0x000494dc seg_pmda..Fipreg1Lo
|
||||
0x000494dd seg_pmda..Fipreg1Hi
|
||||
0x000494de seg_pmda..Fipreg2Lo
|
||||
0x000494df seg_pmda..Fipreg2Hi
|
||||
0x000494e0 seg_pmda..Fipreg5Lo
|
||||
0x000494e1 seg_pmda..Fipreg5Hi
|
||||
0x000494e2 seg_pmda..Fipreg17Lo
|
||||
0x000494e3 seg_pmda..Fipreg17Hi
|
||||
0x000494e4 seg_pmda..Fipreg22Lo
|
||||
0x000494e5 seg_pmda..Fipreg22Hi
|
||||
0x000494e6 seg_pmda..Fipreg6Lo
|
||||
0x000494e7 seg_pmda..Fipreg6Hi
|
||||
0x000494e8 seg_pmda..Fipreg7Lo
|
||||
0x000494e9 seg_pmda..Fipreg7Hi
|
||||
0x000494ea seg_pmda..Fipreg20Lo
|
||||
0x000494eb seg_pmda..Fipreg20Hi
|
||||
0x000494ec seg_pmda..Fipreg21Lo
|
||||
0x000494ed seg_pmda..Fipreg21Hi
|
||||
0x000494ee seg_pmda..QDCSumABOrder
|
||||
0x000494ef seg_pmda..Fipreg13Lo
|
||||
0x000494f0 seg_pmda..Fipreg13Hi
|
||||
0x000494f1 seg_pmda..DACvalue
|
||||
0x000494f2 seg_pmda..saveOffsetDACs
|
||||
0x00049502 seg_pmda..BaseBinAddress
|
||||
0x00049503 seg_pmda..TraceStartAddr
|
||||
0x00049504 seg_pmda..RcdTraceLength
|
||||
0x00049505 seg_pmda..RcdTraceFlag
|
||||
0x00049506 seg_pmda..ComEnergyFlag
|
||||
0x00049507 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049508 seg_pmda..RcdEventLength
|
||||
0x00049509 seg_pmda..RcdHeaderLength
|
||||
0x0004950a seg_pmda..EventID
|
||||
0x0004950b seg_pmda..TimestampLo
|
||||
0x0004950c seg_pmda..TimestampHiCFD
|
||||
0x0004950d seg_pmda..QDCChanSumsA
|
||||
0x00049515 seg_pmda..QDCChanSumsB
|
||||
0x0004951d seg_pmda..extts_lo
|
||||
0x0004951e seg_pmda..extts_hi
|
||||
0x0004951f seg_pmda..RangeBadFlag
|
||||
0x00049520 seg_pmda..BaseBinAddress
|
||||
0x00049521 seg_pmda..TraceStartAddr
|
||||
0x00049522 seg_pmda..RcdTraceLength
|
||||
0x00049523 seg_pmda..TransmittedEventsCounter
|
||||
0x00049524 seg_pmda..RcdTraceFlag
|
||||
0x00049525 seg_pmda..ComEnergyFlag
|
||||
0x00049526 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049527 seg_pmda..RcdEventLength
|
||||
0x00049528 seg_pmda..RcdHeaderLength
|
||||
0x00049529 seg_pmda..EventID
|
||||
0x0004952a seg_pmda..TimestampLo
|
||||
0x0004952b seg_pmda..TimestampHiCFD
|
||||
0x0004952c seg_pmda..QDCChanSumsA
|
||||
0x00049534 seg_pmda..QDCChanSumsB
|
||||
0x0004953c seg_pmda..extts_lo
|
||||
0x0004953d seg_pmda..extts_hi
|
||||
0x0004953e seg_pmda..RangeBadFlag
|
||||
0x0004953f seg_pmda..tempstack
|
||||
0x00049544 seg_pmda..SumX
|
||||
0x00049554 seg_pmda..SumY
|
||||
0x00049564 seg_pmda..SumY2
|
||||
0x00049574 seg_pmda..SumXY
|
||||
0x00049584 seg_pmda..SumX2
|
||||
0x00049594 seg_pmda..SumN
|
||||
0x0004a000 seg_IOparams..ModNum
|
||||
0x0004a001 seg_IOparams..ModCSRA
|
||||
0x0004a002 seg_IOparams..ModCSRB
|
||||
0x0004a003 seg_IOparams..ModFormat
|
||||
0x0004a004 seg_IOparams..RunTask
|
||||
0x0004a005 seg_IOparams..ControlTask
|
||||
0x0004a006 seg_IOparams..MaxEvents
|
||||
0x0004a007 seg_IOparams..CoincPattern
|
||||
0x0004a008 seg_IOparams..CoincWait
|
||||
0x0004a009 seg_IOparams..SynchWait
|
||||
0x0004a00a seg_IOparams..InSynch
|
||||
0x0004a00b seg_IOparams..Resume
|
||||
0x0004a00c seg_IOparams..SlowFilterRange
|
||||
0x0004a00d seg_IOparams..FastFilterRange
|
||||
0x0004a00e seg_IOparams..ChanNum
|
||||
0x0004a00f seg_IOparams..HostIO
|
||||
0x0004a01f seg_IOparams..UserIn
|
||||
0x0004a02f seg_IOparams..FastTrigBackplaneEna
|
||||
0x0004a030 seg_IOparams..CrateID
|
||||
0x0004a031 seg_IOparams..SlotID
|
||||
0x0004a032 seg_IOparams..ModID
|
||||
0x0004a033 seg_IOparams..TrigConfig
|
||||
0x0004a037 seg_IOparams..U00
|
||||
0x0004a03e seg_IOparams..HostRunTimePreset
|
||||
0x0004a03f seg_IOparams..PowerUpInitDone
|
||||
0x0004a040 seg_IOparams..ChanCSRa
|
||||
0x0004a050 seg_IOparams..ChanCSRb
|
||||
0x0004a060 seg_IOparams..GainDAC
|
||||
0x0004a070 seg_IOparams..OffsetDAC
|
||||
0x0004a080 seg_IOparams..DigGain
|
||||
0x0004a090 seg_IOparams..SlowLength
|
||||
0x0004a0a0 seg_IOparams..SlowGap
|
||||
0x0004a0b0 seg_IOparams..FastLength
|
||||
0x0004a0c0 seg_IOparams..FastGap
|
||||
0x0004a0d0 seg_IOparams..PeakSample
|
||||
0x0004a0e0 seg_IOparams..PeakSep
|
||||
0x0004a0f0 seg_IOparams..CFDThresh
|
||||
0x0004a100 seg_IOparams..FastThresh
|
||||
0x0004a110 seg_IOparams..ThreshWidth
|
||||
0x0004a120 seg_IOparams..PAFlength
|
||||
0x0004a130 seg_IOparams..TriggerDelay
|
||||
0x0004a140 seg_IOparams..ResetDelay
|
||||
0x0004a150 seg_IOparams..ChanTrigStretch
|
||||
0x0004a160 seg_IOparams..TraceLength
|
||||
0x0004a170 seg_IOparams..Xwait
|
||||
0x0004a180 seg_IOparams..TrigOutLen
|
||||
0x0004a190 seg_IOparams..EnergyLow
|
||||
0x0004a1a0 seg_IOparams..Log2Ebin
|
||||
0x0004a1b0 seg_IOparams..MultiplicityMaskL
|
||||
0x0004a1c0 seg_IOparams..PSAoffset
|
||||
0x0004a1d0 seg_IOparams..PSAlength
|
||||
0x0004a1e0 seg_IOparams..Integrator
|
||||
0x0004a1f0 seg_IOparams..BLcut
|
||||
0x0004a200 seg_IOparams..BaselinePercent
|
||||
0x0004a210 seg_IOparams..FtrigoutDelay
|
||||
0x0004a220 seg_IOparams..Log2Bweight
|
||||
0x0004a230 seg_IOparams..PreampTau
|
||||
0x0004a240 seg_IOparams..Xavg
|
||||
0x0004a250 seg_IOparams..MultiplicityMaskH
|
||||
0x0004a260 seg_IOparams..FastTrigBackLen
|
||||
0x0004a270 seg_IOparams..CFDDelay
|
||||
0x0004a280 seg_IOparams..CFDScale
|
||||
0x0004a290 seg_IOparams..ExtTrigStretch
|
||||
0x0004a2a0 seg_IOparams..VetoStretch
|
||||
0x0004a2b0 seg_IOparams..ExternDelayLen
|
||||
0x0004a2c0 seg_IOparams..QDCLen0
|
||||
0x0004a2d0 seg_IOparams..QDCLen1
|
||||
0x0004a2e0 seg_IOparams..QDCLen2
|
||||
0x0004a2f0 seg_IOparams..QDCLen3
|
||||
0x0004a300 seg_IOparams..QDCLen4
|
||||
0x0004a310 seg_IOparams..QDCLen5
|
||||
0x0004a320 seg_IOparams..QDCLen6
|
||||
0x0004a330 seg_IOparams..QDCLen7
|
||||
0x0004a340 seg_IOparams..RealTimeA
|
||||
0x0004a341 seg_IOparams..RealTimeB
|
||||
0x0004a342 seg_IOparams..RunTimeA
|
||||
0x0004a343 seg_IOparams..RunTimeB
|
||||
0x0004a344 seg_IOparams..GSLTtime
|
||||
0x0004a345 seg_IOparams..NumEventsA
|
||||
0x0004a346 seg_IOparams..NumEventsB
|
||||
0x0004a347 seg_IOparams..DSPerror
|
||||
0x0004a348 seg_IOparams..SynchDone
|
||||
0x0004a349 seg_IOparams..BufHeadLen
|
||||
0x0004a34a seg_IOparams..EventHeadLen
|
||||
0x0004a34b seg_IOparams..ChanHeadLen
|
||||
0x0004a34c seg_IOparams..UserOut
|
||||
0x0004a35c seg_IOparams..AOutBuffer
|
||||
0x0004a35d seg_IOparams..LOutBuffer
|
||||
0x0004a35e seg_IOparams..AECorr
|
||||
0x0004a35f seg_IOparams..LECorr
|
||||
0x0004a360 seg_IOparams..HardwareID
|
||||
0x0004a361 seg_IOparams..HardVariant
|
||||
0x0004a362 seg_IOparams..FIFOLength
|
||||
0x0004a363 seg_IOparams..FippiID
|
||||
0x0004a364 seg_IOparams..FippiVariant
|
||||
0x0004a365 seg_IOparams..DSPrelease
|
||||
0x0004a366 seg_IOparams..DSPbuild
|
||||
0x0004a367 seg_IOparams..DSPVariant
|
||||
0x0004a368 seg_IOparams..U20
|
||||
0x0004a37f seg_IOparams..LiveTimeA
|
||||
0x0004a38f seg_IOparams..LiveTimeB
|
||||
0x0004a39f seg_IOparams..FastPeaksA
|
||||
0x0004a3af seg_IOparams..FastPeaksB
|
||||
0x0004a3bf seg_IOparams..OverflowA
|
||||
0x0004a3cf seg_IOparams..OverflowB
|
||||
0x0004a3df seg_IOparams..InSpecA
|
||||
0x0004a3ef seg_IOparams..InSpecB
|
||||
0x0004a3ff seg_IOparams..UnderflowA
|
||||
0x0004a40f seg_IOparams..UnderflowB
|
||||
0x0004a41f seg_IOparams..ChanEventsA
|
||||
0x0004a42f seg_IOparams..ChanEventsB
|
||||
0x0004a43f seg_IOparams..AutoTau
|
||||
0x0004a44f seg_IOparams..U30
|
||||
0x0004a500 seg_Cirbuf..Cirbuf
|
||||
0x0004d500 seg_dmda.._errno
|
||||
0x0004d504 seg_dmda..exponential_data
|
||||
0x0004d519 seg_dmda..exponential_data
|
||||
0x0004d525 seg_dmda..logs_data
|
||||
0x0004e000 seg_TransBuf..TransBuf
|
||||
0x00050000 seg_IObuf..IObuffer
|
|
@ -0,0 +1,113 @@
|
|||
0x0004a000 ModNum
|
||||
0x0004a001 ModCSRA
|
||||
0x0004a002 ModCSRB
|
||||
0x0004a003 ModFormat
|
||||
0x0004a004 RunTask
|
||||
0x0004a005 ControlTask
|
||||
0x0004a006 MaxEvents
|
||||
0x0004a007 CoincPattern
|
||||
0x0004a008 CoincWait
|
||||
0x0004a009 SynchWait
|
||||
0x0004a00a InSynch
|
||||
0x0004a00b Resume
|
||||
0x0004a00c SlowFilterRange
|
||||
0x0004a00d FastFilterRange
|
||||
0x0004a00e ChanNum
|
||||
0x0004a00f HostIO
|
||||
0x0004a01f UserIn
|
||||
0x0004a02f FastTrigBackplaneEna
|
||||
0x0004a030 CrateID
|
||||
0x0004a031 SlotID
|
||||
0x0004a032 ModID
|
||||
0x0004a033 TrigConfig
|
||||
0x0004a037 U00
|
||||
0x0004a03e HostRunTimePreset
|
||||
0x0004a03f PowerUpInitDone
|
||||
0x0004a040 ChanCSRa
|
||||
0x0004a050 ChanCSRb
|
||||
0x0004a060 GainDAC
|
||||
0x0004a070 OffsetDAC
|
||||
0x0004a080 DigGain
|
||||
0x0004a090 SlowLength
|
||||
0x0004a0a0 SlowGap
|
||||
0x0004a0b0 FastLength
|
||||
0x0004a0c0 FastGap
|
||||
0x0004a0d0 PeakSample
|
||||
0x0004a0e0 PeakSep
|
||||
0x0004a0f0 CFDThresh
|
||||
0x0004a100 FastThresh
|
||||
0x0004a110 ThreshWidth
|
||||
0x0004a120 PAFlength
|
||||
0x0004a130 TriggerDelay
|
||||
0x0004a140 ResetDelay
|
||||
0x0004a150 ChanTrigStretch
|
||||
0x0004a160 TraceLength
|
||||
0x0004a170 Xwait
|
||||
0x0004a180 TrigOutLen
|
||||
0x0004a190 EnergyLow
|
||||
0x0004a1a0 Log2Ebin
|
||||
0x0004a1b0 MultiplicityMaskL
|
||||
0x0004a1c0 PSAoffset
|
||||
0x0004a1d0 PSAlength
|
||||
0x0004a1e0 Integrator
|
||||
0x0004a1f0 BLcut
|
||||
0x0004a200 BaselinePercent
|
||||
0x0004a210 FtrigoutDelay
|
||||
0x0004a220 Log2Bweight
|
||||
0x0004a230 PreampTau
|
||||
0x0004a240 Xavg
|
||||
0x0004a250 MultiplicityMaskH
|
||||
0x0004a260 FastTrigBackLen
|
||||
0x0004a270 CFDDelay
|
||||
0x0004a280 CFDScale
|
||||
0x0004a290 ExtTrigStretch
|
||||
0x0004a2a0 VetoStretch
|
||||
0x0004a2b0 ExternDelayLen
|
||||
0x0004a2c0 QDCLen0
|
||||
0x0004a2d0 QDCLen1
|
||||
0x0004a2e0 QDCLen2
|
||||
0x0004a2f0 QDCLen3
|
||||
0x0004a300 QDCLen4
|
||||
0x0004a310 QDCLen5
|
||||
0x0004a320 QDCLen6
|
||||
0x0004a330 QDCLen7
|
||||
0x0004a340 RealTimeA
|
||||
0x0004a341 RealTimeB
|
||||
0x0004a342 RunTimeA
|
||||
0x0004a343 RunTimeB
|
||||
0x0004a344 GSLTtime
|
||||
0x0004a345 NumEventsA
|
||||
0x0004a346 NumEventsB
|
||||
0x0004a347 DSPerror
|
||||
0x0004a348 SynchDone
|
||||
0x0004a349 BufHeadLen
|
||||
0x0004a34a EventHeadLen
|
||||
0x0004a34b ChanHeadLen
|
||||
0x0004a34c UserOut
|
||||
0x0004a35c AOutBuffer
|
||||
0x0004a35d LOutBuffer
|
||||
0x0004a35e AECorr
|
||||
0x0004a35f LECorr
|
||||
0x0004a360 HardwareID
|
||||
0x0004a361 HardVariant
|
||||
0x0004a362 FIFOLength
|
||||
0x0004a363 FippiID
|
||||
0x0004a364 FippiVariant
|
||||
0x0004a365 DSPrelease
|
||||
0x0004a366 DSPbuild
|
||||
0x0004a367 DSPVariant
|
||||
0x0004a368 U20
|
||||
0x0004a37f LiveTimeA
|
||||
0x0004a38f LiveTimeB
|
||||
0x0004a39f FastPeaksA
|
||||
0x0004a3af FastPeaksB
|
||||
0x0004a3bf OverflowA
|
||||
0x0004a3cf OverflowB
|
||||
0x0004a3df InSpecA
|
||||
0x0004a3ef InSpecB
|
||||
0x0004a3ff UnderflowA
|
||||
0x0004a40f UnderflowB
|
||||
0x0004a41f ChanEventsA
|
||||
0x0004a42f ChanEventsB
|
||||
0x0004a43f AutoTau
|
||||
0x0004a44f U30
|
Binary file not shown.
|
@ -0,0 +1,266 @@
|
|||
0x00049180 seg_pmda..LeftDAC
|
||||
0x00049190 seg_pmda..RightDAC
|
||||
0x000491a0 seg_pmda..LeftF
|
||||
0x000491b0 seg_pmda..RightF
|
||||
0x000491c0 seg_pmda..MiddleF
|
||||
0x000491d0 seg_pmda..ChanCount
|
||||
0x000491d1 seg_pmda..x
|
||||
0x000491d2 seg_pmda..q
|
||||
0x000491d3 seg_pmda..elm
|
||||
0x000491d4 seg_pmda..elmg
|
||||
0x000491d5 seg_pmda..channumber
|
||||
0x000491d6 seg_pmda..Numer
|
||||
0x000491d7 seg_pmda..Denom
|
||||
0x000491d8 seg_pmda..NegOneOverTau
|
||||
0x000491d9 seg_pmda..Beta_L
|
||||
0x000491da seg_pmda..Beta_G
|
||||
0x000491db seg_pmda..Beta_GL
|
||||
0x000491dc seg_pmda..L
|
||||
0x000491dd seg_pmda..G
|
||||
0x000491de seg_pmda..saveIMASK
|
||||
0x000491df seg_pmda..count
|
||||
0x000491e0 seg_pmda..DecPeriod
|
||||
0x000491e1 seg_pmda..FIPPIclear
|
||||
0x000491e2 seg_pmda..BLAverage
|
||||
0x000491f2 seg_pmda..BLVariance
|
||||
0x00049202 seg_pmda..BLCounter
|
||||
0x00049212 seg_pmda..InverseBLCounter
|
||||
0x00049222 seg_pmda..EnergyCorr
|
||||
0x00049252 seg_pmda..DCoffsetCorr
|
||||
0x00049262 seg_pmda..BLtoDC_Coeff
|
||||
0x00049272 seg_pmda..RunActive
|
||||
0x00049273 seg_pmda..RunType
|
||||
0x00049274 seg_pmda..URetNum
|
||||
0x00049275 seg_pmda..RT0a
|
||||
0x00049276 seg_pmda..RT0b
|
||||
0x00049277 seg_pmda..RT1a
|
||||
0x00049278 seg_pmda..RT1b
|
||||
0x00049279 seg_pmda..LastAccumulatedRunTimeA
|
||||
0x0004927a seg_pmda..LastAccumulatedRunTimeB
|
||||
0x0004927b seg_pmda..LastAccumulatedLiveTimeA
|
||||
0x0004928b seg_pmda..LastAccumulatedLiveTimeB
|
||||
0x0004929b seg_pmda..LastAccumulatedFastPeaksA
|
||||
0x000492ab seg_pmda..LastAccumulatedFastPeaksB
|
||||
0x000492bb seg_pmda..InEventLoop
|
||||
0x000492bc seg_pmda..ChReadMask
|
||||
0x000492bd seg_pmda..keepCSR
|
||||
0x000492be seg_pmda..BaseRejects
|
||||
0x000492ce seg_pmda..FIPPIaddr
|
||||
0x000492de seg_pmda..FIFOaddr
|
||||
0x000492ee seg_pmda..NewRun
|
||||
0x000492fe seg_pmda..Bsums
|
||||
0x0004932e seg_pmda..Baselines
|
||||
0x0004933e seg_pmda..GetBaseRet
|
||||
0x0004934e seg_pmda..BLcut_Float
|
||||
0x0004935e seg_pmda..Log2Bweight_Float
|
||||
0x0004936e seg_pmda..EventLength
|
||||
0x0004937e seg_pmda..HeaderLength
|
||||
0x0004938e seg_pmda..AllChsEventLenSum
|
||||
0x0004938f seg_pmda..TraceDPMAddr
|
||||
0x0004939f seg_pmda..HeaderDPMLevel
|
||||
0x000493a0 seg_pmda..HeaderDPMAddr
|
||||
0x000493b0 seg_pmda..HeaderDPMReadPntr
|
||||
0x000493c0 seg_pmda..HeaderDPMWords
|
||||
0x000493f0 seg_pmda..ReadOutHeaderChsBM
|
||||
0x000493f1 seg_pmda..HeaderChsToBeReadBM
|
||||
0x000493f2 seg_pmda..HeaderChsAlreadyRead
|
||||
0x000493f3 seg_pmda..ChanNumInEventsQueue
|
||||
0x00049403 seg_pmda..LastElapsedRunTime
|
||||
0x00049404 seg_pmda..Fipreg2LoAllChs
|
||||
0x00049414 seg_pmda..Fipreg2HiAllChs
|
||||
0x00049424 seg_pmda..Gamma0
|
||||
0x00049434 seg_pmda..Gamma1
|
||||
0x00049444 seg_pmda..QDCSumAddFlags
|
||||
0x000494c4 seg_pmda..QDCSumALengths
|
||||
0x000494cc seg_pmda..QDCSumBLengths
|
||||
0x000494d4 seg_pmda..BaseBinAddress
|
||||
0x000494d5 seg_pmda..TraceStartAddr
|
||||
0x000494d6 seg_pmda..RcdTraceLength
|
||||
0x000494d7 seg_pmda..TransmittedEventsCounter
|
||||
0x000494d8 seg_pmda..ChanCount
|
||||
0x000494d9 seg_pmda..FipBaseAddr
|
||||
0x000494da seg_pmda..Fipreg0Lo
|
||||
0x000494db seg_pmda..Fipreg0Hi
|
||||
0x000494dc seg_pmda..Fipreg1Lo
|
||||
0x000494dd seg_pmda..Fipreg1Hi
|
||||
0x000494de seg_pmda..Fipreg2Lo
|
||||
0x000494df seg_pmda..Fipreg2Hi
|
||||
0x000494e0 seg_pmda..Fipreg5Lo
|
||||
0x000494e1 seg_pmda..Fipreg5Hi
|
||||
0x000494e2 seg_pmda..Fipreg17Lo
|
||||
0x000494e3 seg_pmda..Fipreg17Hi
|
||||
0x000494e4 seg_pmda..Fipreg22Lo
|
||||
0x000494e5 seg_pmda..Fipreg22Hi
|
||||
0x000494e6 seg_pmda..Fipreg6Lo
|
||||
0x000494e7 seg_pmda..Fipreg6Hi
|
||||
0x000494e8 seg_pmda..Fipreg7Lo
|
||||
0x000494e9 seg_pmda..Fipreg7Hi
|
||||
0x000494ea seg_pmda..Fipreg20Lo
|
||||
0x000494eb seg_pmda..Fipreg20Hi
|
||||
0x000494ec seg_pmda..Fipreg21Lo
|
||||
0x000494ed seg_pmda..Fipreg21Hi
|
||||
0x000494ee seg_pmda..QDCSumABOrder
|
||||
0x000494ef seg_pmda..Fipreg13Lo
|
||||
0x000494f0 seg_pmda..Fipreg13Hi
|
||||
0x000494f1 seg_pmda..DACvalue
|
||||
0x000494f2 seg_pmda..saveOffsetDACs
|
||||
0x00049502 seg_pmda..BaseBinAddress
|
||||
0x00049503 seg_pmda..TraceStartAddr
|
||||
0x00049504 seg_pmda..RcdTraceLength
|
||||
0x00049505 seg_pmda..RcdTraceFlag
|
||||
0x00049506 seg_pmda..ComEnergyFlag
|
||||
0x00049507 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049508 seg_pmda..RcdEventLength
|
||||
0x00049509 seg_pmda..RcdHeaderLength
|
||||
0x0004950a seg_pmda..EventID
|
||||
0x0004950b seg_pmda..TimestampLo
|
||||
0x0004950c seg_pmda..TimestampHiCFD
|
||||
0x0004950d seg_pmda..QDCChanSumsA
|
||||
0x00049515 seg_pmda..QDCChanSumsB
|
||||
0x0004951d seg_pmda..extts_lo
|
||||
0x0004951e seg_pmda..extts_hi
|
||||
0x0004951f seg_pmda..RangeBadFlag
|
||||
0x00049520 seg_pmda..BaseBinAddress
|
||||
0x00049521 seg_pmda..TraceStartAddr
|
||||
0x00049522 seg_pmda..RcdTraceLength
|
||||
0x00049523 seg_pmda..TransmittedEventsCounter
|
||||
0x00049524 seg_pmda..RcdTraceFlag
|
||||
0x00049525 seg_pmda..ComEnergyFlag
|
||||
0x00049526 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049527 seg_pmda..RcdEventLength
|
||||
0x00049528 seg_pmda..RcdHeaderLength
|
||||
0x00049529 seg_pmda..EventID
|
||||
0x0004952a seg_pmda..TimestampLo
|
||||
0x0004952b seg_pmda..TimestampHiCFD
|
||||
0x0004952c seg_pmda..QDCChanSumsA
|
||||
0x00049534 seg_pmda..QDCChanSumsB
|
||||
0x0004953c seg_pmda..extts_lo
|
||||
0x0004953d seg_pmda..extts_hi
|
||||
0x0004953e seg_pmda..RangeBadFlag
|
||||
0x0004953f seg_pmda..tempstack
|
||||
0x00049544 seg_pmda..SumX
|
||||
0x00049554 seg_pmda..SumY
|
||||
0x00049564 seg_pmda..SumY2
|
||||
0x00049574 seg_pmda..SumXY
|
||||
0x00049584 seg_pmda..SumX2
|
||||
0x00049594 seg_pmda..SumN
|
||||
0x0004a000 seg_IOparams..ModNum
|
||||
0x0004a001 seg_IOparams..ModCSRA
|
||||
0x0004a002 seg_IOparams..ModCSRB
|
||||
0x0004a003 seg_IOparams..ModFormat
|
||||
0x0004a004 seg_IOparams..RunTask
|
||||
0x0004a005 seg_IOparams..ControlTask
|
||||
0x0004a006 seg_IOparams..MaxEvents
|
||||
0x0004a007 seg_IOparams..CoincPattern
|
||||
0x0004a008 seg_IOparams..CoincWait
|
||||
0x0004a009 seg_IOparams..SynchWait
|
||||
0x0004a00a seg_IOparams..InSynch
|
||||
0x0004a00b seg_IOparams..Resume
|
||||
0x0004a00c seg_IOparams..SlowFilterRange
|
||||
0x0004a00d seg_IOparams..FastFilterRange
|
||||
0x0004a00e seg_IOparams..ChanNum
|
||||
0x0004a00f seg_IOparams..HostIO
|
||||
0x0004a01f seg_IOparams..UserIn
|
||||
0x0004a02f seg_IOparams..FastTrigBackplaneEna
|
||||
0x0004a030 seg_IOparams..CrateID
|
||||
0x0004a031 seg_IOparams..SlotID
|
||||
0x0004a032 seg_IOparams..ModID
|
||||
0x0004a033 seg_IOparams..TrigConfig
|
||||
0x0004a037 seg_IOparams..U00
|
||||
0x0004a03e seg_IOparams..HostRunTimePreset
|
||||
0x0004a03f seg_IOparams..PowerUpInitDone
|
||||
0x0004a040 seg_IOparams..ChanCSRa
|
||||
0x0004a050 seg_IOparams..ChanCSRb
|
||||
0x0004a060 seg_IOparams..GainDAC
|
||||
0x0004a070 seg_IOparams..OffsetDAC
|
||||
0x0004a080 seg_IOparams..DigGain
|
||||
0x0004a090 seg_IOparams..SlowLength
|
||||
0x0004a0a0 seg_IOparams..SlowGap
|
||||
0x0004a0b0 seg_IOparams..FastLength
|
||||
0x0004a0c0 seg_IOparams..FastGap
|
||||
0x0004a0d0 seg_IOparams..PeakSample
|
||||
0x0004a0e0 seg_IOparams..PeakSep
|
||||
0x0004a0f0 seg_IOparams..CFDThresh
|
||||
0x0004a100 seg_IOparams..FastThresh
|
||||
0x0004a110 seg_IOparams..ThreshWidth
|
||||
0x0004a120 seg_IOparams..PAFlength
|
||||
0x0004a130 seg_IOparams..TriggerDelay
|
||||
0x0004a140 seg_IOparams..ResetDelay
|
||||
0x0004a150 seg_IOparams..ChanTrigStretch
|
||||
0x0004a160 seg_IOparams..TraceLength
|
||||
0x0004a170 seg_IOparams..Xwait
|
||||
0x0004a180 seg_IOparams..TrigOutLen
|
||||
0x0004a190 seg_IOparams..EnergyLow
|
||||
0x0004a1a0 seg_IOparams..Log2Ebin
|
||||
0x0004a1b0 seg_IOparams..MultiplicityMaskL
|
||||
0x0004a1c0 seg_IOparams..PSAoffset
|
||||
0x0004a1d0 seg_IOparams..PSAlength
|
||||
0x0004a1e0 seg_IOparams..Integrator
|
||||
0x0004a1f0 seg_IOparams..BLcut
|
||||
0x0004a200 seg_IOparams..BaselinePercent
|
||||
0x0004a210 seg_IOparams..FtrigoutDelay
|
||||
0x0004a220 seg_IOparams..Log2Bweight
|
||||
0x0004a230 seg_IOparams..PreampTau
|
||||
0x0004a240 seg_IOparams..Xavg
|
||||
0x0004a250 seg_IOparams..MultiplicityMaskH
|
||||
0x0004a260 seg_IOparams..FastTrigBackLen
|
||||
0x0004a270 seg_IOparams..CFDDelay
|
||||
0x0004a280 seg_IOparams..CFDScale
|
||||
0x0004a290 seg_IOparams..ExtTrigStretch
|
||||
0x0004a2a0 seg_IOparams..VetoStretch
|
||||
0x0004a2b0 seg_IOparams..ExternDelayLen
|
||||
0x0004a2c0 seg_IOparams..QDCLen0
|
||||
0x0004a2d0 seg_IOparams..QDCLen1
|
||||
0x0004a2e0 seg_IOparams..QDCLen2
|
||||
0x0004a2f0 seg_IOparams..QDCLen3
|
||||
0x0004a300 seg_IOparams..QDCLen4
|
||||
0x0004a310 seg_IOparams..QDCLen5
|
||||
0x0004a320 seg_IOparams..QDCLen6
|
||||
0x0004a330 seg_IOparams..QDCLen7
|
||||
0x0004a340 seg_IOparams..RealTimeA
|
||||
0x0004a341 seg_IOparams..RealTimeB
|
||||
0x0004a342 seg_IOparams..RunTimeA
|
||||
0x0004a343 seg_IOparams..RunTimeB
|
||||
0x0004a344 seg_IOparams..GSLTtime
|
||||
0x0004a345 seg_IOparams..NumEventsA
|
||||
0x0004a346 seg_IOparams..NumEventsB
|
||||
0x0004a347 seg_IOparams..DSPerror
|
||||
0x0004a348 seg_IOparams..SynchDone
|
||||
0x0004a349 seg_IOparams..BufHeadLen
|
||||
0x0004a34a seg_IOparams..EventHeadLen
|
||||
0x0004a34b seg_IOparams..ChanHeadLen
|
||||
0x0004a34c seg_IOparams..UserOut
|
||||
0x0004a35c seg_IOparams..AOutBuffer
|
||||
0x0004a35d seg_IOparams..LOutBuffer
|
||||
0x0004a35e seg_IOparams..AECorr
|
||||
0x0004a35f seg_IOparams..LECorr
|
||||
0x0004a360 seg_IOparams..HardwareID
|
||||
0x0004a361 seg_IOparams..HardVariant
|
||||
0x0004a362 seg_IOparams..FIFOLength
|
||||
0x0004a363 seg_IOparams..FippiID
|
||||
0x0004a364 seg_IOparams..FippiVariant
|
||||
0x0004a365 seg_IOparams..DSPrelease
|
||||
0x0004a366 seg_IOparams..DSPbuild
|
||||
0x0004a367 seg_IOparams..DSPVariant
|
||||
0x0004a368 seg_IOparams..U20
|
||||
0x0004a37f seg_IOparams..LiveTimeA
|
||||
0x0004a38f seg_IOparams..LiveTimeB
|
||||
0x0004a39f seg_IOparams..FastPeaksA
|
||||
0x0004a3af seg_IOparams..FastPeaksB
|
||||
0x0004a3bf seg_IOparams..OverflowA
|
||||
0x0004a3cf seg_IOparams..OverflowB
|
||||
0x0004a3df seg_IOparams..InSpecA
|
||||
0x0004a3ef seg_IOparams..InSpecB
|
||||
0x0004a3ff seg_IOparams..UnderflowA
|
||||
0x0004a40f seg_IOparams..UnderflowB
|
||||
0x0004a41f seg_IOparams..ChanEventsA
|
||||
0x0004a42f seg_IOparams..ChanEventsB
|
||||
0x0004a43f seg_IOparams..AutoTau
|
||||
0x0004a44f seg_IOparams..U30
|
||||
0x0004a500 seg_Cirbuf..Cirbuf
|
||||
0x0004d500 seg_dmda.._errno
|
||||
0x0004d504 seg_dmda..exponential_data
|
||||
0x0004d519 seg_dmda..exponential_data
|
||||
0x0004d525 seg_dmda..logs_data
|
||||
0x0004e000 seg_TransBuf..TransBuf
|
||||
0x00050000 seg_IObuf..IObuffer
|
|
@ -0,0 +1,113 @@
|
|||
0x0004a000 ModNum
|
||||
0x0004a001 ModCSRA
|
||||
0x0004a002 ModCSRB
|
||||
0x0004a003 ModFormat
|
||||
0x0004a004 RunTask
|
||||
0x0004a005 ControlTask
|
||||
0x0004a006 MaxEvents
|
||||
0x0004a007 CoincPattern
|
||||
0x0004a008 CoincWait
|
||||
0x0004a009 SynchWait
|
||||
0x0004a00a InSynch
|
||||
0x0004a00b Resume
|
||||
0x0004a00c SlowFilterRange
|
||||
0x0004a00d FastFilterRange
|
||||
0x0004a00e ChanNum
|
||||
0x0004a00f HostIO
|
||||
0x0004a01f UserIn
|
||||
0x0004a02f FastTrigBackplaneEna
|
||||
0x0004a030 CrateID
|
||||
0x0004a031 SlotID
|
||||
0x0004a032 ModID
|
||||
0x0004a033 TrigConfig
|
||||
0x0004a037 U00
|
||||
0x0004a03e HostRunTimePreset
|
||||
0x0004a03f PowerUpInitDone
|
||||
0x0004a040 ChanCSRa
|
||||
0x0004a050 ChanCSRb
|
||||
0x0004a060 GainDAC
|
||||
0x0004a070 OffsetDAC
|
||||
0x0004a080 DigGain
|
||||
0x0004a090 SlowLength
|
||||
0x0004a0a0 SlowGap
|
||||
0x0004a0b0 FastLength
|
||||
0x0004a0c0 FastGap
|
||||
0x0004a0d0 PeakSample
|
||||
0x0004a0e0 PeakSep
|
||||
0x0004a0f0 CFDThresh
|
||||
0x0004a100 FastThresh
|
||||
0x0004a110 ThreshWidth
|
||||
0x0004a120 PAFlength
|
||||
0x0004a130 TriggerDelay
|
||||
0x0004a140 ResetDelay
|
||||
0x0004a150 ChanTrigStretch
|
||||
0x0004a160 TraceLength
|
||||
0x0004a170 Xwait
|
||||
0x0004a180 TrigOutLen
|
||||
0x0004a190 EnergyLow
|
||||
0x0004a1a0 Log2Ebin
|
||||
0x0004a1b0 MultiplicityMaskL
|
||||
0x0004a1c0 PSAoffset
|
||||
0x0004a1d0 PSAlength
|
||||
0x0004a1e0 Integrator
|
||||
0x0004a1f0 BLcut
|
||||
0x0004a200 BaselinePercent
|
||||
0x0004a210 FtrigoutDelay
|
||||
0x0004a220 Log2Bweight
|
||||
0x0004a230 PreampTau
|
||||
0x0004a240 Xavg
|
||||
0x0004a250 MultiplicityMaskH
|
||||
0x0004a260 FastTrigBackLen
|
||||
0x0004a270 CFDDelay
|
||||
0x0004a280 CFDScale
|
||||
0x0004a290 ExtTrigStretch
|
||||
0x0004a2a0 VetoStretch
|
||||
0x0004a2b0 ExternDelayLen
|
||||
0x0004a2c0 QDCLen0
|
||||
0x0004a2d0 QDCLen1
|
||||
0x0004a2e0 QDCLen2
|
||||
0x0004a2f0 QDCLen3
|
||||
0x0004a300 QDCLen4
|
||||
0x0004a310 QDCLen5
|
||||
0x0004a320 QDCLen6
|
||||
0x0004a330 QDCLen7
|
||||
0x0004a340 RealTimeA
|
||||
0x0004a341 RealTimeB
|
||||
0x0004a342 RunTimeA
|
||||
0x0004a343 RunTimeB
|
||||
0x0004a344 GSLTtime
|
||||
0x0004a345 NumEventsA
|
||||
0x0004a346 NumEventsB
|
||||
0x0004a347 DSPerror
|
||||
0x0004a348 SynchDone
|
||||
0x0004a349 BufHeadLen
|
||||
0x0004a34a EventHeadLen
|
||||
0x0004a34b ChanHeadLen
|
||||
0x0004a34c UserOut
|
||||
0x0004a35c AOutBuffer
|
||||
0x0004a35d LOutBuffer
|
||||
0x0004a35e AECorr
|
||||
0x0004a35f LECorr
|
||||
0x0004a360 HardwareID
|
||||
0x0004a361 HardVariant
|
||||
0x0004a362 FIFOLength
|
||||
0x0004a363 FippiID
|
||||
0x0004a364 FippiVariant
|
||||
0x0004a365 DSPrelease
|
||||
0x0004a366 DSPbuild
|
||||
0x0004a367 DSPVariant
|
||||
0x0004a368 U20
|
||||
0x0004a37f LiveTimeA
|
||||
0x0004a38f LiveTimeB
|
||||
0x0004a39f FastPeaksA
|
||||
0x0004a3af FastPeaksB
|
||||
0x0004a3bf OverflowA
|
||||
0x0004a3cf OverflowB
|
||||
0x0004a3df InSpecA
|
||||
0x0004a3ef InSpecB
|
||||
0x0004a3ff UnderflowA
|
||||
0x0004a40f UnderflowB
|
||||
0x0004a41f ChanEventsA
|
||||
0x0004a42f ChanEventsB
|
||||
0x0004a43f AutoTau
|
||||
0x0004a44f U30
|
|
@ -0,0 +1,20 @@
|
|||
# Metadata file for the pixie16_revf_general_12b250m_r41847_2019-05-18 firmware package.
|
||||
# This file and its contents are covered by the XIA LLC Firmware License.
|
||||
product:
|
||||
name: Pixie-16
|
||||
revision: F
|
||||
adc:
|
||||
resolution: 12
|
||||
sampling_frequency: 250
|
||||
release:
|
||||
type: general
|
||||
date: 2019-05-18
|
||||
version: 41847
|
||||
files:
|
||||
dsp:
|
||||
"Pixie16DSP_revfgeneral_12b250m_r41847.ldr": e0aa3bd2968505aefdf86923fb05e4b6
|
||||
"Pixie16DSP_revfgeneral_12b250m_r41847.lst": dfd143988714d38cf2169dfd39c1b1ec
|
||||
"Pixie16DSP_revfgeneral_12b250m_r41847.var": 34938d3a54ef71f8f575b8990fbd97bf
|
||||
firmware:
|
||||
"fippixie16_revfgeneral_12b250m_r42081.bin": 66c666ade850d1fccc32f13065c95e5c
|
||||
"syspixie16_revfgeneral_adc250mhz_r33339.bin": 357f1a430b0c374582a2cfe5d564665d
|
|
@ -0,0 +1,107 @@
|
|||
XIA LLC Firmware License
|
||||
Version 1.0, July 2021
|
||||
|
||||
TERMS AND CONDITIONS FOR USE AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
"License" shall mean the terms and conditions for use and distribution of
|
||||
XIA LLC Firmware as defined by Sections 1 through 8 of this license
|
||||
document.
|
||||
|
||||
"Licensor" is the copyright owner XIA LLC and is the sole entity capable
|
||||
of granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other
|
||||
entities that control, are controlled by, or are under common control with
|
||||
that entity. For the purposes of this definition, "control" means (i) the
|
||||
power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of fifty
|
||||
percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.
|
||||
|
||||
"Firmware" shall mean the proprietary files distributed by the Licensor
|
||||
and made available under this License. The firmware is intended for use
|
||||
with hardware produced by the Licensor.
|
||||
|
||||
“Checksum File” shall mean any file provided with the Firmware that
|
||||
contains an MD5 hash value.
|
||||
|
||||
“Package” shall mean any executable or binary file that includes the
|
||||
Firmware and Checksum File covered by this License.
|
||||
|
||||
“Installation” shall mean the process of making a Package ready for use.
|
||||
|
||||
2. Grant of License. The Firmware and any copies thereof are owned by
|
||||
Licensor, and are the valuable trade secrets of Licensor. The Firmware is
|
||||
protected by United States Copyright Law and International Treaty Provisions.
|
||||
You may not copy the Firmware, except as set forth in the “Redistribution”
|
||||
section. Any copies that you are permitted to make pursuant to this License
|
||||
must contain the same copyright and other proprietary notices that accompany
|
||||
the Firmware. You agree not to modify, adapt or translate the Firmware. You
|
||||
also agree not to reverse engineer, decompile, disassemble, or otherwise
|
||||
attempt to discover the source code of the Firmware.
|
||||
|
||||
3. Redistribution. You may distribute copies of the Firmware in any medium,
|
||||
without modifications, provided that You meet the following conditions:
|
||||
|
||||
1. You must provide any other recipients of the Firmware a copy of this
|
||||
License; and
|
||||
|
||||
2. You must maintain the original Checksum File distributed with the
|
||||
Firmware; and
|
||||
|
||||
3. Your Packages that install the Firmware must install this License and
|
||||
Checksum File as part of the Installation process.
|
||||
|
||||
4. Trademarks. This License does not grant permission to use the trade names,
|
||||
trademarks, service marks, or product names of the Licensor, except as
|
||||
required for reasonable and customary use in describing the origin of the
|
||||
Firmware and reproducing the content of the Checksum File.
|
||||
|
||||
5. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
||||
writing, Licensor provides the Firmware on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
|
||||
without limitation, any warranties or conditions of TITLE,
|
||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You
|
||||
are solely responsible for determining the appropriateness of using or
|
||||
redistributing the Firmware and assume any risks associated with Your
|
||||
exercise of permissions under this License.
|
||||
|
||||
6. Limitation of Liability. In no event and under no legal theory, whether in
|
||||
tort (including negligence), contract, or otherwise, unless required by
|
||||
applicable law (such as deliberate and grossly negligent acts) or agreed to
|
||||
in writing, shall the Licensor be liable to You for damages, including any
|
||||
direct, indirect, special, incidental, or consequential damages of any
|
||||
character arising as a result of this License or out of the use or
|
||||
inability to use the Firmware (including but not limited to damages for
|
||||
loss of goodwill, work stoppage, computer failure or malfunction, or any
|
||||
and all other commercial damages or losses), even if the Licensor has been
|
||||
advised of the possibility of such damages.
|
||||
|
||||
7. Accepting Warranty or Additional Liability. While redistributing the
|
||||
Firmware thereof, You may choose to offer, and charge a fee for, acceptance
|
||||
of support, warranty, indemnity, or other liability obligations and/or
|
||||
rights consistent with this License. However, in accepting such
|
||||
obligations, You may act only on Your own behalf and on Your sole
|
||||
responsibility, not on behalf of the Licensor, and only if You agree to
|
||||
indemnify, defend, and hold the Licensor harmless for any liability
|
||||
incurred by, or claims asserted against, the Licensor by reason of your
|
||||
accepting any such warranty or additional liability.
|
||||
|
||||
8. Notice to United States of America Government End-Users. The Firmware and
|
||||
Documentation are “Commercial Items”, as that term is defined at 48 C.F.R.
|
||||
2.101, consisting of “Commercial Computer Firmware” and “Commercial
|
||||
Computer Firmware Documentation”, as such terms are used in 48 C.F.R.
|
||||
12.212 or 48 C.F.R. 227.7202 as applicable. Consistent with 48 C.F.R.
|
||||
12.212 or 48 C.F.R. 227-7202-1 through 227.7202-4, as applicable, the
|
||||
Commercial Computer Firmware and Commercial Computer Firmware Documentation
|
||||
are being licensed to the United States of America Government end-users (A)
|
||||
only as Commercial Items and (B) with only those rights as are granted to
|
||||
all other end users pursuant to the terms and conditions herein.
|
||||
Unpublished-rights reserved under the copyright laws of the United States.
|
||||
XIA LLC, 2744 E 11th St, Oakland, CA 94601.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,266 @@
|
|||
0x00049180 seg_pmda..LeftDAC
|
||||
0x00049190 seg_pmda..RightDAC
|
||||
0x000491a0 seg_pmda..LeftF
|
||||
0x000491b0 seg_pmda..RightF
|
||||
0x000491c0 seg_pmda..MiddleF
|
||||
0x000491d0 seg_pmda..ChanCount
|
||||
0x000491d1 seg_pmda..x
|
||||
0x000491d2 seg_pmda..q
|
||||
0x000491d3 seg_pmda..elm
|
||||
0x000491d4 seg_pmda..elmg
|
||||
0x000491d5 seg_pmda..channumber
|
||||
0x000491d6 seg_pmda..Numer
|
||||
0x000491d7 seg_pmda..Denom
|
||||
0x000491d8 seg_pmda..NegOneOverTau
|
||||
0x000491d9 seg_pmda..Beta_L
|
||||
0x000491da seg_pmda..Beta_G
|
||||
0x000491db seg_pmda..Beta_GL
|
||||
0x000491dc seg_pmda..L
|
||||
0x000491dd seg_pmda..G
|
||||
0x000491de seg_pmda..saveIMASK
|
||||
0x000491df seg_pmda..count
|
||||
0x000491e0 seg_pmda..DecPeriod
|
||||
0x000491e1 seg_pmda..FIPPIclear
|
||||
0x000491e2 seg_pmda..BLAverage
|
||||
0x000491f2 seg_pmda..BLVariance
|
||||
0x00049202 seg_pmda..BLCounter
|
||||
0x00049212 seg_pmda..InverseBLCounter
|
||||
0x00049222 seg_pmda..EnergyCorr
|
||||
0x00049252 seg_pmda..DCoffsetCorr
|
||||
0x00049262 seg_pmda..BLtoDC_Coeff
|
||||
0x00049272 seg_pmda..RunActive
|
||||
0x00049273 seg_pmda..RunType
|
||||
0x00049274 seg_pmda..URetNum
|
||||
0x00049275 seg_pmda..RT0a
|
||||
0x00049276 seg_pmda..RT0b
|
||||
0x00049277 seg_pmda..RT1a
|
||||
0x00049278 seg_pmda..RT1b
|
||||
0x00049279 seg_pmda..LastAccumulatedRunTimeA
|
||||
0x0004927a seg_pmda..LastAccumulatedRunTimeB
|
||||
0x0004927b seg_pmda..LastAccumulatedLiveTimeA
|
||||
0x0004928b seg_pmda..LastAccumulatedLiveTimeB
|
||||
0x0004929b seg_pmda..LastAccumulatedFastPeaksA
|
||||
0x000492ab seg_pmda..LastAccumulatedFastPeaksB
|
||||
0x000492bb seg_pmda..InEventLoop
|
||||
0x000492bc seg_pmda..ChReadMask
|
||||
0x000492bd seg_pmda..keepCSR
|
||||
0x000492be seg_pmda..BaseRejects
|
||||
0x000492ce seg_pmda..FIPPIaddr
|
||||
0x000492de seg_pmda..FIFOaddr
|
||||
0x000492ee seg_pmda..NewRun
|
||||
0x000492fe seg_pmda..Bsums
|
||||
0x0004932e seg_pmda..Baselines
|
||||
0x0004933e seg_pmda..GetBaseRet
|
||||
0x0004934e seg_pmda..BLcut_Float
|
||||
0x0004935e seg_pmda..Log2Bweight_Float
|
||||
0x0004936e seg_pmda..EventLength
|
||||
0x0004937e seg_pmda..HeaderLength
|
||||
0x0004938e seg_pmda..AllChsEventLenSum
|
||||
0x0004938f seg_pmda..TraceDPMAddr
|
||||
0x0004939f seg_pmda..HeaderDPMLevel
|
||||
0x000493a0 seg_pmda..HeaderDPMAddr
|
||||
0x000493b0 seg_pmda..HeaderDPMReadPntr
|
||||
0x000493c0 seg_pmda..HeaderDPMWords
|
||||
0x000493f0 seg_pmda..ReadOutHeaderChsBM
|
||||
0x000493f1 seg_pmda..HeaderChsToBeReadBM
|
||||
0x000493f2 seg_pmda..HeaderChsAlreadyRead
|
||||
0x000493f3 seg_pmda..ChanNumInEventsQueue
|
||||
0x00049403 seg_pmda..LastElapsedRunTime
|
||||
0x00049404 seg_pmda..Fipreg2LoAllChs
|
||||
0x00049414 seg_pmda..Fipreg2HiAllChs
|
||||
0x00049424 seg_pmda..Gamma0
|
||||
0x00049434 seg_pmda..Gamma1
|
||||
0x00049444 seg_pmda..QDCSumAddFlags
|
||||
0x000494c4 seg_pmda..QDCSumALengths
|
||||
0x000494cc seg_pmda..QDCSumBLengths
|
||||
0x000494d4 seg_pmda..BaseBinAddress
|
||||
0x000494d5 seg_pmda..TraceStartAddr
|
||||
0x000494d6 seg_pmda..RcdTraceLength
|
||||
0x000494d7 seg_pmda..TransmittedEventsCounter
|
||||
0x000494d8 seg_pmda..ChanCount
|
||||
0x000494d9 seg_pmda..FipBaseAddr
|
||||
0x000494da seg_pmda..Fipreg0Lo
|
||||
0x000494db seg_pmda..Fipreg0Hi
|
||||
0x000494dc seg_pmda..Fipreg1Lo
|
||||
0x000494dd seg_pmda..Fipreg1Hi
|
||||
0x000494de seg_pmda..Fipreg2Lo
|
||||
0x000494df seg_pmda..Fipreg2Hi
|
||||
0x000494e0 seg_pmda..Fipreg5Lo
|
||||
0x000494e1 seg_pmda..Fipreg5Hi
|
||||
0x000494e2 seg_pmda..Fipreg17Lo
|
||||
0x000494e3 seg_pmda..Fipreg17Hi
|
||||
0x000494e4 seg_pmda..Fipreg22Lo
|
||||
0x000494e5 seg_pmda..Fipreg22Hi
|
||||
0x000494e6 seg_pmda..Fipreg6Lo
|
||||
0x000494e7 seg_pmda..Fipreg6Hi
|
||||
0x000494e8 seg_pmda..Fipreg7Lo
|
||||
0x000494e9 seg_pmda..Fipreg7Hi
|
||||
0x000494ea seg_pmda..Fipreg20Lo
|
||||
0x000494eb seg_pmda..Fipreg20Hi
|
||||
0x000494ec seg_pmda..Fipreg21Lo
|
||||
0x000494ed seg_pmda..Fipreg21Hi
|
||||
0x000494ee seg_pmda..QDCSumABOrder
|
||||
0x000494ef seg_pmda..Fipreg13Lo
|
||||
0x000494f0 seg_pmda..Fipreg13Hi
|
||||
0x000494f1 seg_pmda..DACvalue
|
||||
0x000494f2 seg_pmda..saveOffsetDACs
|
||||
0x00049502 seg_pmda..BaseBinAddress
|
||||
0x00049503 seg_pmda..TraceStartAddr
|
||||
0x00049504 seg_pmda..RcdTraceLength
|
||||
0x00049505 seg_pmda..RcdTraceFlag
|
||||
0x00049506 seg_pmda..ComEnergyFlag
|
||||
0x00049507 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049508 seg_pmda..RcdEventLength
|
||||
0x00049509 seg_pmda..RcdHeaderLength
|
||||
0x0004950a seg_pmda..EventID
|
||||
0x0004950b seg_pmda..TimestampLo
|
||||
0x0004950c seg_pmda..TimestampHiCFD
|
||||
0x0004950d seg_pmda..QDCChanSumsA
|
||||
0x00049515 seg_pmda..QDCChanSumsB
|
||||
0x0004951d seg_pmda..extts_lo
|
||||
0x0004951e seg_pmda..extts_hi
|
||||
0x0004951f seg_pmda..RangeBadFlag
|
||||
0x00049520 seg_pmda..BaseBinAddress
|
||||
0x00049521 seg_pmda..TraceStartAddr
|
||||
0x00049522 seg_pmda..RcdTraceLength
|
||||
0x00049523 seg_pmda..TransmittedEventsCounter
|
||||
0x00049524 seg_pmda..RcdTraceFlag
|
||||
0x00049525 seg_pmda..ComEnergyFlag
|
||||
0x00049526 seg_pmda..ReadNotSaveTraceFlag
|
||||
0x00049527 seg_pmda..RcdEventLength
|
||||
0x00049528 seg_pmda..RcdHeaderLength
|
||||
0x00049529 seg_pmda..EventID
|
||||
0x0004952a seg_pmda..TimestampLo
|
||||
0x0004952b seg_pmda..TimestampHiCFD
|
||||
0x0004952c seg_pmda..QDCChanSumsA
|
||||
0x00049534 seg_pmda..QDCChanSumsB
|
||||
0x0004953c seg_pmda..extts_lo
|
||||
0x0004953d seg_pmda..extts_hi
|
||||
0x0004953e seg_pmda..RangeBadFlag
|
||||
0x0004953f seg_pmda..tempstack
|
||||
0x00049544 seg_pmda..SumX
|
||||
0x00049554 seg_pmda..SumY
|
||||
0x00049564 seg_pmda..SumY2
|
||||
0x00049574 seg_pmda..SumXY
|
||||
0x00049584 seg_pmda..SumX2
|
||||
0x00049594 seg_pmda..SumN
|
||||
0x0004a000 seg_IOparams..ModNum
|
||||
0x0004a001 seg_IOparams..ModCSRA
|
||||
0x0004a002 seg_IOparams..ModCSRB
|
||||
0x0004a003 seg_IOparams..ModFormat
|
||||
0x0004a004 seg_IOparams..RunTask
|
||||
0x0004a005 seg_IOparams..ControlTask
|
||||
0x0004a006 seg_IOparams..MaxEvents
|
||||
0x0004a007 seg_IOparams..CoincPattern
|
||||
0x0004a008 seg_IOparams..CoincWait
|
||||
0x0004a009 seg_IOparams..SynchWait
|
||||
0x0004a00a seg_IOparams..InSynch
|
||||
0x0004a00b seg_IOparams..Resume
|
||||
0x0004a00c seg_IOparams..SlowFilterRange
|
||||
0x0004a00d seg_IOparams..FastFilterRange
|
||||
0x0004a00e seg_IOparams..ChanNum
|
||||
0x0004a00f seg_IOparams..HostIO
|
||||
0x0004a01f seg_IOparams..UserIn
|
||||
0x0004a02f seg_IOparams..FastTrigBackplaneEna
|
||||
0x0004a030 seg_IOparams..CrateID
|
||||
0x0004a031 seg_IOparams..SlotID
|
||||
0x0004a032 seg_IOparams..ModID
|
||||
0x0004a033 seg_IOparams..TrigConfig
|
||||
0x0004a037 seg_IOparams..U00
|
||||
0x0004a03e seg_IOparams..HostRunTimePreset
|
||||
0x0004a03f seg_IOparams..PowerUpInitDone
|
||||
0x0004a040 seg_IOparams..ChanCSRa
|
||||
0x0004a050 seg_IOparams..ChanCSRb
|
||||
0x0004a060 seg_IOparams..GainDAC
|
||||
0x0004a070 seg_IOparams..OffsetDAC
|
||||
0x0004a080 seg_IOparams..DigGain
|
||||
0x0004a090 seg_IOparams..SlowLength
|
||||
0x0004a0a0 seg_IOparams..SlowGap
|
||||
0x0004a0b0 seg_IOparams..FastLength
|
||||
0x0004a0c0 seg_IOparams..FastGap
|
||||
0x0004a0d0 seg_IOparams..PeakSample
|
||||
0x0004a0e0 seg_IOparams..PeakSep
|
||||
0x0004a0f0 seg_IOparams..CFDThresh
|
||||
0x0004a100 seg_IOparams..FastThresh
|
||||
0x0004a110 seg_IOparams..ThreshWidth
|
||||
0x0004a120 seg_IOparams..PAFlength
|
||||
0x0004a130 seg_IOparams..TriggerDelay
|
||||
0x0004a140 seg_IOparams..ResetDelay
|
||||
0x0004a150 seg_IOparams..ChanTrigStretch
|
||||
0x0004a160 seg_IOparams..TraceLength
|
||||
0x0004a170 seg_IOparams..Xwait
|
||||
0x0004a180 seg_IOparams..TrigOutLen
|
||||
0x0004a190 seg_IOparams..EnergyLow
|
||||
0x0004a1a0 seg_IOparams..Log2Ebin
|
||||
0x0004a1b0 seg_IOparams..MultiplicityMaskL
|
||||
0x0004a1c0 seg_IOparams..PSAoffset
|
||||
0x0004a1d0 seg_IOparams..PSAlength
|
||||
0x0004a1e0 seg_IOparams..Integrator
|
||||
0x0004a1f0 seg_IOparams..BLcut
|
||||
0x0004a200 seg_IOparams..BaselinePercent
|
||||
0x0004a210 seg_IOparams..FtrigoutDelay
|
||||
0x0004a220 seg_IOparams..Log2Bweight
|
||||
0x0004a230 seg_IOparams..PreampTau
|
||||
0x0004a240 seg_IOparams..Xavg
|
||||
0x0004a250 seg_IOparams..MultiplicityMaskH
|
||||
0x0004a260 seg_IOparams..FastTrigBackLen
|
||||
0x0004a270 seg_IOparams..CFDDelay
|
||||
0x0004a280 seg_IOparams..CFDScale
|
||||
0x0004a290 seg_IOparams..ExtTrigStretch
|
||||
0x0004a2a0 seg_IOparams..VetoStretch
|
||||
0x0004a2b0 seg_IOparams..ExternDelayLen
|
||||
0x0004a2c0 seg_IOparams..QDCLen0
|
||||
0x0004a2d0 seg_IOparams..QDCLen1
|
||||
0x0004a2e0 seg_IOparams..QDCLen2
|
||||
0x0004a2f0 seg_IOparams..QDCLen3
|
||||
0x0004a300 seg_IOparams..QDCLen4
|
||||
0x0004a310 seg_IOparams..QDCLen5
|
||||
0x0004a320 seg_IOparams..QDCLen6
|
||||
0x0004a330 seg_IOparams..QDCLen7
|
||||
0x0004a340 seg_IOparams..RealTimeA
|
||||
0x0004a341 seg_IOparams..RealTimeB
|
||||
0x0004a342 seg_IOparams..RunTimeA
|
||||
0x0004a343 seg_IOparams..RunTimeB
|
||||
0x0004a344 seg_IOparams..GSLTtime
|
||||
0x0004a345 seg_IOparams..NumEventsA
|
||||
0x0004a346 seg_IOparams..NumEventsB
|
||||
0x0004a347 seg_IOparams..DSPerror
|
||||
0x0004a348 seg_IOparams..SynchDone
|
||||
0x0004a349 seg_IOparams..BufHeadLen
|
||||
0x0004a34a seg_IOparams..EventHeadLen
|
||||
0x0004a34b seg_IOparams..ChanHeadLen
|
||||
0x0004a34c seg_IOparams..UserOut
|
||||
0x0004a35c seg_IOparams..AOutBuffer
|
||||
0x0004a35d seg_IOparams..LOutBuffer
|
||||
0x0004a35e seg_IOparams..AECorr
|
||||
0x0004a35f seg_IOparams..LECorr
|
||||
0x0004a360 seg_IOparams..HardwareID
|
||||
0x0004a361 seg_IOparams..HardVariant
|
||||
0x0004a362 seg_IOparams..FIFOLength
|
||||
0x0004a363 seg_IOparams..FippiID
|
||||
0x0004a364 seg_IOparams..FippiVariant
|
||||
0x0004a365 seg_IOparams..DSPrelease
|
||||
0x0004a366 seg_IOparams..DSPbuild
|
||||
0x0004a367 seg_IOparams..DSPVariant
|
||||
0x0004a368 seg_IOparams..U20
|
||||
0x0004a37f seg_IOparams..LiveTimeA
|
||||
0x0004a38f seg_IOparams..LiveTimeB
|
||||
0x0004a39f seg_IOparams..FastPeaksA
|
||||
0x0004a3af seg_IOparams..FastPeaksB
|
||||
0x0004a3bf seg_IOparams..OverflowA
|
||||
0x0004a3cf seg_IOparams..OverflowB
|
||||
0x0004a3df seg_IOparams..InSpecA
|
||||
0x0004a3ef seg_IOparams..InSpecB
|
||||
0x0004a3ff seg_IOparams..UnderflowA
|
||||
0x0004a40f seg_IOparams..UnderflowB
|
||||
0x0004a41f seg_IOparams..ChanEventsA
|
||||
0x0004a42f seg_IOparams..ChanEventsB
|
||||
0x0004a43f seg_IOparams..AutoTau
|
||||
0x0004a44f seg_IOparams..U30
|
||||
0x0004a500 seg_Cirbuf..Cirbuf
|
||||
0x0004d500 seg_dmda.._errno
|
||||
0x0004d504 seg_dmda..exponential_data
|
||||
0x0004d519 seg_dmda..exponential_data
|
||||
0x0004d525 seg_dmda..logs_data
|
||||
0x0004e000 seg_TransBuf..TransBuf
|
||||
0x00050000 seg_IObuf..IObuffer
|
|
@ -0,0 +1,113 @@
|
|||
0x0004a000 ModNum
|
||||
0x0004a001 ModCSRA
|
||||
0x0004a002 ModCSRB
|
||||
0x0004a003 ModFormat
|
||||
0x0004a004 RunTask
|
||||
0x0004a005 ControlTask
|
||||
0x0004a006 MaxEvents
|
||||
0x0004a007 CoincPattern
|
||||
0x0004a008 CoincWait
|
||||
0x0004a009 SynchWait
|
||||
0x0004a00a InSynch
|
||||
0x0004a00b Resume
|
||||
0x0004a00c SlowFilterRange
|
||||
0x0004a00d FastFilterRange
|
||||
0x0004a00e ChanNum
|
||||
0x0004a00f HostIO
|
||||
0x0004a01f UserIn
|
||||
0x0004a02f FastTrigBackplaneEna
|
||||
0x0004a030 CrateID
|
||||
0x0004a031 SlotID
|
||||
0x0004a032 ModID
|
||||
0x0004a033 TrigConfig
|
||||
0x0004a037 U00
|
||||
0x0004a03e HostRunTimePreset
|
||||
0x0004a03f PowerUpInitDone
|
||||
0x0004a040 ChanCSRa
|
||||
0x0004a050 ChanCSRb
|
||||
0x0004a060 GainDAC
|
||||
0x0004a070 OffsetDAC
|
||||
0x0004a080 DigGain
|
||||
0x0004a090 SlowLength
|
||||
0x0004a0a0 SlowGap
|
||||
0x0004a0b0 FastLength
|
||||
0x0004a0c0 FastGap
|
||||
0x0004a0d0 PeakSample
|
||||
0x0004a0e0 PeakSep
|
||||
0x0004a0f0 CFDThresh
|
||||
0x0004a100 FastThresh
|
||||
0x0004a110 ThreshWidth
|
||||
0x0004a120 PAFlength
|
||||
0x0004a130 TriggerDelay
|
||||
0x0004a140 ResetDelay
|
||||
0x0004a150 ChanTrigStretch
|
||||
0x0004a160 TraceLength
|
||||
0x0004a170 Xwait
|
||||
0x0004a180 TrigOutLen
|
||||
0x0004a190 EnergyLow
|
||||
0x0004a1a0 Log2Ebin
|
||||
0x0004a1b0 MultiplicityMaskL
|
||||
0x0004a1c0 PSAoffset
|
||||
0x0004a1d0 PSAlength
|
||||
0x0004a1e0 Integrator
|
||||
0x0004a1f0 BLcut
|
||||
0x0004a200 BaselinePercent
|
||||
0x0004a210 FtrigoutDelay
|
||||
0x0004a220 Log2Bweight
|
||||
0x0004a230 PreampTau
|
||||
0x0004a240 Xavg
|
||||
0x0004a250 MultiplicityMaskH
|
||||
0x0004a260 FastTrigBackLen
|
||||
0x0004a270 CFDDelay
|
||||
0x0004a280 CFDScale
|
||||
0x0004a290 ExtTrigStretch
|
||||
0x0004a2a0 VetoStretch
|
||||
0x0004a2b0 ExternDelayLen
|
||||
0x0004a2c0 QDCLen0
|
||||
0x0004a2d0 QDCLen1
|
||||
0x0004a2e0 QDCLen2
|
||||
0x0004a2f0 QDCLen3
|
||||
0x0004a300 QDCLen4
|
||||
0x0004a310 QDCLen5
|
||||
0x0004a320 QDCLen6
|
||||
0x0004a330 QDCLen7
|
||||
0x0004a340 RealTimeA
|
||||
0x0004a341 RealTimeB
|
||||
0x0004a342 RunTimeA
|
||||
0x0004a343 RunTimeB
|
||||
0x0004a344 GSLTtime
|
||||
0x0004a345 NumEventsA
|
||||
0x0004a346 NumEventsB
|
||||
0x0004a347 DSPerror
|
||||
0x0004a348 SynchDone
|
||||
0x0004a349 BufHeadLen
|
||||
0x0004a34a EventHeadLen
|
||||
0x0004a34b ChanHeadLen
|
||||
0x0004a34c UserOut
|
||||
0x0004a35c AOutBuffer
|
||||
0x0004a35d LOutBuffer
|
||||
0x0004a35e AECorr
|
||||
0x0004a35f LECorr
|
||||
0x0004a360 HardwareID
|
||||
0x0004a361 HardVariant
|
||||
0x0004a362 FIFOLength
|
||||
0x0004a363 FippiID
|
||||
0x0004a364 FippiVariant
|
||||
0x0004a365 DSPrelease
|
||||
0x0004a366 DSPbuild
|
||||
0x0004a367 DSPVariant
|
||||
0x0004a368 U20
|
||||
0x0004a37f LiveTimeA
|
||||
0x0004a38f LiveTimeB
|
||||
0x0004a39f FastPeaksA
|
||||
0x0004a3af FastPeaksB
|
||||
0x0004a3bf OverflowA
|
||||
0x0004a3cf OverflowB
|
||||
0x0004a3df InSpecA
|
||||
0x0004a3ef InSpecB
|
||||
0x0004a3ff UnderflowA
|
||||
0x0004a40f UnderflowB
|
||||
0x0004a41f ChanEventsA
|
||||
0x0004a42f ChanEventsB
|
||||
0x0004a43f AutoTau
|
||||
0x0004a44f U30
|
|
@ -0,0 +1,20 @@
|
|||
# Metadata file for the pixie16_revf_general_16b250m_35921_2017-01-09 firmware package.
|
||||
# This file and its contents are covered by the XIA LLC Firmware License.
|
||||
product:
|
||||
name: Pixie-16
|
||||
revision: F
|
||||
adc:
|
||||
resolution: 16
|
||||
sampling_frequency: 250
|
||||
release:
|
||||
type: general
|
||||
date: 2017-01-09
|
||||
version: 35921
|
||||
files:
|
||||
dsp:
|
||||
"Pixie16DSP_revfgeneral_16b250m_r35921.ldr": a1d9ba059e98dd9dfb657450a889f13c
|
||||
"Pixie16DSP_revfgeneral_16b250m_r35921.lst": dfd143988714d38cf2169dfd39c1b1ec
|
||||
"Pixie16DSP_revfgeneral_16b250m_r35921.var": 34938d3a54ef71f8f575b8990fbd97bf
|
||||
firmware:
|
||||
"fippixie16_revfgeneral_16b250m_r36563.bin": d3588443fa201c9d5d1abaa8a576b846
|
||||
"syspixie16_revfgeneral_adc250mhz_r33339.bin": 357f1a430b0c374582a2cfe5d564665d
|
|
@ -0,0 +1,107 @@
|
|||
XIA LLC Firmware License
|
||||
Version 1.0, July 2021
|
||||
|
||||
TERMS AND CONDITIONS FOR USE AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
"License" shall mean the terms and conditions for use and distribution of
|
||||
XIA LLC Firmware as defined by Sections 1 through 8 of this license
|
||||
document.
|
||||
|
||||
"Licensor" is the copyright owner XIA LLC and is the sole entity capable
|
||||
of granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other
|
||||
entities that control, are controlled by, or are under common control with
|
||||
that entity. For the purposes of this definition, "control" means (i) the
|
||||
power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of fifty
|
||||
percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.
|
||||
|
||||
"Firmware" shall mean the proprietary files distributed by the Licensor
|
||||
and made available under this License. The firmware is intended for use
|
||||
with hardware produced by the Licensor.
|
||||
|
||||
“Checksum File” shall mean any file provided with the Firmware that
|
||||
contains an MD5 hash value.
|
||||
|
||||
“Package” shall mean any executable or binary file that includes the
|
||||
Firmware and Checksum File covered by this License.
|
||||
|
||||
“Installation” shall mean the process of making a Package ready for use.
|
||||
|
||||
2. Grant of License. The Firmware and any copies thereof are owned by
|
||||
Licensor, and are the valuable trade secrets of Licensor. The Firmware is
|
||||
protected by United States Copyright Law and International Treaty Provisions.
|
||||
You may not copy the Firmware, except as set forth in the “Redistribution”
|
||||
section. Any copies that you are permitted to make pursuant to this License
|
||||
must contain the same copyright and other proprietary notices that accompany
|
||||
the Firmware. You agree not to modify, adapt or translate the Firmware. You
|
||||
also agree not to reverse engineer, decompile, disassemble, or otherwise
|
||||
attempt to discover the source code of the Firmware.
|
||||
|
||||
3. Redistribution. You may distribute copies of the Firmware in any medium,
|
||||
without modifications, provided that You meet the following conditions:
|
||||
|
||||
1. You must provide any other recipients of the Firmware a copy of this
|
||||
License; and
|
||||
|
||||
2. You must maintain the original Checksum File distributed with the
|
||||
Firmware; and
|
||||
|
||||
3. Your Packages that install the Firmware must install this License and
|
||||
Checksum File as part of the Installation process.
|
||||
|
||||
4. Trademarks. This License does not grant permission to use the trade names,
|
||||
trademarks, service marks, or product names of the Licensor, except as
|
||||
required for reasonable and customary use in describing the origin of the
|
||||
Firmware and reproducing the content of the Checksum File.
|
||||
|
||||
5. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
||||
writing, Licensor provides the Firmware on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
|
||||
without limitation, any warranties or conditions of TITLE,
|
||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You
|
||||
are solely responsible for determining the appropriateness of using or
|
||||
redistributing the Firmware and assume any risks associated with Your
|
||||
exercise of permissions under this License.
|
||||
|
||||
6. Limitation of Liability. In no event and under no legal theory, whether in
|
||||
tort (including negligence), contract, or otherwise, unless required by
|
||||
applicable law (such as deliberate and grossly negligent acts) or agreed to
|
||||
in writing, shall the Licensor be liable to You for damages, including any
|
||||
direct, indirect, special, incidental, or consequential damages of any
|
||||
character arising as a result of this License or out of the use or
|
||||
inability to use the Firmware (including but not limited to damages for
|
||||
loss of goodwill, work stoppage, computer failure or malfunction, or any
|
||||
and all other commercial damages or losses), even if the Licensor has been
|
||||
advised of the possibility of such damages.
|
||||
|
||||
7. Accepting Warranty or Additional Liability. While redistributing the
|
||||
Firmware thereof, You may choose to offer, and charge a fee for, acceptance
|
||||
of support, warranty, indemnity, or other liability obligations and/or
|
||||
rights consistent with this License. However, in accepting such
|
||||
obligations, You may act only on Your own behalf and on Your sole
|
||||
responsibility, not on behalf of the Licensor, and only if You agree to
|
||||
indemnify, defend, and hold the Licensor harmless for any liability
|
||||
incurred by, or claims asserted against, the Licensor by reason of your
|
||||
accepting any such warranty or additional liability.
|
||||
|
||||
8. Notice to United States of America Government End-Users. The Firmware and
|
||||
Documentation are “Commercial Items”, as that term is defined at 48 C.F.R.
|
||||
2.101, consisting of “Commercial Computer Firmware” and “Commercial
|
||||
Computer Firmware Documentation”, as such terms are used in 48 C.F.R.
|
||||
12.212 or 48 C.F.R. 227.7202 as applicable. Consistent with 48 C.F.R.
|
||||
12.212 or 48 C.F.R. 227-7202-1 through 227.7202-4, as applicable, the
|
||||
Commercial Computer Firmware and Commercial Computer Firmware Documentation
|
||||
are being licensed to the United States of America Government end-users (A)
|
||||
only as Commercial Items and (B) with only those rights as are granted to
|
||||
all other end users pursuant to the terms and conditions herein.
|
||||
Unpublished-rights reserved under the copyright laws of the United States.
|
||||
XIA LLC, 2744 E 11th St, Oakland, CA 94601.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
10
global_macro.h
Normal file
10
global_macro.h
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef GLOBAL_MACRO_H
|
||||
#define GLOBAL_MACRO_H
|
||||
|
||||
#define MAXCH 16
|
||||
#define MAXMOD 13
|
||||
|
||||
#define NUM_MOD_SETTING 13
|
||||
#define NUM_CHANNEL_SETTING 25
|
||||
|
||||
#endif
|
|
@ -48,6 +48,8 @@ ModuleSetting::ModuleSetting(const TGWindow *p, UInt_t w, UInt_t h, Pixie16 * pi
|
|||
modIDEntry->SetWidth(50);
|
||||
modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1);
|
||||
modIDEntry->Connect("Modified()", "ModuleSetting", this, "ChangeMod()");
|
||||
if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false);
|
||||
|
||||
hframe0->AddFrame(modIDEntry, new TGLayoutHints(kLHintsCenterX , 5, 5, 3, 4));
|
||||
|
||||
int modID = modIDEntry->GetNumber();
|
||||
|
|
|
@ -7,13 +7,11 @@
|
|||
#include <TGLabel.h>
|
||||
|
||||
#include "Pixie16Class.h"
|
||||
#include "global_macro.h"
|
||||
|
||||
class TGWindow;
|
||||
class TGMainFrame;
|
||||
|
||||
#define MAXCH 16
|
||||
#define NUM_MOD_SETTING 13
|
||||
|
||||
class ModuleSetting{
|
||||
private:
|
||||
TGMainFrame * fMain;
|
||||
|
|
224
pixieDAQ.cpp
224
pixieDAQ.cpp
|
@ -9,7 +9,6 @@
|
|||
#include <TGLabel.h>
|
||||
#include <TGNumberEntry.h>
|
||||
#include <TGraph.h>
|
||||
#include <TGTextEditor.h>
|
||||
#include <TAxis.h>
|
||||
#include <TF1.h>
|
||||
|
||||
|
@ -27,7 +26,10 @@ enum MenuIdentifiers{
|
|||
M_EXIT,
|
||||
M_CH_SETTINGS_SUMMARY,
|
||||
M_CH_SETTING,
|
||||
M_MODULE_SETTINGS
|
||||
M_MODULE_SETTINGS,
|
||||
M_PROGRAM_SETTINGS,
|
||||
M_FINDPEAKS,
|
||||
M_SHOW_CHANNELS_RATE
|
||||
|
||||
};
|
||||
|
||||
|
@ -37,7 +39,11 @@ enum MenuIdentifiers{
|
|||
Pixie16 * MainWindow::pixie = NULL;
|
||||
TGTextEdit * MainWindow::teLog = NULL;
|
||||
TRootEmbeddedCanvas * MainWindow::fEcanvas = NULL;
|
||||
TH1F * MainWindow::h1[13][16]={NULL};
|
||||
TGNumberEntry * MainWindow::modIDEntry = NULL;
|
||||
TGNumberEntry * MainWindow::chEntry = NULL;
|
||||
TH1F * MainWindow::hEnergy[MAXMOD][MAXCH]={NULL};
|
||||
TH1F * MainWindow::hChannel[MAXMOD]={NULL};
|
||||
bool MainWindow::isEnergyHistFilled = false;
|
||||
|
||||
MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
||||
|
||||
|
@ -50,20 +56,26 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
GoodBye();
|
||||
}
|
||||
|
||||
for( unsigned int i = 0; i < pixie->GetNumModule() ; i++){
|
||||
for( int j = 0; j < MAXCH ; j++){
|
||||
hEnergy[i][j] = new TH1F(Form("hEnergy%02d_%02d", i, j), Form("Energy mod:%2d ch:%02d (down scaled)", i, j), 200, 0, 160000);
|
||||
}
|
||||
hChannel[i] = new TH1F(Form("hChannel%02d", i), Form("Channel Stat. mod:%2d (down scaled)", i), MAXCH, 0, MAXCH);
|
||||
}
|
||||
|
||||
/// Create a main frame
|
||||
fMain = new TGMainFrame(p,w,h);
|
||||
///fMain->SetWMPosition(500, 500); //does not work
|
||||
fMain->Connect("CloseWindow()", "MainWindow", this, "GoodBye()");
|
||||
|
||||
///menu
|
||||
///======================= menu
|
||||
fMenuBar = new TGMenuBar(fMain, 1, 1, kHorizontalFrame);
|
||||
fMain->AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsExpandX));
|
||||
|
||||
fMenuFile = new TGPopupMenu(gClient->GetRoot());
|
||||
fMenuFile->AddEntry("&Open...", M_FILE_OPEN);
|
||||
fMenuFile->AddEntry("&Open Pixie16.config", M_FILE_OPEN);
|
||||
fMenuFile->AddSeparator();
|
||||
fMenuFile->AddEntry("E&xit", M_EXIT);
|
||||
|
||||
fMenuFile->Connect("Activated(Int_t)", "MainWindow", this, "HandleMenu(Int_t)");
|
||||
fMenuBar->AddPopup("&File", fMenuFile, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
|
||||
|
||||
|
@ -71,11 +83,18 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
fMenuSettings->AddEntry("&Settings Summary", M_CH_SETTINGS_SUMMARY);
|
||||
fMenuSettings->AddEntry("&Channel Setting", M_CH_SETTING);
|
||||
fMenuSettings->AddSeparator();
|
||||
fMenuSettings->AddEntry("Digitizer &Settings", M_MODULE_SETTINGS);
|
||||
|
||||
fMenuSettings->AddEntry("&Digitizer Settings", M_MODULE_SETTINGS);
|
||||
fMenuSettings->AddSeparator();
|
||||
fMenuSettings->AddEntry("Program Settings", M_PROGRAM_SETTINGS);
|
||||
fMenuSettings->Connect("Activated(Int_t)", "MainWindow", this, "HandleMenu(Int_t)");
|
||||
fMenuBar->AddPopup("&Settings", fMenuSettings, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
|
||||
|
||||
fMenuUtility = new TGPopupMenu(gClient->GetRoot());
|
||||
fMenuUtility->AddEntry("Plot Channels Rate", M_SHOW_CHANNELS_RATE);
|
||||
fMenuSettings->AddSeparator();
|
||||
fMenuUtility->AddEntry("Find &Peaks", M_FINDPEAKS);
|
||||
fMenuUtility->Connect("Activated(Int_t)", "MainWindow", this, "HandleMenu(Int_t)");
|
||||
fMenuBar->AddPopup("&Utility", fMenuUtility, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
|
||||
|
||||
TGLayoutHints * uniLayoutHints = new TGLayoutHints(kLHintsNormal, 2,2,10,0); ///left, right, top, bottom
|
||||
|
||||
|
@ -96,6 +115,8 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
modIDEntry = new TGNumberEntry(hframe1, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative);
|
||||
modIDEntry->SetWidth(50);
|
||||
modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1);
|
||||
modIDEntry->Connect("Modified()", "MainWindow", this, "ChangeMod()");
|
||||
if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false);
|
||||
hframe1->AddFrame(modIDEntry, uniLayoutHints);
|
||||
|
||||
TGLabel * lb2 = new TGLabel(hframe1, "Ch :");
|
||||
|
@ -104,6 +125,7 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
chEntry = new TGNumberEntry(hframe1, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative);
|
||||
chEntry->SetWidth(50);
|
||||
chEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetDigitizerNumChannel(0));
|
||||
chEntry->Connect("Modified()", "MainWindow", this, "ChangeChannel()");
|
||||
hframe1->AddFrame(chEntry, uniLayoutHints);
|
||||
|
||||
TGTextButton *bGetADCTrace = new TGTextButton(hframe1,"Get &ADC Trace");
|
||||
|
@ -131,10 +153,19 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
TGHorizontalFrame *hframe2 = new TGHorizontalFrame(group2,200,30);
|
||||
group2->AddFrame(hframe2);
|
||||
|
||||
tePath = new TGTextEntry(hframe2, new TGTextBuffer(10));
|
||||
tePath->SetText("haha.evt");
|
||||
TGLabel * lb1Prefix = new TGLabel(hframe2, "Save Prefix:");
|
||||
hframe2->AddFrame(lb1Prefix, uniLayoutHints);
|
||||
|
||||
tePath = new TGTextEntry(hframe2, new TGTextBuffer(30));
|
||||
tePath->SetWidth(50);
|
||||
tePath->SetText("haha");
|
||||
hframe2->AddFrame(tePath, uniLayoutHints);
|
||||
|
||||
runIDEntry = new TGNumberEntry(hframe2, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative);
|
||||
runIDEntry->SetWidth(50);
|
||||
runIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, 999);
|
||||
hframe2->AddFrame(runIDEntry, uniLayoutHints);
|
||||
|
||||
bStartRun = new TGTextButton(hframe2,"Start &Run");
|
||||
bStartRun->Connect("Clicked()","MainWindow",this,"StartRun()");
|
||||
hframe2->AddFrame(bStartRun, uniLayoutHints);
|
||||
|
@ -186,10 +217,8 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
|
|||
/// Map main frame
|
||||
fMain->MapWindow();
|
||||
|
||||
|
||||
|
||||
/// setup thread
|
||||
thread = new TThread("hahaha", SaveData, (void *) 1);
|
||||
saveDataThread = new TThread("hahaha", SaveData, (void *) 1);
|
||||
fillHistThread = new TThread("kakaka", FillHistogram, (void *) 1);
|
||||
|
||||
settingsSummary = NULL;
|
||||
|
@ -229,10 +258,13 @@ MainWindow::~MainWindow() {
|
|||
delete channelSetting;
|
||||
delete scalarPanel;
|
||||
|
||||
delete thread;
|
||||
delete saveDataThread;
|
||||
delete fillHistThread;
|
||||
|
||||
delete gTrace;
|
||||
|
||||
delete configEditor;
|
||||
|
||||
/// Clean up used widgets: frames, buttons, layout hints
|
||||
fMain->Cleanup();
|
||||
delete fMain;
|
||||
|
@ -245,6 +277,8 @@ void MainWindow::HandleMenu(Int_t id){
|
|||
///========================= File Open
|
||||
case M_FILE_OPEN:{
|
||||
|
||||
configEditor = new TGTextEditor("Pixie16.config", gClient->GetRoot(), 1200);
|
||||
|
||||
}break;
|
||||
|
||||
///========================= Exit
|
||||
|
@ -284,6 +318,29 @@ void MainWindow::HandleMenu(Int_t id){
|
|||
|
||||
}break;
|
||||
|
||||
///========================= Program setting
|
||||
case M_PROGRAM_SETTINGS:{
|
||||
LogMsg("[Program settings] Not impelmented");
|
||||
}break;
|
||||
|
||||
///====================== Show channel rate;
|
||||
case M_SHOW_CHANNELS_RATE:{
|
||||
|
||||
int modID = modIDEntry->GetNumber();
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
hChannel[modID]->Draw();
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
}break;
|
||||
|
||||
|
||||
///====================== Fit Gaussian
|
||||
case M_FINDPEAKS:{
|
||||
|
||||
LogMsg("[Find Peaks] Not impelmented");
|
||||
|
||||
}break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -307,11 +364,11 @@ void MainWindow::GetADCTrace() {
|
|||
}
|
||||
gTrace->GetXaxis()->SetTitle("time [us]");
|
||||
gTrace->GetXaxis()->SetRangeUser(0, pixie->GetADCTraceLength()*dt);
|
||||
gTrace->Draw("APL");
|
||||
gTrace->SetTitle(Form("Trace mod:%d ch:%0d", modID, ch));
|
||||
|
||||
TCanvas *fCanvas = fEcanvas->GetCanvas();
|
||||
fCanvas->cd();
|
||||
fCanvas->Update();
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
gTrace->Draw("APL");
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
}
|
||||
|
||||
|
@ -333,11 +390,11 @@ void MainWindow::GetBaseLine(){
|
|||
gTrace->SetPoint(i, baselineTime[i]*1000, baseline[i]);
|
||||
}
|
||||
gTrace->GetXaxis()->SetTitle("time [ns]");
|
||||
gTrace->Draw("APL");
|
||||
gTrace->SetTitle(Form("Baseline mod:%d ch:%0d", modID, ch));
|
||||
|
||||
TCanvas *fCanvas = fEcanvas->GetCanvas();
|
||||
fCanvas->cd();
|
||||
fCanvas->Update();
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
gTrace->Draw("APL");
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
}
|
||||
|
||||
|
@ -388,11 +445,10 @@ void MainWindow::Scope(){
|
|||
gTrace->GetXaxis()->SetTitle("time [ns]");
|
||||
gTrace->GetXaxis()->SetRangeUser(0, data->trace_length * dt);
|
||||
gTrace->SetTitle(Form("mod-%d, ch-%02d\n", modID, ch));
|
||||
gTrace->Draw("APL");
|
||||
|
||||
TCanvas *fCanvas = fEcanvas->GetCanvas();
|
||||
fCanvas->cd();
|
||||
fCanvas->Update();
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
gTrace->Draw("APL");
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
bFitTrace->SetEnabled(true);
|
||||
|
||||
|
@ -443,20 +499,12 @@ void MainWindow::FitTrace(){
|
|||
if( y > yMax) yMax = y;
|
||||
}
|
||||
|
||||
///printf("%f %f %f %f\n", xMin, xMax, yMin, yMax);
|
||||
|
||||
double baseline = yMin;
|
||||
double amp = yMax-yMin;
|
||||
|
||||
double riseTime = 200;
|
||||
double decayTime = 40000;
|
||||
|
||||
///printf(" t0 : %f ns\n", t0);
|
||||
///printf(" r : %f ns\n", riseTime);
|
||||
///printf(" d : %f ns\n", decayTime);
|
||||
///printf(" amp : %f ns\n", amp);
|
||||
///printf(" bl : %f ns\n", baseline);
|
||||
|
||||
TF1 * traceFunc = new TF1("fit", standardPulse, xMin + t0*0.1, xMax - t0*0.1, 5);
|
||||
|
||||
traceFunc->SetNpx(1000);
|
||||
|
@ -474,11 +522,9 @@ void MainWindow::FitTrace(){
|
|||
|
||||
gTrace->Fit("fit", "qR0");
|
||||
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
traceFunc->Draw("same");
|
||||
|
||||
TCanvas *fCanvas = fEcanvas->GetCanvas();
|
||||
fCanvas->cd();
|
||||
fCanvas->Update();
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
LogMsg("========= fit result");
|
||||
TString text[5] ={"start time", "rise time", "decay time", "amp", "baseline"};
|
||||
|
@ -505,12 +551,23 @@ void MainWindow::GoodBye(){
|
|||
|
||||
void MainWindow::StartRun(){
|
||||
|
||||
pixie->OpenFile(tePath->GetText(), false);
|
||||
TString saveFileName = Form("%s_%03lu.evt", tePath->GetText(), runIDEntry->GetIntNumber());
|
||||
|
||||
LogMsg(Form("Start Run. Save data at %s.\n", tePath->GetText()));
|
||||
pixie->OpenFile(saveFileName.Data(), false);
|
||||
|
||||
LogMsg(Form("Start Run. Save data at %s.\n", saveFileName.Data()));
|
||||
|
||||
///clear histogram;
|
||||
isEnergyHistFilled = false;
|
||||
for( unsigned int iMod = 0 ; iMod < pixie->GetNumModule(); iMod++){
|
||||
for( int j = 0; j < MAXCH ; j++){
|
||||
hEnergy[iMod][j]->Reset();
|
||||
}
|
||||
}
|
||||
|
||||
pixie->StartRun(1);
|
||||
if( pixie->IsRunning() ) thread->Run(); /// call SaveData()
|
||||
if( pixie->IsRunning() ) saveDataThread->Run(); /// call SaveData()
|
||||
if( pixie->IsRunning() ) fillHistThread->Run(); /// call SaveData()
|
||||
|
||||
bStartRun->SetEnabled(false);
|
||||
bStopRun->SetEnabled(true);
|
||||
|
@ -531,6 +588,8 @@ void MainWindow::StopRun(){
|
|||
bStartRun->SetEnabled(true);
|
||||
bStopRun->SetEnabled(false);
|
||||
|
||||
runIDEntry->SetIntNumber(runIDEntry->GetIntNumber()+1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -544,6 +603,25 @@ void MainWindow::OpenScalar(){
|
|||
}
|
||||
|
||||
|
||||
void MainWindow::ChangeMod(){
|
||||
|
||||
if( isEnergyHistFilled ){
|
||||
int modID = modIDEntry->GetNumber();
|
||||
int ch = chEntry->GetNumber();
|
||||
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
hEnergy[modID][ch]->Draw();
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::ChangeChannel(){
|
||||
ChangeMod();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::LogMsg(TString msg){
|
||||
|
||||
time_t now = time(0);
|
||||
|
@ -584,16 +662,20 @@ void * MainWindow::SaveData(void* ptr){
|
|||
|
||||
if( pixie->GetnFIFOWords() > 0 ) {
|
||||
pixie->SaveData();
|
||||
///ScanNumDataBlockInExtFIFO() should be here after ReadData(). becasue not a whlole dataBlock is in FIFO.
|
||||
pixie->ScanNumDataBlockInExtFIFO(); //TODO need to check the time comsumtion
|
||||
pixie->SetFIFOisUsed(false);
|
||||
|
||||
localClock.Stop("timer");
|
||||
newTime = localClock.GetRealTime("timer"); /// sec
|
||||
localClock.Start("timer");
|
||||
|
||||
if( newTime - oldTime > 1 ) {
|
||||
//double MByteRead = pixie->GetnFIFOWords()*4./1024./1024.;
|
||||
//if( MByteRead > 70 && pauseTime > 10) pauseTime = pauseTime - 20;
|
||||
///printf("Thread[SaveData] , FIFO: %u nData %u | %f\n", pixie->GetnFIFOWords(), nData, newTime);
|
||||
|
||||
if( newTime - oldTime > 1 ) {
|
||||
///double MByteRead = pixie->GetnFIFOWords()*4./1024./1024.;
|
||||
///if( MByteRead > 70 && pauseTime > 10) pauseTime = pauseTime - 20;
|
||||
|
||||
//TODO Fill HISTORGRAM;
|
||||
time_t now = time(0);
|
||||
tm * ltm = localtime(&now);
|
||||
int year = 1900 + ltm->tm_year;
|
||||
|
@ -609,10 +691,10 @@ void * MainWindow::SaveData(void* ptr){
|
|||
oldFileSize = newFileSize;
|
||||
oldTime = newTime;
|
||||
|
||||
//teLog->AddLine(Form("[%4d-%02d-%02d %02d:%02d:%02d] File Size : %.2f MB [%.2f MB/s], %.2f MB readed",
|
||||
// year, month, day, hour, minute, secound, newFileSize, rate, MByteRead));
|
||||
teLog->AddLine(Form("[%4d-%02d-%02d %02d:%02d:%02d] File Size : %.2f MB [%.2f MB/s]",
|
||||
year, month, day, hour, minute, secound, newFileSize, rate));
|
||||
///teLog->AddLine(Form("[%4d-%02d-%02d %02d:%02d:%02d] File Size : %.2f MB [%.2f MB/s], %.2f MB readed",
|
||||
/// year, month, day, hour, minute, secound, newFileSize, rate, MByteRead));
|
||||
teLog->AddLine(Form("[%4d-%02d-%02d %02d:%02d:%02d] File Size : %.2f MB [%.2f MB/s] Number of events recorded : %u",
|
||||
year, month, day, hour, minute, secound, newFileSize, rate, pixie->GetAccumulatedFIFONumDataBlock()));
|
||||
teLog->LineDown();
|
||||
}
|
||||
}
|
||||
|
@ -629,9 +711,51 @@ void * MainWindow::SaveData(void* ptr){
|
|||
|
||||
void * MainWindow::FillHistogram(void *ptr){
|
||||
|
||||
//using evtReader or process from ExtFIFOword, but in case in complete data
|
||||
///double oldTime = 0, newTime = 0;
|
||||
///TBenchmark localClock;
|
||||
///localClock.Reset();
|
||||
///localClock.Start("timer");
|
||||
|
||||
while( pixie->IsRunning() ){
|
||||
|
||||
if( pixie->GetFIFOisUsed() == false && pixie->GetnFIFOWords() > 0 && pixie->GetFIFONumDataBlock() > 0 ) {
|
||||
|
||||
///localClock.Stop("timer");
|
||||
///newTime = localClock.GetRealTime("timer"); /// sec
|
||||
///localClock.Start("timer");
|
||||
|
||||
///unsigned int nextWord = pixie->GetNextWord();
|
||||
unsigned int nData = pixie->GetFIFONumDataBlock();
|
||||
unsigned short channels[nData];
|
||||
unsigned short energies[nData];
|
||||
unsigned short mods[nData];
|
||||
long long int timestamps[nData];
|
||||
std::memcpy(mods, pixie->GetFIFOMods(), sizeof(unsigned short) * nData);
|
||||
std::memcpy(channels, pixie->GetFIFOChannels(), sizeof(unsigned short) * nData);
|
||||
std::memcpy(energies, pixie->GetFIFOEnergies(), sizeof(unsigned short) * nData);
|
||||
std::memcpy(timestamps, pixie->GetFIFOTimestamps(), sizeof(long long int) * nData);
|
||||
|
||||
///printf("Thread[FillHistogram] ============= %u, nData : %d | %f\n",pixie->GetnFIFOWords(), nData, newTime);
|
||||
for( unsigned int i = 0; i < nData; i++){
|
||||
///printf("%3u| %2u, %3u, %7u, %llu \n", i, mods[i], channels[i], energies[i], timestamps[i]);
|
||||
hEnergy[mods[i]][channels[i]]->Fill(energies[i]);
|
||||
hChannel[mods[i]]->Fill(channels[i]);
|
||||
}
|
||||
isEnergyHistFilled = true;
|
||||
pixie->SetFIFOisUsed(true);
|
||||
|
||||
}
|
||||
|
||||
int modID = modIDEntry->GetNumber();
|
||||
int ch = chEntry->GetNumber();
|
||||
|
||||
fEcanvas->GetCanvas()->cd();
|
||||
hEnergy[modID][ch]->Draw();
|
||||
fEcanvas->GetCanvas()->Update();
|
||||
|
||||
///usleep(300*1000);
|
||||
|
||||
}
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
|
20
pixieDAQ.h
20
pixieDAQ.h
|
@ -10,8 +10,10 @@
|
|||
#include <TH1F.h>
|
||||
#include <TGraph.h>
|
||||
#include <TBenchmark.h>
|
||||
#include <TGTextEditor.h>
|
||||
|
||||
#include "Pixie16Class.h"
|
||||
#include "global_macro.h"
|
||||
#include "settingsSummary.h"
|
||||
#include "scalarPanel.h"
|
||||
#include "moduleSetting.h"
|
||||
|
@ -29,10 +31,13 @@ private:
|
|||
static TRootEmbeddedCanvas *fEcanvas;
|
||||
|
||||
TGMenuBar *fMenuBar;
|
||||
TGPopupMenu *fMenuFile, *fMenuSettings;
|
||||
TGPopupMenu *fMenuFile, *fMenuSettings, *fMenuUtility;
|
||||
|
||||
TGNumberEntry * modIDEntry, *chEntry;
|
||||
static TGNumberEntry * modIDEntry, *chEntry;
|
||||
|
||||
TGNumberEntry * runIDEntry;
|
||||
TGTextEntry * tePath;
|
||||
|
||||
static TGTextEdit * teLog;
|
||||
|
||||
TGTextButton *bStartRun;
|
||||
|
@ -47,14 +52,17 @@ private:
|
|||
ChannelSetting * channelSetting;
|
||||
ScalarPanel * scalarPanel;
|
||||
|
||||
TThread * thread;
|
||||
|
||||
TThread * saveDataThread;
|
||||
TThread * fillHistThread;
|
||||
|
||||
static TH1F * h1[13][16];
|
||||
static TH1F * hEnergy[MAXMOD][MAXCH];
|
||||
static TH1F * hChannel[MAXMOD];
|
||||
static bool isEnergyHistFilled;
|
||||
|
||||
TGraph * gTrace;
|
||||
|
||||
TGTextEditor * configEditor;
|
||||
|
||||
|
||||
public:
|
||||
MainWindow(const TGWindow *p, UInt_t w, UInt_t h);
|
||||
|
@ -74,6 +82,8 @@ public:
|
|||
void OpenScalar();
|
||||
|
||||
static void * FillHistogram(void * ptr); /// thread
|
||||
void ChangeMod();
|
||||
void ChangeChannel();
|
||||
|
||||
|
||||
void LogMsg(TString msg);
|
||||
|
|
|
@ -34,7 +34,7 @@ ScalarPanel::ScalarPanel(const TGWindow *p, UInt_t w, UInt_t h, Pixie16 * pixie)
|
|||
TGHorizontalFrame *hframe = new TGHorizontalFrame(fMain, w, 50 );
|
||||
fMain->AddFrame(hframe, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 2,2,2,2));
|
||||
|
||||
int width = 30;
|
||||
int width = 35;
|
||||
|
||||
///------ Channel labels
|
||||
TGVerticalFrame * hChannelLabels = new TGVerticalFrame(hframe);
|
||||
|
|
|
@ -8,13 +8,11 @@
|
|||
#include <TGLabel.h>
|
||||
|
||||
#include "Pixie16Class.h"
|
||||
#include "global_macro.h"
|
||||
|
||||
class TGWindow;
|
||||
class TGMainFrame;
|
||||
|
||||
#define MAXCH 16
|
||||
#define MAXMOD 13
|
||||
|
||||
class ScalarPanel{
|
||||
private:
|
||||
TGMainFrame * fMain;
|
||||
|
|
|
@ -35,6 +35,7 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
|
|||
modIDEntry->SetWidth(50);
|
||||
modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1);
|
||||
modIDEntry->Connect("Modified()", "SettingsSummary", this, "ChangeMod()");
|
||||
if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false);
|
||||
hframe->AddFrame(modIDEntry, new TGLayoutHints(kLHintsCenterX , 5, 5, 3, 4));
|
||||
|
||||
TGLabel * lb2 = new TGLabel(hframe, "Setting File :");
|
||||
|
|
|
@ -8,12 +8,11 @@
|
|||
#include <TGLabel.h>
|
||||
|
||||
#include "Pixie16Class.h"
|
||||
#include "global_macro.h"
|
||||
|
||||
class TGWindow;
|
||||
class TGMainFrame;
|
||||
|
||||
#define MAXCH 16
|
||||
|
||||
class SettingsSummary{
|
||||
private:
|
||||
TGMainFrame * fMain;
|
||||
|
|
|
@ -1016,7 +1016,7 @@
|
|||
"ChanNum": 0,
|
||||
"CoincPattern": 0,
|
||||
"CoincWait": 0,
|
||||
"ControlTask": 5,
|
||||
"ControlTask": 23,
|
||||
"CrateID": 0,
|
||||
"FIFOLength": 8188,
|
||||
"FastFilterRange": 0,
|
||||
|
|
|
@ -185,7 +185,7 @@ int main(int argc, char *argv[]){
|
|||
pixie->PrintDigitizerSettings(0);
|
||||
|
||||
int ch = 6;
|
||||
double time = 4.0; ///sec
|
||||
double time = 1.0; ///sec
|
||||
|
||||
pixie->PrintChannelAllSettings(0, ch);
|
||||
|
||||
|
@ -200,23 +200,41 @@ int main(int argc, char *argv[]){
|
|||
|
||||
pixie->StartRun(1);
|
||||
|
||||
std::thread kakakaka(ProcessData);
|
||||
///std::thread kakakaka(ProcessData);
|
||||
|
||||
while( CurrentTime - StartTime < time * 1000 ){
|
||||
|
||||
pixie->ReadData(0);
|
||||
if( pixie->GetnFIFOWords() > 0 ) pixie->SaveData();
|
||||
|
||||
if( pixie->GetnFIFOWords() > 0 ) {/// msec
|
||||
printf("number of dataBlack read : %u\n", pixie->ScanNumDataBlockInExtFIFO());
|
||||
}
|
||||
//if( pixie->GetnFIFOWords() > 0 ) {/// msec
|
||||
// printf("number of dataBlack read : %u\n", pixie->ScanNumDataBlockInExtFIFO());
|
||||
//}
|
||||
|
||||
//TODO a quick way to read and fill histogram; the most time consumping part is filling trace
|
||||
|
||||
if( ElapsedTime > 1000 ) {
|
||||
|
||||
unsigned int nData = pixie->ScanNumDataBlockInExtFIFO();
|
||||
unsigned short * energies = pixie->GetFIFOEnergies();
|
||||
unsigned short * channels = pixie->GetFIFOChannels();
|
||||
//unsigned long long * timestamps = pixie->GetFIFOTimestamps();
|
||||
|
||||
for( unsigned int h = 0; h < nData; h++) {
|
||||
//printf(" %3u| %8u, %8u , %20llu\n", h, channels[h], energies[h], timestamps[h]);
|
||||
hch->Fill(channels[h] );
|
||||
hE->Fill( energies[h] );
|
||||
}
|
||||
|
||||
if( ElapsedTime > 500 ) {
|
||||
pixie->PrintStatistics(0);
|
||||
PresenTime = CurrentTime;
|
||||
ElapsedTime = 0;
|
||||
|
||||
canvas->cd(1); hch->Draw();
|
||||
canvas->cd(2); hE->Draw();
|
||||
canvas->Modified();
|
||||
canvas->Update();
|
||||
gSystem->ProcessEvents();
|
||||
}
|
||||
|
||||
CurrentTime = get_time();
|
||||
|
@ -228,6 +246,20 @@ int main(int argc, char *argv[]){
|
|||
pixie->StopRun();
|
||||
pixie->CloseFile();
|
||||
|
||||
unsigned int nData = pixie->ScanNumDataBlockInExtFIFO();
|
||||
unsigned short * energies = pixie->GetFIFOEnergies();
|
||||
unsigned short * channels = pixie->GetFIFOChannels();
|
||||
for( unsigned int h = 0; h < nData; h++) {
|
||||
//printf(" %3u| %8u, %8u , %20llu\n", h, channels[h], energies[h], timestamps[h]);
|
||||
hch->Fill(channels[h] );
|
||||
hE->Fill( energies[h] );
|
||||
}
|
||||
canvas->cd(1); hch->Draw();
|
||||
canvas->cd(2); hE->Draw();
|
||||
canvas->Modified();
|
||||
canvas->Update();
|
||||
gSystem->ProcessEvents();
|
||||
|
||||
printf("===================================\n");
|
||||
pixie->PrintStatistics(0);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user