1 |
grimes |
1.1 |
#ifndef l1menu_MenuSample_h
|
2 |
|
|
#define l1menu_MenuSample_h
|
3 |
|
|
|
4 |
|
|
#include <string>
|
5 |
|
|
#include <memory>
|
6 |
grimes |
1.4 |
#include "l1menu/ISample.h"
|
7 |
grimes |
1.1 |
|
8 |
|
|
// Forward declarations
|
9 |
grimes |
1.2 |
namespace l1menu
|
10 |
grimes |
1.1 |
{
|
11 |
grimes |
1.3 |
class L1TriggerDPGEvent;
|
12 |
grimes |
1.1 |
}
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
namespace l1menu
|
16 |
|
|
{
|
17 |
|
|
|
18 |
grimes |
1.4 |
class MenuSample : public l1menu::ISample
|
19 |
grimes |
1.1 |
{
|
20 |
|
|
public:
|
21 |
|
|
MenuSample();
|
22 |
|
|
virtual ~MenuSample();
|
23 |
|
|
MenuSample( const MenuSample& otherMenuSample );
|
24 |
grimes |
1.2 |
MenuSample( MenuSample&& otherMenuSample ) noexcept;
|
25 |
grimes |
1.1 |
MenuSample& operator=( const MenuSample& otherMenuSample );
|
26 |
grimes |
1.2 |
MenuSample& operator=( MenuSample&& otherMenuSample ) noexcept;
|
27 |
grimes |
1.1 |
|
28 |
|
|
void loadFile( const std::string& filename );
|
29 |
grimes |
1.4 |
const l1menu::L1TriggerDPGEvent& getFullEvent( size_t eventNumber ) const;
|
30 |
|
|
|
31 |
|
|
virtual size_t numberOfEvents() const;
|
32 |
|
|
virtual const l1menu::IEvent& getEvent( size_t eventNumber ) const;
|
33 |
|
|
virtual std::unique_ptr<l1menu::ICachedTrigger> createCachedTrigger( const l1menu::ITrigger& trigger ) const;
|
34 |
|
|
virtual float eventRate() const;
|
35 |
|
|
virtual void setEventRate( float rate );
|
36 |
|
|
virtual float sumOfWeights() const;
|
37 |
|
|
virtual std::unique_ptr<const l1menu::IMenuRate> rate( const l1menu::TriggerMenu& menu ) const;
|
38 |
grimes |
1.1 |
private:
|
39 |
|
|
class MenuSamplePrivateMembers* pImple_;
|
40 |
|
|
}; // end of class MenuSample
|
41 |
|
|
|
42 |
|
|
} // end of namespace l1menu
|
43 |
|
|
|
44 |
|
|
#endif
|