ICP  1
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
ISISDAE Class Reference

#include <isisdae.h>

Inheritance diagram for ISISDAE:
Inheritance graph

Classes

struct  histogram_async_t
 
struct  spec_map_info
 
struct  test_async_t
 
struct  veto_desc
 

Public Types

enum  DAEType {
  UnknownDAE =0, NeutronDAE2 =1, MuonDAE2 =2, NeutronDAE3 =3,
  MuonDAE3 =4
}
 
enum  PeriodType { PeriodTypeSoftware =0, PeriodTypeHardwareInternal =1, PeriodTypeHardwareExternal =2 }
 
enum  StopRunMode { StopRunClean, StopRunFast, StopRunDiscard }
 
typedef Addmap MyAddmap
 
typedef std::map< int,
spec_map_info
dae1spec_map_t
 
typedef std::map< int,
std::vector< int > > 
dae2spec_map_t
 

Public Member Functions

const dae1spec_map_tgetDAE1Specmap () const
 
const dae2spec_map_tgetDAE2Specmap () const
 
 ISISDAE (DAEType type, DAEstatus &status, bool endian_workaround, bool simulate)
 
virtual ~ISISDAE ()
 
isis32_t open (const char *dae_name, DAEstatus &status)
 
isis32_t openBackplane (const char *dae_name_bp, DAEstatus &status)
 
isis32_t close (DAEstatus &status)
 
bool isRunning (DAEstatus &status)
 
void printStatus (std::ostream &os, DAEstatus &status)
 
void printAddmap (std::ostream &os, DAEstatus &status)
 
void printSpectrum (int spec, std::ostream &os, DAEstatus &status)
 
DetectorCardIntffindDetectorCard (int position, DAEstatus &status)
 
int readHistogramMemory (unsigned long start, isisU32_t *buffer, int len, DAEstatus &status)
 
isisU32_t sumAllHistogramMemory (DAEstatus &status)
 
int clearHistogramMemory (DAEstatus &status)
 
int writePOSLUTMemory (int card_id, isisU32_t *buffer, int len, DAEstatus &status)
 
int clearPOSLUTMemory (DAEstatus &status)
 
int writeHistogramMemory (int card_id, isisU32_t *buffer, int start, int len, DAEstatus &status)
 
int getRawFrames (isisU32_t *value, DAEstatus &status)
 
int getGoodFrames (isisU32_t *value, DAEstatus &status)
 
int getRawPPPLower (isisU32_t *value, DAEstatus &status)
 
int getRawPPPUpper (isisU32_t *value, DAEstatus &status)
 
int getGoodPPPLower (isisU32_t *value, DAEstatus &status)
 
int getGoodPPPUpper (isisU32_t *value, DAEstatus &status)
 
int getRawFramesPeriod (isisU32_t *value, int period, DAEstatus &status)
 
int getGoodFramesPeriod (isisU32_t *value, int period, DAEstatus &status)
 
float getRawUAmpHours (DAEstatus &status)
 
float getGoodUAmpHours (DAEstatus &status)
 
float getRawUAmpHoursPeriod (int period, DAEstatus &status)
 
float getGoodUAmpHoursPeriod (int period, DAEstatus &status)
 
int getRawPPPLowerPeriod (int period, isisU32_t *value, DAEstatus &status)
 
int getRawPPPUpperPeriod (int period, isisU32_t *value, DAEstatus &status)
 
int getGoodPPPLowerPeriod (int period, isisU32_t *value, DAEstatus &status)
 
int getGoodPPPUpperPeriod (int period, isisU32_t *value, DAEstatus &status)
 
int setTimeChannels (int crat, isisU32_t *tcb, int ntc, DAEstatus &status)
 
int setTimeChannels (int crat, int start[], int nbound[], int step[], int nblocks, DAEstatus &status)
 
int readDAE1Spectrum (int dae1_spectrum, isisU32_t *buffer, int nbuffer, 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 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 More...
 
int programDAE1POSLUT (int crat[], int maxcrate, int modn[], int mpos[], int spec[], int ndet, int nper_daq, DAEstatus &status)
 
int programPOSLUT (int cards[], int dims[], int pos_start[], int npos[], int spec[], int spec_step[], int nblocks, DAEstatus &status)
 
int startRun (bool clear_counters, int run_number, time_t &start_time, DAEstatus &status)
 
int stopRun (StopRunMode mode, DAEstatus &status)
 
int changePeriod (int period, int daq_period, DAEstatus &status)
 
int changeNumberOfPeriods (int nperiod, DAEstatus &status)
 
int resetRunController (DAEstatus &status)
 
int setDAE1Vetos (int vetos[], int n, DAEstatus &status)
 
int setFrameSync (FrameSync fs, int muon_pulse, DAEstatus &status)
 
int setFrameSyncDelay (isisU32_t delay, DAEstatus &status)
 
int getFrameSyncDelay (isisU32_t *delay, DAEstatus &status)
 
int setDCFrameSyncDelay (int crat, isisU32_t delay, DAEstatus &status)
 
int getDCFrameSyncDelay (int crat, isisU32_t *delay, DAEstatus &status)
 
int setPeriodType (ISISDAE::PeriodType type, bool single_daq_period, DAEstatus &status)
 
int getCurrentHardwarePeriod (isisU32_t *period, DAEstatus &status)
 
int getCurrentDAQHardwarePeriod (isisU32_t *period, DAEstatus &status)
 
int getCurrentPeriodSequence (isisU32_t *period_sequence, DAEstatus &status)
 
int getSMPVetoedFrames (isisU32_t *value, DAEstatus &status)
 
int getExternalVetoedFrames (int veto_number, isisU32_t *value, DAEstatus &status)
 
int getFIFOVetoedFrames (isisU32_t *value, DAEstatus &status)
 
int getTS2PulseVetoedFrames (isisU32_t *value, DAEstatus &status)
 
int getISIS50HzVetoedFrames (isisU32_t *value, DAEstatus &status)
 
int getMSModeVetoedFrames (isisU32_t *value, DAEstatus &status)
 
int getTotalCounts (int64_t *value, 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 disablePeriodCard (DAEstatus &status)
 
bool isMultiplePeriodSequenceComplete (DAEstatus &status)
 
template<class DAECardPolicy >
int VMEWriteValue (unsigned long card_id, unsigned long card_address, bool sixteen_bit, unsigned long value, unsigned long mode, DAEstatus &status)
 
template<class DAECardPolicy >
int VMEReadValue (unsigned long card_id, unsigned long card_address, bool sixteen_bit, unsigned long *value, DAEstatus &status)
 
template<class DAECardPolicy >
int VMEWriteArray (unsigned long card_id, unsigned long card_address, isisU32_t *values, unsigned long num_values, DAEstatus &status)
 
template<class DAECardPolicy >
int VMEReadArray (unsigned long card_id, unsigned long card_address, isisU32_t *values, unsigned long num_values, DAEstatus &status)
 
int clearCounters (DAEstatus &status)
 
int clearCounters (int run_number, DAEstatus &status)
 
int fillWithTestPattern (unsigned long pattern, DAEstatus &status)
 
int checkTestPattern (unsigned long pattern, DAEstatus &status)
 
int checkTestPatternAsync (unsigned long pattern, DAEstatus &status)
 
int getVetoStatus (std::string &veto_text, DAEstatus &status)
 
int whichVeto (std::string &veto_text, DAEstatus &status)
 
int setVeto (const std::string &name, bool enable, DAEstatus &status)
 
void setUAmpScale (float scale)
 
int enableDelayedStart (DAEstatus &status)
 
int disableDelayedStart (DAEstatus &status)
 
void setEventMode (bool value)
 
void clearDCEventMode (DAEstatus &status)
 
void setDCEventMode (unsigned long card_id, bool value, DAEstatus &status)
 
void setDCCardMode (unsigned long card_id, bool neutron_data, DAEstatus &status)
 
isis32_t check (DAEstatus &status)
 
int requestEndRunAfterNextSequenceCompletes (DAEstatus &status)
 
bool isFinalSequenceComplete (DAEstatus &status)
 
std::list
< boost::signals2::connection > 
addGoodEventCallback (const EventCallbackSlotType &slot)
 
std::list
< boost::signals2::connection > 
addAllEventCallback (const EventCallbackSlotType &slot)
 
std::list
< boost::signals2::connection > 
addGoodFrameCallback (const FrameCallbackSlotType &slot)
 
std::list
< boost::signals2::connection > 
addAllFrameCallback (const FrameCallbackSlotType &slot)
 
std::list
< boost::signals2::connection > 
addNoFrameCallback (const NoFrameCallbackSlotType &slot)
 
void clearCallbacks (const std::list< boost::signals2::connection > &callback_list)
 
void getEventSourceIDs (std::vector< int > &ids)
 
void getEnabledEventSourceIDs (std::vector< int > &ids)
 
double frameTimerDrift (DAEstatus &status)
 frame timer drift (icp - dae) More...
 
void closeEventFiles (DAEstatus &status)
 
int getExternalResetCommands (std::list< std::pair< std::string, std::string > > &commands, DAEstatus &status)
 
void startEventBroadcaster (const CRPTProxy &crpt)
 

Static Public Attributes

static const char * DAEType_desc []
 
static const char * PeriodType_desc []
 

Protected Types

typedef int(EnvironmentCardIntf::* env_veto_set_func_t )(DAEstatus &status)
 
typedef int(EnvPeriodCardIntf::* env_pc_veto_set_func_t )(DAEstatus &status)
 
typedef std::vector< ISISVME * > vme_list_t
 
typedef std::vector
< DetectorCardIntf * > 
det_list_t
 
typedef std::vector
< EnvironmentCardIntf * > 
env_list_t
 
typedef std::vector
< EnvPeriodCardIntf * > 
env_period_list_t
 

Protected Member Functions

int updateAddmap (DAEstatus &status)
 
template<class DAEPolicy >
int locateCards (ISISVME *vme, int dae_number, DAEstatus &status)
 
int waitForAsync ()
 
int doneAsync ()
 called by async worker thread when it has completed its work More...
 
int readDCHistogramAsync (DetectorCardIntf *dc, unsigned long start, isisU32_t *buffer, int len, DAEstatus &dstatus)
 
int clearFramesVetosAndPPP (DAEstatus &status)
 
int clearTotalCountsRegisters (DAEstatus &status)
 
int readDescriptorTimeBinLimitRegister (int det_card, isisU32_t *value, DAEstatus &status)
 
int writeDescriptorTimeBinLimitRegister (int det_card, isisU32_t value, DAEstatus &status)
 
int readTCGTimeBinLimitRegister (int det_card, isisU32_t *value, DAEstatus &status)
 
int writeTCGTimeBinLimitRegister (int det_card, isisU32_t value, DAEstatus &status)
 
DetectorCardIntfgetDCForSpectrum (int spec) const
 
int getDCSpecForSpectrum (int spec) const
 
void getDCSpecInfoForSpectrum (int spec, spec_map_info &info) const
 
int getNTimeChannels (int spectrum, isisU32_t *ntc, DAEstatus &status)
 
int getSpectrumSize (int spectrum, isisU32_t *nchan, DAEstatus &status)
 
int getTimeChannels (int spec, isisU32_t *tcb, int ntc, DAEstatus &status)
 
int getTimeChannels (int spec, double *tcb, int ntc, DAEstatus &status)
 
- Protected Member Functions inherited from ISIS::Base
 Base (const std::string &logger_name="UNKNOWN")
 
void setLoggerName (const std::string &logger_name)
 
virtual ~Base ()
 
virtual std::string loggingPrefix () const
 
void setThisLoggerLevel (int level)
 

Static Protected Member Functions

static DWORD __stdcall readDCHistogramThread (void *arg)
 
static DWORD __stdcall checkTestPatternThread (void *arg)
 
static int daeTriggerFunc (void *arg, time_t the_secs, unsigned short the_ms, int trig_id)
 
- Static Protected Member Functions inherited from ISIS::Base
static void setAllLoggerLevel (int level)
 

Protected Attributes

vme_list_t m_vme
 
det_list_t m_detCards
 
env_list_t m_envCards
 
env_period_list_t m_envPeriodCards
 
MyAddmapm_addmap
 
dae1spec_map_t m_dae1_spec_map
 
dae2spec_map_t m_dae2_spec_map
 
EventStore m_es
 
int m_lenAddmap
 
int m_clock_frequency
 
float m_uamp_scale
 
Poco::TaskManager m_taskmgr
 
DAEProgressHandler m_task_ph
 
DAEType m_dae_type
 
PeriodType m_period_mode
 
CRITICAL_SECTION m_dae_cs
 
bool m_simulate
 
bool m_event_mode
 
HANDLE m_async_complete_event
 
volatile LONG m_num_async_requests
 
- Protected Attributes inherited from ISIS::Base
Poco::Logger * m_logger
 
Poco::LogStream * m_logstr
 
Poco::Mutex m_logger_lock
 

Static Protected Attributes

static veto_desc veto_setters []
 

Private Member Functions

 ISISDAE ()
 

Detailed Description

Definition at line 57 of file isisdae.h.

Member Typedef Documentation

typedef std::map< int, spec_map_info > ISISDAE::dae1spec_map_t

Definition at line 77 of file isisdae.h.

typedef std::map< int, std::vector<int> > ISISDAE::dae2spec_map_t

Definition at line 78 of file isisdae.h.

typedef std::vector<DetectorCardIntf*> ISISDAE::det_list_t
protected

Definition at line 116 of file isisdae.h.

typedef std::vector<EnvironmentCardIntf*> ISISDAE::env_list_t
protected

Definition at line 117 of file isisdae.h.

typedef int(EnvPeriodCardIntf::* ISISDAE::env_pc_veto_set_func_t)(DAEstatus &status)
protected

Definition at line 84 of file isisdae.h.

typedef std::vector<EnvPeriodCardIntf*> ISISDAE::env_period_list_t
protected

Definition at line 118 of file isisdae.h.

typedef int(EnvironmentCardIntf::* ISISDAE::env_veto_set_func_t)(DAEstatus &status)
protected

Definition at line 83 of file isisdae.h.

Definition at line 64 of file isisdae.h.

typedef std::vector<ISISVME*> ISISDAE::vme_list_t
protected

Definition at line 115 of file isisdae.h.

Member Enumeration Documentation

Enumerator
UnknownDAE 
NeutronDAE2 
MuonDAE2 
NeutronDAE3 
MuonDAE3 

Definition at line 63 of file isisdae.h.

Enumerator
PeriodTypeSoftware 
PeriodTypeHardwareInternal 
PeriodTypeHardwareExternal 

Definition at line 67 of file isisdae.h.

Enumerator
StopRunClean 
StopRunFast 
StopRunDiscard 

Definition at line 154 of file isisdae.h.

Constructor & Destructor Documentation

ISISDAE::ISISDAE ( )
inlineprivate

Definition at line 60 of file isisdae.h.

ISISDAE::ISISDAE ( DAEType  type,
DAEstatus status,
bool  endian_workaround,
bool  simulate 
)
ISISDAE::~ISISDAE ( )
virtual

Member Function Documentation

std::list<boost::signals2::connection> ISISDAE::addAllEventCallback ( const EventCallbackSlotType slot)
inline

Definition at line 269 of file isisdae.h.

References EventStore::addAllEventCallback(), and m_es.

Referenced by ICPEventWriter::start().

std::list<boost::signals2::connection> ISISDAE::addAllFrameCallback ( const FrameCallbackSlotType slot)
inline

Definition at line 277 of file isisdae.h.

References EventStore::addAllFrameCallback(), and m_es.

Referenced by ICPEventWriter::start().

std::list<boost::signals2::connection> ISISDAE::addGoodEventCallback ( const EventCallbackSlotType slot)
inline
std::list<boost::signals2::connection> ISISDAE::addGoodFrameCallback ( const FrameCallbackSlotType slot)
inline

Definition at line 273 of file isisdae.h.

References EventStore::addGoodFrameCallback(), and m_es.

std::list<boost::signals2::connection> ISISDAE::addNoFrameCallback ( const NoFrameCallbackSlotType slot)
inline

Definition at line 281 of file isisdae.h.

References EventStore::addNoFrameCallback(), and m_es.

Referenced by ICPEventWriter::start().

int ISISDAE::changeNumberOfPeriods ( int  nperiod,
DAEstatus status 
)

Definition at line 231 of file isisdae.cpp.

References m_dae_cs, and m_detCards.

Referenced by ISISinstrumentControl::changeNumberOfSoftwarePeriods().

int ISISDAE::changePeriod ( int  period,
int  daq_period,
DAEstatus status 
)

Definition at line 221 of file isisdae.cpp.

References m_dae_cs, and m_detCards.

Referenced by ISISinstrumentControl::changePeriod(), and DAERESUME().

isis32_t ISISDAE::check ( DAEstatus status)
int ISISDAE::checkTestPattern ( unsigned long  pattern,
DAEstatus status 
)

Definition at line 1938 of file isisdae.cpp.

References m_detCards, and ISISVME::Success.

int ISISDAE::checkTestPatternAsync ( unsigned long  pattern,
DAEstatus status 
)
DWORD __stdcall ISISDAE::checkTestPatternThread ( void *  arg)
staticprotected
void ISISDAE::clearCallbacks ( const std::list< boost::signals2::connection > &  callback_list)
inline

Definition at line 285 of file isisdae.h.

References EventStore::clearCallbacks(), and m_es.

Referenced by ISISinstrumentControl::endRunMain(), and ICPEventWriter::stop().

int ISISDAE::clearCounters ( DAEstatus status)
int ISISDAE::clearCounters ( int  run_number,
DAEstatus status 
)
void ISISDAE::clearDCEventMode ( DAEstatus status)
int ISISDAE::clearFramesVetosAndPPP ( DAEstatus status)
protected

Definition at line 1562 of file isisdae.cpp.

References ENV_FUNCTION, and m_envPeriodCards.

Referenced by clearCounters().

int ISISDAE::clearHistogramMemory ( DAEstatus status)

Definition at line 815 of file isisdae.cpp.

References m_detCards, m_taskmgr, and pollUntilTasksComplete().

Referenced by DAESET(), and ISISinstrumentControl::setupDAE().

int ISISDAE::clearPOSLUTMemory ( DAEstatus status)

Definition at line 355 of file isisdae.cpp.

References m_detCards.

int ISISDAE::clearTotalCountsRegisters ( DAEstatus status)
protected

Definition at line 1698 of file isisdae.cpp.

References m_detCards.

Referenced by clearCounters().

isis32_t ISISDAE::close ( DAEstatus status)

Definition at line 710 of file isisdae.cpp.

References m_vme, and DAEstatus::result().

Referenced by ~ISISDAE().

void ISISDAE::closeEventFiles ( DAEstatus status)

Definition at line 872 of file isisdae.cpp.

References EventStore::closeOutputFile(), and m_es.

Referenced by ISISinstrumentControl::endRunMain().

int ISISDAE::daeTriggerFunc ( void *  arg,
time_t  the_secs,
unsigned short  the_ms,
int  trig_id 
)
staticprotected

Definition at line 675 of file isisdae.cpp.

References DAEstatus::Success.

Referenced by openBackplane().

int ISISDAE::disableDelayedStart ( DAEstatus status)

Definition at line 2016 of file isisdae.cpp.

References m_envCards, m_envPeriodCards, and ISISVME::Success.

Referenced by ISISinstrumentControl::stopDataCollection().

int ISISDAE::disablePeriodCard ( DAEstatus status)

Definition at line 1755 of file isisdae.cpp.

References m_envPeriodCards, PERIOD_FUNCTION, and DAEstatus::result().

Referenced by ISISinstrumentControl::setupDAE().

int ISISDAE::doneAsync ( )
protected

called by async worker thread when it has completed its work

Definition at line 188 of file isisdae.cpp.

References m_async_complete_event, and m_num_async_requests.

Referenced by checkTestPatternThread(), and readDCHistogramThread().

int ISISDAE::enableDelayedStart ( DAEstatus status)
int ISISDAE::fillWithTestPattern ( unsigned long  pattern,
DAEstatus status 
)
DetectorCardIntf * ISISDAE::findDetectorCard ( int  position,
DAEstatus status 
)
double ISISDAE::frameTimerDrift ( DAEstatus status)

frame timer drift (icp - dae)

Definition at line 1507 of file isisdae.cpp.

References m_envPeriodCards.

Referenced by ISISinstrumentControl::updateICPTimeDiffLog().

int ISISDAE::getCurrentDAQHardwarePeriod ( isisU32_t period,
DAEstatus status 
)
int ISISDAE::getCurrentHardwarePeriod ( isisU32_t period,
DAEstatus status 
)
int ISISDAE::getCurrentPeriodSequence ( isisU32_t period_sequence,
DAEstatus status 
)
const dae1spec_map_t& ISISDAE::getDAE1Specmap ( ) const
inline

Definition at line 79 of file isisdae.h.

References m_dae1_spec_map.

const dae2spec_map_t& ISISDAE::getDAE2Specmap ( ) const
inline

Definition at line 80 of file isisdae.h.

References m_dae2_spec_map.

Referenced by ISISinstrumentControl::updateSpecmapsFromDAE().

DetectorCardIntf * ISISDAE::getDCForSpectrum ( int  spec) const
inlineprotected

Definition at line 320 of file isisdae.h.

References m_dae1_spec_map.

Referenced by getNTimeChannels(), getSpectrumSize(), and getTimeChannels().

int ISISDAE::getDCFrameSyncDelay ( int  crat,
isisU32_t delay,
DAEstatus status 
)
int ISISDAE::getDCSpecForSpectrum ( int  spec) const
inlineprotected

Definition at line 326 of file isisdae.h.

References m_dae1_spec_map.

void ISISDAE::getDCSpecInfoForSpectrum ( int  spec,
spec_map_info info 
) const
inlineprotected
void ISISDAE::getEnabledEventSourceIDs ( std::vector< int > &  ids)
inline

Definition at line 293 of file isisdae.h.

References EventStore::getEnabledEventSourceIDs(), and m_es.

Referenced by ICPEventWriter::start().

void ISISDAE::getEventSourceIDs ( std::vector< int > &  ids)
inline

Definition at line 289 of file isisdae.h.

References EventStore::getEventSourceIDs(), and m_es.

int ISISDAE::getExternalResetCommands ( std::list< std::pair< std::string, std::string > > &  commands,
DAEstatus status 
)

Definition at line 2085 of file isisdae.cpp.

References m_detCards, m_envCards, m_envPeriodCards, and DAEstatus::Success.

Referenced by ISISinstrumentControl::setupDAE().

int ISISDAE::getExternalVetoedFrames ( int  veto_number,
isisU32_t value,
DAEstatus status 
)

Definition at line 1662 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by ISISinstrumentControl::stopDataCollection(), and stopRun().

int ISISDAE::getFIFOVetoedFrames ( isisU32_t value,
DAEstatus status 
)

Definition at line 1667 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by ISISinstrumentControl::stopDataCollection(), and stopRun().

int ISISDAE::getFrameSyncDelay ( isisU32_t delay,
DAEstatus status 
)

Definition at line 1519 of file isisdae.cpp.

References ENV_FUNCTION.

int ISISDAE::getGoodFrames ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getGoodFramesPeriod ( isisU32_t value,
int  period,
DAEstatus status 
)
int ISISDAE::getGoodPPPLower ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getGoodPPPLowerPeriod ( int  period,
isisU32_t value,
DAEstatus status 
)

Definition at line 1103 of file isisdae.cpp.

References DAEstatus::Failure, and m_envPeriodCards.

int ISISDAE::getGoodPPPUpper ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getGoodPPPUpperPeriod ( int  period,
isisU32_t value,
DAEstatus status 
)

Definition at line 1116 of file isisdae.cpp.

References DAEstatus::Failure, and m_envPeriodCards.

float ISISDAE::getGoodUAmpHours ( DAEstatus status)
float ISISDAE::getGoodUAmpHoursPeriod ( int  period,
DAEstatus status 
)
int ISISDAE::getISIS50HzVetoedFrames ( isisU32_t value,
DAEstatus status 
)

Definition at line 1657 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by ISISinstrumentControl::stopDataCollection(), and stopRun().

int ISISDAE::getMSModeVetoedFrames ( isisU32_t value,
DAEstatus status 
)

Definition at line 1672 of file isisdae.cpp.

References m_envPeriodCards.

Referenced by ISISinstrumentControl::stopDataCollection().

int ISISDAE::getNTimeChannels ( int  spectrum,
isisU32_t ntc,
DAEstatus status 
)
protected

Definition at line 305 of file isisdae.cpp.

References getDCForSpectrum(), and DetectorCardIntf::getNTimeChannels().

int ISISDAE::getRawFrames ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getRawFramesPeriod ( isisU32_t value,
int  period,
DAEstatus status 
)
int ISISDAE::getRawPPPLower ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getRawPPPLowerPeriod ( int  period,
isisU32_t value,
DAEstatus status 
)

Definition at line 1077 of file isisdae.cpp.

References DAEstatus::Failure, and m_envPeriodCards.

int ISISDAE::getRawPPPUpper ( isisU32_t value,
DAEstatus status 
)
int ISISDAE::getRawPPPUpperPeriod ( int  period,
isisU32_t value,
DAEstatus status 
)

Definition at line 1090 of file isisdae.cpp.

References DAEstatus::Failure, and m_envPeriodCards.

float ISISDAE::getRawUAmpHours ( DAEstatus status)
float ISISDAE::getRawUAmpHoursPeriod ( int  period,
DAEstatus status 
)
int ISISDAE::getSMPVetoedFrames ( isisU32_t value,
DAEstatus status 
)

Definition at line 1647 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by ISISinstrumentControl::stopDataCollection(), and stopRun().

int ISISDAE::getSpectrumSize ( int  spectrum,
isisU32_t nchan,
DAEstatus status 
)
protected
int ISISDAE::getTimeChannels ( int  spec,
isisU32_t tcb,
int  ntc,
DAEstatus status 
)
protected

Definition at line 311 of file isisdae.cpp.

References getDCForSpectrum(), and DetectorCardIntf::getTimeChannels().

Referenced by getTimeChannels(), and printSpectrum().

int ISISDAE::getTimeChannels ( int  spec,
double *  tcb,
int  ntc,
DAEstatus status 
)
protected

Definition at line 1633 of file isisdae.cpp.

References getSpectrumSize(), getTimeChannels(), and m_clock_frequency.

int ISISDAE::getTotalCounts ( int64_t *  value,
DAEstatus status 
)

Definition at line 1685 of file isisdae.cpp.

References m_detCards.

Referenced by ISISinstrumentControl::getTotalCounts().

int ISISDAE::getTS2PulseVetoedFrames ( isisU32_t value,
DAEstatus status 
)

Definition at line 1652 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by ISISinstrumentControl::stopDataCollection(), and stopRun().

int ISISDAE::getVetoStatus ( std::string &  veto_text,
DAEstatus status 
)

Definition at line 1950 of file isisdae.cpp.

References ENV_FUNCTION, and ISISVME::Success.

Referenced by ISISinstrumentControl::getVetoStatus(), and stopRun().

bool ISISDAE::isFinalSequenceComplete ( DAEstatus status)
bool ISISDAE::isMultiplePeriodSequenceComplete ( DAEstatus status)

Definition at line 1777 of file isisdae.cpp.

References m_envPeriodCards.

Referenced by ISISinstrumentControl::updateFunc().

bool ISISDAE::isRunning ( DAEstatus status)

Definition at line 1129 of file isisdae.cpp.

References ENV_FUNCTION.

template<class DAEPolicy >
int ISISDAE::locateCards ( ISISVME vme,
int  dae_number,
DAEstatus status 
)
protected
isis32_t ISISDAE::open ( const char *  dae_name,
DAEstatus status 
)
isis32_t ISISDAE::openBackplane ( const char *  dae_name_bp,
DAEstatus status 
)
void ISISDAE::printAddmap ( std::ostream &  os,
DAEstatus status 
)
void ISISDAE::printSpectrum ( int  spec,
std::ostream &  os,
DAEstatus status 
)
void ISISDAE::printStatus ( std::ostream &  os,
DAEstatus status 
)
int ISISDAE::programDAE1POSLUT ( int  crat[],
int  maxcrate,
int  modn[],
int  mpos[],
int  spec[],
int  ndet,
int  nper_daq,
DAEstatus status 
)
int ISISDAE::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 ISISDAE::programPOSLUT ( int  cards[],
int  dims[],
int  pos_start[],
int  npos[],
int  spec[],
int  spec_step[],
int  nblocks,
DAEstatus status 
)

Definition at line 413 of file isisdae.cpp.

References m_detCards, and updateAddmap().

int ISISDAE::readAllDAE1Spectra ( isisU32_t buffer,
int  nbuffer,
int  spec_to_crpt_offset[],
int  persize,
DAEstatus status 
)
int ISISDAE::readDAE1Spectra ( isisU32_t buffer,
int  nbuffer,
int  spec_to_crpt_offset[],
int  spec_start,
int  nspec,
int  period,
int  persize,
DAEstatus status 
)

doesn't correct for spectrum 0 buffer should be whole crpt, so just spectra range

Definition at line 535 of file isisdae.cpp.

References DAEstatus::addInfoVa(), FAC_DAE, getSpectrumSize(), m_detCards, and readDAE1Spectrum().

Referenced by readAllDAE1Spectra(), ISISinstrumentControl::updateCRPTSpectra(), and ISISinstrumentControl::updateCRPTSpectraAllPeriods().

int ISISDAE::readDAE1Spectrum ( int  dae1_spectrum,
isisU32_t buffer,
int  nbuffer,
DAEstatus status 
)
int ISISDAE::readDCHistogramAsync ( DetectorCardIntf dc,
unsigned long  start,
isisU32_t buffer,
int  len,
DAEstatus dstatus 
)
protected
DWORD __stdcall ISISDAE::readDCHistogramThread ( void *  arg)
staticprotected
int ISISDAE::readDescriptorTimeBinLimitRegister ( int  det_card,
isisU32_t value,
DAEstatus status 
)
protected

Definition at line 1334 of file isisdae.cpp.

References m_detCards.

int ISISDAE::readHistogramMemory ( unsigned long  start,
isisU32_t buffer,
int  len,
DAEstatus status 
)
int ISISDAE::readTCGTimeBinLimitRegister ( int  det_card,
isisU32_t value,
DAEstatus status 
)
protected

Definition at line 1344 of file isisdae.cpp.

References m_detCards.

int ISISDAE::requestEndRunAfterNextSequenceCompletes ( DAEstatus status)
int ISISDAE::resetRunController ( DAEstatus status)

Definition at line 987 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by DAESET(), and ISISinstrumentControl::setupDAE().

int ISISDAE::setDAE1Vetos ( int  vetos[],
int  n,
DAEstatus status 
)
void ISISDAE::setDCCardMode ( unsigned long  card_id,
bool  neutron_data,
DAEstatus status 
)
void ISISDAE::setDCEventMode ( unsigned long  card_id,
bool  value,
DAEstatus status 
)
int ISISDAE::setDCFrameSyncDelay ( int  crat,
isisU32_t  delay,
DAEstatus status 
)
void ISISDAE::setEventMode ( bool  value)
inline

Definition at line 254 of file isisdae.h.

References m_event_mode.

Referenced by ISISinstrumentControl::setupDAE().

int ISISDAE::setFrameSync ( FrameSync  fs,
int  muon_pulse,
DAEstatus status 
)

Definition at line 1491 of file isisdae.cpp.

References ENV_FUNCTION, m_envPeriodCards, and DAEstatus::Success.

Referenced by DAESET(), and ISISinstrumentControl::setupDAE().

int ISISDAE::setFrameSyncDelay ( isisU32_t  delay,
DAEstatus status 
)

Definition at line 1501 of file isisdae.cpp.

References ENV_FUNCTION.

Referenced by DAESET(), and ISISinstrumentControl::setupDAE().

int ISISDAE::setPeriodType ( ISISDAE::PeriodType  type,
bool  single_daq_period,
DAEstatus status 
)
int ISISDAE::setTimeChannels ( int  crat,
isisU32_t tcb,
int  ntc,
DAEstatus status 
)
int ISISDAE::setTimeChannels ( int  crat,
int  start[],
int  nbound[],
int  step[],
int  nblocks,
DAEstatus status 
)

Definition at line 317 of file isisdae.cpp.

References setTimeChannels().

void ISISDAE::setUAmpScale ( float  scale)
inline

Definition at line 250 of file isisdae.h.

References m_uamp_scale.

Referenced by ISISinstrumentControl::ISISinstrumentControl().

int ISISDAE::setVeto ( const std::string &  name,
bool  enable,
DAEstatus status 
)
void ISISDAE::startEventBroadcaster ( const CRPTProxy crpt)
inline

Definition at line 302 of file isisdae.h.

References m_es.

Referenced by ISISinstrumentControl::ISISinstrumentControl().

int ISISDAE::startRun ( bool  clear_counters,
int  run_number,
time_t &  start_time,
DAEstatus status 
)
int ISISDAE::stopRun ( StopRunMode  mode,
DAEstatus status 
)
isisU32_t ISISDAE::sumAllHistogramMemory ( DAEstatus status)

Definition at line 1323 of file isisdae.cpp.

References m_detCards.

Referenced by ISISinstrumentControl::sumAllHistogramMemory().

int ISISDAE::updateAddmap ( DAEstatus status)
protected
template<class DAECardPolicy >
template int ISISDAE::VMEReadArray< DAE2CardPolicy > ( unsigned long  card_id,
unsigned long  card_address,
isisU32_t values,
unsigned long  num_values,
DAEstatus status 
)
template<class DAECardPolicy >
template int ISISDAE::VMEReadValue< DAE2CardPolicy > ( unsigned long  card_id,
unsigned long  card_address,
bool  sixteen_bit,
unsigned long *  value,
DAEstatus status 
)
template<class DAECardPolicy >
template int ISISDAE::VMEWriteArray< DAE2CardPolicy > ( unsigned long  card_id,
unsigned long  card_address,
isisU32_t values,
unsigned long  num_values,
DAEstatus status 
)
template<class DAECardPolicy >
template int ISISDAE::VMEWriteValue< DAE2CardPolicy > ( unsigned long  card_id,
unsigned long  card_address,
bool  sixteen_bit,
unsigned long  value,
unsigned long  mode,
DAEstatus status 
)
int ISISDAE::waitForAsync ( )
protected

Definition at line 168 of file isisdae.cpp.

References m_async_complete_event, and m_num_async_requests.

Referenced by checkTestPatternAsync(), and readHistogramMemory().

int ISISDAE::whichVeto ( std::string &  veto_text,
DAEstatus status 
)

Definition at line 1958 of file isisdae.cpp.

References ENV_FUNCTION, m_detCards, and ISISVME::Success.

Referenced by ISISinstrumentControl::whichVeto().

int ISISDAE::writeDescriptorTimeBinLimitRegister ( int  det_card,
isisU32_t  value,
DAEstatus status 
)
protected

Definition at line 1339 of file isisdae.cpp.

References m_detCards.

int ISISDAE::writeHistogramMemory ( int  card_id,
isisU32_t buffer,
int  start,
int  len,
DAEstatus status 
)
int ISISDAE::writePOSLUTMemory ( int  card_id,
isisU32_t buffer,
int  len,
DAEstatus status 
)
int ISISDAE::writeTCGTimeBinLimitRegister ( int  det_card,
isisU32_t  value,
DAEstatus status 
)
protected

Definition at line 1349 of file isisdae.cpp.

References m_detCards.

Member Data Documentation

const char * ISISDAE::DAEType_desc
static
Initial value:
= {
"Unknown",
"Neutron DAE2",
"Muon DAE2",
"Neutron DAE3",
"Muon DAE3"
}

Definition at line 66 of file isisdae.h.

Referenced by RootHandler::handleRequest(), ISISinstrumentControl::ISISinstrumentControl(), and printStatus().

MyAddmap* ISISDAE::m_addmap
protected

Definition at line 123 of file isisdae.h.

Referenced by ISISDAE(), printAddmap(), readHistogramMemory(), updateAddmap(), and ~ISISDAE().

HANDLE ISISDAE::m_async_complete_event
protected

Definition at line 144 of file isisdae.h.

Referenced by doneAsync(), ISISDAE(), readHistogramMemory(), waitForAsync(), and ~ISISDAE().

int ISISDAE::m_clock_frequency
protected

Definition at line 131 of file isisdae.h.

Referenced by getTimeChannels(), ISISDAE(), and printSpectrum().

dae1spec_map_t ISISDAE::m_dae1_spec_map
protected
dae2spec_map_t ISISDAE::m_dae2_spec_map
protected

Definition at line 125 of file isisdae.h.

Referenced by getDAE2Specmap(), and updateAddmap().

CRITICAL_SECTION ISISDAE::m_dae_cs
protected

Definition at line 139 of file isisdae.h.

Referenced by changeNumberOfPeriods(), changePeriod(), ISISDAE(), and ~ISISDAE().

DAEType ISISDAE::m_dae_type
protected

Definition at line 137 of file isisdae.h.

Referenced by ISISDAE(), open(), printStatus(), and programDAE1POSLUT().

det_list_t ISISDAE::m_detCards
protected
env_list_t ISISDAE::m_envCards
protected
env_period_list_t ISISDAE::m_envPeriodCards
protected
EventStore ISISDAE::m_es
protected
bool ISISDAE::m_event_mode
protected

Definition at line 141 of file isisdae.h.

Referenced by clearCounters(), setEventMode(), startRun(), and stopRun().

int ISISDAE::m_lenAddmap
protected

Definition at line 127 of file isisdae.h.

Referenced by printAddmap(), printStatus(), readHistogramMemory(), and updateAddmap().

volatile LONG ISISDAE::m_num_async_requests
protected

Definition at line 145 of file isisdae.h.

Referenced by checkTestPatternAsync(), doneAsync(), readDCHistogramAsync(), and waitForAsync().

PeriodType ISISDAE::m_period_mode
protected
bool ISISDAE::m_simulate
protected

Definition at line 140 of file isisdae.h.

Referenced by open().

DAEProgressHandler ISISDAE::m_task_ph
protected

Definition at line 134 of file isisdae.h.

Referenced by ISISDAE(), and ~ISISDAE().

Poco::TaskManager ISISDAE::m_taskmgr
protected

Definition at line 133 of file isisdae.h.

Referenced by clearHistogramMemory(), ISISDAE(), readAllDAE1Spectra(), and ~ISISDAE().

float ISISDAE::m_uamp_scale
protected
vme_list_t ISISDAE::m_vme
protected
const char * ISISDAE::PeriodType_desc
static
Initial value:
= {
"Software",
"HardwareInternal (period card)",
"HardwareExternal (period card)"
}

Definition at line 68 of file isisdae.h.

Referenced by printStatus().

ISISDAE::veto_desc ISISDAE::veto_setters
staticprotected

The documentation for this class was generated from the following files: