149 static int daeTriggerFunc(
void* arg, time_t the_secs,
unsigned short the_ms,
int trig_id);
206 int mpos[],
int spec[],
int ndet,
209 int npos[],
int spec[],
int spec_step[],
211 int startRun(
bool clear_counters,
int run_number, time_t& start_time,
DAEstatus& status);
235 int period_output_delay,
DAEstatus& status);
238 template <
class DAECardPolicy>
int VMEWriteValue(
unsigned long card_id,
unsigned long card_address,
bool sixteen_bit,
unsigned long value,
unsigned long mode,
DAEstatus& status);
239 template <
class DAECardPolicy>
int VMEReadValue(
unsigned long card_id,
unsigned long card_address,
bool sixteen_bit,
unsigned long *value,
DAEstatus& status);
240 template <
class DAECardPolicy>
int VMEWriteArray(
unsigned long card_id,
unsigned long card_address,
isisU32_t* values,
unsigned long num_values,
DAEstatus& status);
241 template <
class DAECardPolicy>
int VMEReadArray(
unsigned long card_id,
unsigned long card_address,
isisU32_t* values,
unsigned long num_values,
DAEstatus& status);
env_veto_set_func_t ec_disable
int getVetoStatus(std::string &veto_text, DAEstatus &status)
int setPeriodType(ISISDAE::PeriodType type, bool single_daq_period, DAEstatus &status)
CRITICAL_SECTION m_dae_cs
bool isMultiplePeriodSequenceComplete(DAEstatus &status)
int(EnvironmentCardIntf::* env_veto_set_func_t)(DAEstatus &status)
int setVeto(const std::string &name, bool enable, DAEstatus &status)
float getGoodUAmpHoursPeriod(int period, DAEstatus &status)
int whichVeto(std::string &veto_text, DAEstatus &status)
int getRawPPPLowerPeriod(int period, isisU32_t *value, DAEstatus &status)
int setDAE1Vetos(int vetos[], int n, DAEstatus &status)
int getGoodPPPLower(isisU32_t *value, DAEstatus &status)
int writePOSLUTMemory(int card_id, isisU32_t *buffer, int len, DAEstatus &status)
std::list< boost::signals2::connection > addGoodFrameCallback(const FrameCallbackSlotType &slot)
float getRawUAmpHoursPeriod(int period, DAEstatus &status)
void printAddmap(std::ostream &os, DAEstatus &status)
int getGoodPPPUpperPeriod(int period, isisU32_t *value, DAEstatus &status)
void setEventMode(bool value)
env_period_list_t m_envPeriodCards
int stopRun(StopRunMode mode, DAEstatus &status)
int getGoodPPPUpper(isisU32_t *value, DAEstatus &status)
bool isFinalSequenceComplete(DAEstatus &status)
int readDAE1Spectra(isisU32_t *buffer, int nbuffer, int spec_to_crpt_offset[], int spec_start, int nspec, int period, int persize, DAEstatus &status)
int getNTimeChannels(int spectrum, isisU32_t *ntc, DAEstatus &status)
void getEventSourceIDs(std::vector< int > &ids)
void clearDCEventMode(DAEstatus &status)
bool isRunning(DAEstatus &status)
void onFinished(Poco::TaskFinishedNotification *pNf)
void setDCEventMode(unsigned long card_id, bool value, DAEstatus &status)
std::list< boost::signals2::connection > addGoodFrameCallback(const FrameCallbackSlotType &slot)
void getEnabledEventSourceIDs(std::vector< int > &ids)
std::vector< EnvPeriodCardIntf * > env_period_list_t
NoFrameCallbackType::slot_type NoFrameCallbackSlotType
void setDCCardMode(unsigned long card_id, bool neutron_data, DAEstatus &status)
int getRawFramesPeriod(isisU32_t *value, int period, DAEstatus &status)
isis32_t open(const char *dae_name, DAEstatus &status)
int programPOSLUT(int cards[], int dims[], int pos_start[], int npos[], int spec[], int spec_step[], int nblocks, DAEstatus &status)
HANDLE m_async_complete_event
int clearHistogramMemory(DAEstatus &status)
int clearCounters(DAEstatus &status)
static DWORD __stdcall readDCHistogramThread(void *arg)
int getTotalCounts(int64_t *value, DAEstatus &status)
histogram_async_t(ISISDAE *dae_, DetectorCardIntf *dc_, unsigned long start_, isisU32_t *buffer_, int len_, DAEstatus &status_)
int getExternalResetCommands(std::list< std::pair< std::string, std::string > > &commands, DAEstatus &status)
void setNumTasks(long ntasks)
env_pc_veto_set_func_t pc_enable
int getRawPPPLower(isisU32_t *value, DAEstatus &status)
int getSMPVetoedFrames(isisU32_t *value, DAEstatus &status)
void getEnabledEventSourceIDs(std::vector< int > &ids)
test_async_t(ISISDAE *dae_, DetectorCardIntf *dc_, unsigned long pattern_, DAEstatus &status_)
int locateCards(ISISVME *vme, int dae_number, DAEstatus &status)
int writeHistogramMemory(int card_id, isisU32_t *buffer, int start, int len, DAEstatus &status)
void startEventBroadcaster(const CRPTProxy &crpt)
int changeNumberOfPeriods(int nperiod, DAEstatus &status)
static veto_desc veto_setters[]
int getDCSpecForSpectrum(int spec) const
int VMEWriteArray(unsigned long card_id, unsigned long card_address, isisU32_t *values, unsigned long num_values, DAEstatus &status)
std::map< int, spec_map_info > dae1spec_map_t
static const char * DAEType_desc[]
Poco::TaskManager m_taskmgr
std::list< boost::signals2::connection > addAllEventCallback(const EventCallbackSlotType &slot)
int getExternalVetoedFrames(int veto_number, isisU32_t *value, DAEstatus &status)
int getGoodFramesPeriod(isisU32_t *value, int period, DAEstatus &status)
int resetRunController(DAEstatus &status)
int clearTotalCountsRegisters(DAEstatus &status)
std::vector< ISISVME * > vme_list_t
int getTS2PulseVetoedFrames(isisU32_t *value, DAEstatus &status)
volatile LONG m_num_async_requests
void clearCallbacks(const std::list< boost::signals2::connection > &callback_list)
int setDCFrameSyncDelay(int crat, isisU32_t delay, DAEstatus &status)
int getTimeChannels(int spec, isisU32_t *tcb, int ntc, DAEstatus &status)
int setTimeChannels(int crat, isisU32_t *tcb, int ntc, DAEstatus &status)
std::list< boost::signals2::connection > addAllFrameCallback(const FrameCallbackSlotType &slot)
int getFIFOVetoedFrames(isisU32_t *value, DAEstatus &status)
void clearCallbacks(const std::list< boost::signals2::connection > &callback_list)
int writeTCGTimeBinLimitRegister(int det_card, isisU32_t value, DAEstatus &status)
std::list< boost::signals2::connection > addGoodEventCallback(const EventCallbackSlotType &slot)
int getISIS50HzVetoedFrames(isisU32_t *value, DAEstatus &status)
int getSpectrumSize(int spectrum, isisU32_t *nchan, DAEstatus &status)
std::vector< EnvironmentCardIntf * > env_list_t
void printStatus(std::ostream &os, DAEstatus &status)
int startRun(bool clear_counters, int run_number, time_t &start_time, DAEstatus &status)
int readAllDAE1Spectra(isisU32_t *buffer, int nbuffer, int spec_to_crpt_offset[], int persize, DAEstatus &status)
@ todo specttrum 0 may have differet size for time regimes
env_pc_veto_set_func_t pc_disable
isis32_t openBackplane(const char *dae_name_bp, DAEstatus &status)
int VMEReadValue(unsigned long card_id, unsigned long card_address, bool sixteen_bit, unsigned long *value, DAEstatus &status)
int getRawFrames(isisU32_t *value, DAEstatus &status)
int enableDelayedStart(DAEstatus &status)
std::list< boost::signals2::connection > addAllFrameCallback(const FrameCallbackSlotType &slot)
int getGoodPPPLowerPeriod(int period, isisU32_t *value, DAEstatus &status)
env_veto_set_func_t ec_enable
int clearFramesVetosAndPPP(DAEstatus &status)
int checkTestPattern(unsigned long pattern, DAEstatus &status)
DAEProgressHandler m_task_ph
int disablePeriodCard(DAEstatus &status)
std::vector< DetectorCardIntf * > det_list_t
int clearPOSLUTMemory(DAEstatus &status)
void getDCSpecInfoForSpectrum(int spec, spec_map_info &info) const
int disableDelayedStart(DAEstatus &status)
int updateAddmap(DAEstatus &status)
spec_map_info(DetectorCardIntf *_card, int _card_id, int _spec)
void setUAmpScale(float scale)
int VMEWriteValue(unsigned long card_id, unsigned long card_address, bool sixteen_bit, unsigned long value, unsigned long mode, DAEstatus &status)
isis32_t close(DAEstatus &status)
static const char * PeriodType_desc[]
isis32_t check(DAEstatus &status)
float getRawUAmpHours(DAEstatus &status)
float getGoodUAmpHours(DAEstatus &status)
static DWORD __stdcall checkTestPatternThread(void *arg)
dae2spec_map_t m_dae2_spec_map
const dae1spec_map_t & getDAE1Specmap() const
int changePeriod(int period, int daq_period, DAEstatus &status)
DetectorCardIntf * findDetectorCard(int position, DAEstatus &status)
int fillWithTestPattern(unsigned long pattern, DAEstatus &status)
int(EnvPeriodCardIntf::* env_pc_veto_set_func_t)(DAEstatus &status)
int getRawPPPUpperPeriod(int period, isisU32_t *value, DAEstatus &status)
std::list< boost::signals2::connection > addNoFrameCallback(const NoFrameCallbackSlotType &slot)
FrameCallbackType::slot_type FrameCallbackSlotType
isisU32_t sumAllHistogramMemory(DAEstatus &status)
static int daeTriggerFunc(void *arg, time_t the_secs, unsigned short the_ms, int trig_id)
int getFrameSyncDelay(isisU32_t *delay, DAEstatus &status)
int getRawPPPUpper(isisU32_t *value, DAEstatus &status)
int setFrameSync(FrameSync fs, int muon_pulse, DAEstatus &status)
int requestEndRunAfterNextSequenceCompletes(DAEstatus &status)
void closeEventFiles(DAEstatus &status)
int card_id
position() or crate
int programDAE1POSLUT(int crat[], int maxcrate, int modn[], int mpos[], int spec[], int ndet, int nper_daq, DAEstatus &status)
void onProgress(Poco::TaskProgressNotification *pNf)
int readDAE1Spectrum(int dae1_spectrum, isisU32_t *buffer, int nbuffer, DAEstatus &status)
int programPeriodCard(PeriodType period_type, int nper, int nperseq_request, isisU32_t *outputs, isisU16_t *dwell_flags, isisU16_t *frames, int period_output_delay, DAEstatus &status)
int readHistogramMemory(unsigned long start, isisU32_t *buffer, int len, DAEstatus &status)
int setFrameSyncDelay(isisU32_t delay, DAEstatus &status)
int writeDescriptorTimeBinLimitRegister(int det_card, isisU32_t value, DAEstatus &status)
int getDCFrameSyncDelay(int crat, isisU32_t *delay, DAEstatus &status)
EventCallbackType::slot_type EventCallbackSlotType
std::list< boost::signals2::connection > addNoFrameCallback(const NoFrameCallbackSlotType &slot)
int doneAsync()
called by async worker thread when it has completed its work
dae1spec_map_t m_dae1_spec_map
std::map< int, std::vector< int > > dae2spec_map_t
void getEventSourceIDs(std::vector< int > &ids)
std::list< boost::signals2::connection > addAllEventCallback(const EventCallbackSlotType &slot)
int checkTestPatternAsync(unsigned long pattern, DAEstatus &status)
int getCurrentPeriodSequence(isisU32_t *period_sequence, DAEstatus &status)
const dae2spec_map_t & getDAE2Specmap() const
double frameTimerDrift(DAEstatus &status)
frame timer drift (icp - dae)
int readDescriptorTimeBinLimitRegister(int det_card, isisU32_t *value, DAEstatus &status)
int VMEReadArray(unsigned long card_id, unsigned long card_address, isisU32_t *values, unsigned long num_values, DAEstatus &status)
void printSpectrum(int spec, std::ostream &os, DAEstatus &status)
int getCurrentHardwarePeriod(isisU32_t *period, DAEstatus &status)
int getCurrentDAQHardwarePeriod(isisU32_t *period, DAEstatus &status)
std::list< boost::signals2::connection > addGoodEventCallback(const EventCallbackSlotType &slot)
int readDCHistogramAsync(DetectorCardIntf *dc, unsigned long start, isisU32_t *buffer, int len, DAEstatus &dstatus)
int getMSModeVetoedFrames(isisU32_t *value, DAEstatus &status)
int getGoodFrames(isisU32_t *value, DAEstatus &status)
DetectorCardIntf * getDCForSpectrum(int spec) const
int readTCGTimeBinLimitRegister(int det_card, isisU32_t *value, DAEstatus &status)