ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/ISample.h
Revision: 1.4
Committed: Sat Jun 29 16:14:45 2013 UTC (11 years, 10 months ago) by grimes
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +1 -1 lines
Log Message:
Added an option to the TriggerRatePlot to scale all thresholds at once for the plot

File Contents

# Content
1 #ifndef l1menu_ISample_h
2 #define l1menu_ISample_h
3
4 #include <memory>
5
6 //
7 // Forward declarations
8 //
9 namespace l1menu
10 {
11 class IMenuRate;
12 class TriggerMenu;
13 class IEvent;
14 class ITrigger;
15 class ICachedTrigger;
16 }
17
18
19 namespace l1menu
20 {
21 class ISample
22 {
23 public:
24 virtual ~ISample() {}
25
26 virtual size_t numberOfEvents() const = 0;
27 virtual const l1menu::IEvent& getEvent( size_t eventNumber ) const = 0;
28
29 virtual std::unique_ptr<l1menu::ICachedTrigger> createCachedTrigger( const l1menu::ITrigger& trigger ) const = 0;
30 /** @brief The rate at which events are occurring. I.e. the trigger rate if every event passed. */
31 virtual float eventRate() const = 0;
32 virtual void setEventRate( float rate ) = 0;
33 /** @brief The sum of every event's weights. */
34 virtual float sumOfWeights() const = 0;
35
36 virtual std::unique_ptr<const l1menu::IMenuRate> rate( const l1menu::TriggerMenu& menu ) const = 0;
37 };
38
39 } // end of namespace l1menu
40
41 #endif