ATLAS Offline Software
Functions
hello.cxx File Reference
#include <string>
#include <iostream>
#include "AsgExampleTools/AsgHelloTool.h"
#include <AsgMessaging/MessageCheck.h>
Include dependency graph for hello.cxx:

Go to the source code of this file.

Functions

int main ()
 

Function Documentation

◆ main()

int main ( )

Definition at line 18 of file hello.cxx.

18  {
19  using namespace asg::msgUserCode;
20  ANA_CHECK_SET_TYPE (int);
21 
22 
23  const string myname = "hello: ";
24  cout << myname << "Begin." << endl;
25  AsgHelloTool htool("myhello");
26  ANA_CHECK( htool.setProperty("Message", "Hello from ASG.") );
27  ANA_CHECK( htool.setProperty("OutputLevel", MSG::DEBUG) );
28  cout << myname << "Initialize" << endl;
29  ANA_CHECK( htool.initialize());
30  cout << myname << "Show properties" << endl;
31  htool.print();
32  cout << myname << "Extract property" << endl;
33  const string* message = htool.getProperty< string >( "Message" );
34  if( ! message ) {
35  cout << myname << "Couldn't extract property from the tool" << endl;
36  return 1;
37  }
38  htool.getProperty< string >( "UnknownProperty" );
39  htool.getProperty< int >( "Message" );
40  cout << myname << "The \"Message\" property of the tool: " << *message << endl;
41  cout << myname << "Run 10 times" << endl;
42  string line = "---------------------------------------------------";
43  cout << line << endl;
44  for ( int i=0; i<10; ++i ) {
45  if ( i == 3 ) {
46  ANA_CHECK( htool.setProperty("OutputLevel", MSG::INFO) );
47  }
48  htool.talk();
49  }
50  cout << line << endl;
51  cout << myname << "Check failure:" << endl;
52  ANA_CHECK( StatusCode (StatusCode::FAILURE));
53  cout << myname << "End of failure check" << endl;
54  cout << myname << "End." << endl;
55  return 0;
56 }
checkFileSG.line
line
Definition: checkFileSG.py:75
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
ReweightUtils.message
message
Definition: ReweightUtils.py:15
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ANA_CHECK_SET_TYPE
#define ANA_CHECK_SET_TYPE(TYPE)
set the type for ANA_CHECK to report failures
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:314
DEBUG
#define DEBUG
Definition: page_access.h:11