Note that the module contains a FIFO. It is therefore possible to, e.g. in latch mode, latch in an arbitrary set of inputs. Since the Next Event pulse can be as short as 10ns, in theory, the module could be used to readout some external subsystem at the rate of 10Mhz. Designing systems that function in this way is beyond the scope of this document.
The remainder of this page describes how to setup the module in
and describes the sis3600astClear
#include <CSIS3600.h> ... CSIS3600* pModule(0); // At program startup, null pointer. ... void initevt() { ... if(!pModule) { pModule = new CSIS3600(0x36000000, 0); // Base,crate. } pModule->SetLatchMode(); // Run in latch mode. }
#include <CSIS3600.h> ... CSIS3600* pModule(0); // At program startup, null pointer. ... void initevt() { ... if(!pModule) { pModule = new CSIS3600(0x36000000, 0); // Base,crate. } pModule->SetCoincidenceMode(); // Run in latch mode. }
The fast clear window is setup by first calling the CSIS3600::SetFastClearWindow member function to select a fast clear window size and then calling the CSIS3600::EnableExternalClear member to enable the external fast clear.
Extending the sample codein sis3600Coincidence:
#include <CSIS3600.h> ... CSIS3600* pModule(0); // At program startup, null pointer. ... void initevt() { ... if(!pModule) { pModule = new CSIS3600(0x36000000, 0); // Base,crate. } pModule->SetCoincidenceMode(); // Run in latch mode. pModule->SetFastClearWindow(150); // 150ns fc window. pModule->EnableExternalClear(); // Allow fast clears. }