ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/interface/l1menu/implementation/TriggerRateImplementation.h
Revision: 1.1
Committed: Tue Jul 2 23:30:35 2013 UTC (11 years, 10 months ago) by grimes
Content type: text/plain
Branch: MAIN
Log Message:
Various changes to make interface conformance better, and dropping old unrequired methods

File Contents

# User Rev Content
1 grimes 1.1 #ifndef l1menu_implementation_TriggerRateImplementation_h
2     #define l1menu_implementation_TriggerRateImplementation_h
3    
4     #include "l1menu/ITriggerRate.h"
5     #include <vector>
6     #include <memory>
7    
8     //
9     // Forward declarations
10     //
11     namespace l1menu
12     {
13     class ITrigger;
14     namespace implementation
15     {
16     class MenuRateImplementation;
17     }
18     }
19    
20    
21     namespace l1menu
22     {
23     namespace implementation
24     {
25     /** @brief Implementation of the ITriggerRate interface.
26     *
27     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
28     * @date 28/Jun/2013
29     */
30     class TriggerRateImplementation : public l1menu::ITriggerRate
31     {
32     public:
33     TriggerRateImplementation( const l1menu::ITrigger& trigger, float fraction, const MenuRateImplementation& menuRate );
34     TriggerRateImplementation& operator=( TriggerRateImplementation&& otherTriggerRate ); // Move assignment
35     virtual ~TriggerRateImplementation();
36    
37     // Methods required by the l1menu::ITriggerRate interface
38     virtual const l1menu::ITrigger& trigger() const;
39     virtual float fraction() const;
40     virtual float rate() const;
41     protected:
42     std::unique_ptr<l1menu::ITrigger> pTrigger_;
43     float fraction_;
44     const MenuRateImplementation& menuRate_;
45     };
46    
47    
48     } // end of the implementation namespace
49     } // end of the l1menu namespace
50     #endif