ICP  1
sim_detector_card.h
Go to the documentation of this file.
1 #ifndef SIMDETCARD_H
2 #define SIMDETCARD_H
3 
4 #include "sim_dae2_card.h"
5 #include "detector_card.h"
6 
7 template <class DetCardPolicy>
8 class SIMDetectorCard : public SIMDAE2Card<DetCardPolicy>
9 {
10 public:
11  SIMDetectorCard(int position, VMESimulationIface* vme, bool shared, FaultMode fault_mode, bool neutron_data, DAEstatus& status);
12  virtual ~SIMDetectorCard();
13  virtual void printStatus(std::ostream& os);
14  virtual void updateCardAfterWrite(DAEstatus& status);
15  virtual void updateCardAfterRead(DAEstatus& status);
16  virtual void simulate(int delay);
17  void writeToMemoryWrapped(isisU32_t* data, int len);
18 
19  int incrementPeriod();
20  int resetPeriod();
21 
22 protected:
23  virtual void simulateHistogramMode(int delay, bool simspec0, bool simbin0);
24  virtual void simulateEventMode(int delay, bool simspec0, bool simbin0);
25  virtual void simulateEventModeDetector(DAEEventHeader& header, bool simspec0, bool simbin0);
26  virtual void simulateEventModeDataDae(DAEEventHeader& header, bool simspec0, bool simbin0);
27  unsigned getTimeChannelIndex(float tof);
52  bool m_end_sent;
54 };
55 
56 #endif /* SIMDAE2CARD_H */
isisU32_t m_tcgAccessRegister
SIMDetectorCard(int position, VMESimulationIface *vme, bool shared, FaultMode fault_mode, bool neutron_data, DAEstatus &status)
isisU32_t m_periodCounterLow
virtual void printStatus(std::ostream &os)
isisU32_t m_descriptorTimeBinLimitRegister
virtual void simulate(int delay)
isisU32_t * m_poslutMemory
isisU32_t m_numMemoryWraps
virtual void updateCardAfterWrite(DAEstatus &status)
fixed header marker for DAEEventHeader
Definition: dae_events.h:44
unsigned long isisU32_t
Definition: isisvme_types.h:8
isisU32_t m_totalCounts
virtual void updateCardAfterRead(DAEstatus &status)
void writeToMemoryWrapped(isisU32_t *data, int len)
isisU32_t m_vetoFlagRegister
static isisU32_t * m_shared_detMemory
isisU32_t m_eventModeReg
isisU32_t * m_tcglutMemory
isisU32_t m_periodCounterHigh
isisU32_t m_lastReadAddr
virtual void simulateEventMode(int delay, bool simspec0, bool simbin0)
isisU32_t m_nextFrameMarker
isisU32_t m_tcgTimeBinLimitRegister
unsigned getTimeChannelIndex(float tof)
tof in microseconds
isisU32_t m_periodSizeLow
isisU32_t m_nextMemoryWrite
isisU32_t m_periodSizeHigh
isisU32_t m_runMemoryClear
virtual void simulateEventModeDetector(DAEEventHeader &header, bool simspec0, bool simbin0)
virtual void simulateEventModeDataDae(DAEEventHeader &header, bool simspec0, bool simbin0)
FaultMode
Definition: sim_dae2_card.h:10
isisU32_t * m_detMemory
isisU32_t m_vetoEnableRegister
isisU32_t m_dcmuonstep
virtual void simulateHistogramMode(int delay, bool simspec0, bool simbin0)