21 {
22
23 CriteriaItemValue* p_itemValue;
24 float itemValue;
25 std::vector<CriteriaItem>::const_iterator it = m_items.begin();
26
27 bool judge = true;
28 while ( it != m_items.end() )
29 {
30
31
32 bool status = m_HltStoreSvc->get( it->name, p_itemValue );
33 if ( !status ) return false;
34
35 status = p_itemValue->
getValue( itemValue );
36 if ( !status ) return false;
37
38
39
40
41 if ( it->type == "MIN" )
42 {
43 if ( itemValue <= it->value ) judge = false;
44 }
45 else if ( it->type == "MAX" )
46 {
47 if ( itemValue >= it->value ) judge = false;
48 }
49 else if ( it->type == "TRUE" )
50 {
51 if ( fabs( itemValue - it->value ) > 0.000001 ) judge = false;
52 }
53 else if ( it->type == "FALSE" )
54 {
55 if ( fabs( itemValue - it->value ) < 0.000001 ) judge = false;
56 }
57 else
58 {
59 std::cout << "In HltCriteria::satisfyCriteria() ==> Unvalid CriteriaItemType!"
60 << std::endl;
61 exit( 1 );
62 }
63
64 if ( it->name == "nmuc" ) {}
65 else if ( it->name == "nmdc" ) {}
66 else if ( it->name == "etot" && it->type == "MIN" ) {}
67 else if ( it->name == "etot" && it->type == "MAX" ) {}
68 else if ( it->name == "acop" && it->type == "MAX" ) {}
69 else
70 {
71
72
73 }
74 it++;
75 }
76
77
78 return judge;
79}
bool getValue(float &value) const