ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/IEvent.h
Revision: 1.1
Committed: Tue May 28 23:13:59 2013 UTC (11 years, 11 months ago) by grimes
Content type: text/plain
Branch: MAIN
Log Message:
Numerous changes

File Contents

# User Rev Content
1 grimes 1.1 #ifndef l1menu_IEvent_h
2     #define l1menu_IEvent_h
3    
4    
5     // Forward declarations
6     namespace L1Analysis
7     {
8     class L1AnalysisDataFormat;
9     }
10    
11    
12     namespace l1menu
13     {
14     /** @brief Interface for the event format. Bundles L1AnalysisDataFormat and the trigger bits into one package.
15     *
16     * Currently just wraps L1Analysis::L1AnalysisDataFormat and a boolean array for the trigger bits
17     * into one class so that it can easily be passed around. Also useful because it can be passed
18     * around and have some operations done on it by code that has no knowledge of L1Analysis package.
19     *
20     * Later on I might wrap the L1AnalysisDataFormat more fully so that everything can be done without
21     * knowledge of L1AnalysisDataFormat, just using this lightweight interface.
22     *
23     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
24     * @date 21/May/2013
25     */
26     class IEvent
27     {
28     public:
29     virtual ~IEvent() {}
30     virtual L1Analysis::L1AnalysisDataFormat& rawEvent() = 0;
31     virtual const L1Analysis::L1AnalysisDataFormat& rawEvent() const = 0;
32     virtual bool* physicsBits() = 0; ///< @brief A 128 element array of the physics bits
33     virtual const bool* physicsBits() const = 0; ///< @brief Const access to the 128 element array of the physics bits.
34     virtual float weight() const = 0; ///< @brief The weighting this event has been given
35     };
36    
37     } // end of namespace l1menu
38    
39    
40     #endif