ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/L1TriggerDPGEvent.h
Revision: 1.3
Committed: Fri Jul 5 14:21:56 2013 UTC (11 years, 10 months ago) by grimes
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +2 -0 lines
Error occurred while calculating annotation data.
Log Message:
Set the event weight in FullSamples properly

File Contents

# Content
1 #ifndef l1menu_L1TriggerDPGEvent_h
2 #define l1menu_L1TriggerDPGEvent_h
3
4 #include <memory>
5 #include "l1menu/IEvent.h"
6
7 // Forward declarations
8 namespace L1Analysis
9 {
10 class L1AnalysisDataFormat;
11 }
12
13
14 namespace l1menu
15 {
16 /** @brief Wrapper for the event format. Bundles L1AnalysisDataFormat and the trigger bits into one class.
17 *
18 * Currently just wraps L1Analysis::L1AnalysisDataFormat (from UserCode/L1TriggerDPG) and a boolean array
19 * for the trigger bits into one class so that it can easily be passed around. Also useful because it can
20 * be passed around and have some operations done on it by code that has no knowledge of L1Analysis package.
21 *
22 * Later on I might wrap the L1AnalysisDataFormat more fully so that everything can be done without
23 * knowledge of L1AnalysisDataFormat, just using this lightweight interface.
24 *
25 * @author Mark Grimes (mark.grimes@bristol.ac.uk)
26 * @date 21/May/2013
27 */
28 class L1TriggerDPGEvent : public l1menu::IEvent
29 {
30 public:
31 L1TriggerDPGEvent( const l1menu::ISample& parentSample );
32 L1TriggerDPGEvent( const L1TriggerDPGEvent& otherEvent );
33 L1TriggerDPGEvent( L1TriggerDPGEvent&& otherEvent ) noexcept;
34 L1TriggerDPGEvent& operator=( const L1TriggerDPGEvent& otherEvent );
35 L1TriggerDPGEvent& operator=( L1TriggerDPGEvent&& otherEvent ) noexcept;
36 virtual ~L1TriggerDPGEvent();
37
38 virtual L1Analysis::L1AnalysisDataFormat& rawEvent();
39 virtual const L1Analysis::L1AnalysisDataFormat& rawEvent() const;
40 virtual bool* physicsBits(); ///< @brief A 128 element array of the physics bits
41 virtual const bool* physicsBits() const; ///< @brief Const access to the 128 element array of the physics bits.
42
43 virtual void setWeight( float weight );
44
45 //
46 // These are the methods required by the l1menu::IEvent interface.
47 //
48 virtual bool passesTrigger( const l1menu::ITrigger& trigger ) const;
49 virtual float weight() const;
50 virtual const l1menu::ISample& sample() const;
51 protected:
52 /** @brief Hide implementation details in a pimple.
53 * In particular I don't want any code that includes this file to be dependent
54 * on L1AnalysisDataFormat.h. */
55 std::unique_ptr<class L1TriggerDPGEventPrivateMembers> pImple_;
56 };
57
58 } // end of namespace l1menu
59
60
61 #endif