Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:39

0001 
0002 // Copyright 2020, Jefferson Science Associates, LLC.
0003 // Subject to the terms in the LICENSE file found in the top-level directory.
0004 
0005 #pragma once
0006 
0007 /// JTrigger determines whether an event contains data worth passing downstream, or whether
0008 /// it should be immediately recycled. The user can call arbitrary JFactories from a Trigger
0009 /// just like they can from an EventProcessor.
0010 ///
0011 /// This design allows the user to reuse reconstruction code for a software trigger, and to
0012 /// reuse results calculated for the trigger during reconstruction. The accept() function
0013 /// should be thread safe, so that the trigger can be automatically parallelized, which will
0014 /// help bound the system's overall latency.
0015 ///
0016 /// Users should declare their accept() implementation as `final`, so that JANA can devirtualize it.
0017 
0018 struct JTrigger {
0019 
0020     virtual bool accept(JEvent&) { return true; }
0021 
0022 };
0023 
0024