ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/L1Menu/src/ReducedEvent.cpp
Revision: 1.1
Committed: Fri Jun 28 14:30:08 2013 UTC (11 years, 10 months ago) by grimes
Branch: MAIN
Log Message:
Added ICachedTrigger to speed up processing

File Contents

# Content
1 #include "l1menu/ReducedEvent.h"
2
3 #include "l1menu/ITrigger.h"
4 #include "l1menu/ReducedMenuSample.h"
5 #include "protobuf/l1menu.pb.h"
6
7 l1menu::ReducedEvent::ReducedEvent( const l1menu::ReducedMenuSample& sample )
8 : sample_(sample)
9 {
10 // No operation
11 }
12
13 l1menu::ReducedEvent::~ReducedEvent()
14 {
15 // No operation
16 }
17
18 float l1menu::ReducedEvent::parameterValue( ParameterID parameterNumber ) const
19 {
20 return pProtobufEvent_->threshold(parameterNumber);
21 }
22
23 bool l1menu::ReducedEvent::passesTrigger( const l1menu::ITrigger& trigger ) const
24 {
25 const auto& parameterIdentifiers=sample_.getTriggerParameterIdentifiers(trigger);
26
27 for( const auto& identifier : parameterIdentifiers )
28 {
29 if( trigger.parameter(identifier.first)>parameterValue(identifier.second) ) return false;
30 }
31
32 // If control got this far, all of the thresholds passed.
33 return true;
34 }
35
36 float l1menu::ReducedEvent::weight() const
37 {
38 if( pProtobufEvent_->has_weight() ) return pProtobufEvent_->weight();
39 else return 1;
40 }