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

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