ATLAS Offline Software
FormulaSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MULTI_DRAW_FORMULA_SVC_H
6 #define MULTI_DRAW_FORMULA_SVC_H
7 
8 //
9 // Distributed under the Boost Software License, Version 1.0.
10 // (See accompanying file LICENSE_1_0.txt or copy at
11 // http://www.boost.org/LICENSE_1_0.txt)
12 
13 // Please feel free to contact me (krumnack@iastate.edu) for bug
14 // reports, feature suggestions, praise and complaints.
15 
16 
21 
22 
23 
24 //protect
25 #include <MultiDraw/Global.h>
26 
27 #include <EventLoop/Algorithm.h>
28 
29 class TTree;
30 
31 namespace MD
32 {
36  std::string dbg (const FormulaSvc& obj, unsigned verbosity = 0);
37 
38 
43 
44 
50 
51 
52 
53  class FormulaSvc : public EL::Algorithm
54  {
55  //
56  // public interface
57  //
58 
60  public:
61  static const std::string name;
62 
63 
66  public:
67  void testInvariant () const;
68 
69 
72  public:
74 
75 
78  public:
80 
81 
88  public:
89  const Formula *addForm (const std::string& formula);
90 
91 
92 
93  //
94  // methods inherited from EL::Algorithm
95  //
96 
99  private:
100  virtual const char *GetName () const;
101 
102 
108  private:
109  virtual EL::StatusCode changeInput (bool firstFile);
110 
111 
116  private:
118 
119 
120 
121  //
122  // private interface
123  //
124 
126  private:
127  TTree *m_tree;
128 
130  private:
131  std::vector<Formula*> m_vars;
132 
134  };
135 }
136 
137 #endif
MD::FormulaSvc::GetName
virtual const char * GetName() const
effects: return the name of this algorithm guarantee: no-fail
MD::Formula
Definition: Formula.h:36
Global.h
MD
This module provides a lot of global definitions, forward declarations and includes that are used by ...
Definition: AlgCFlow.h:31
MD::FormulaSvc::name
static const std::string name
description: the name of the service
Definition: FormulaSvc.h:61
MD::FormulaSvc::~FormulaSvc
~FormulaSvc()
effects: standard destructor guarantee: no-fail
MD::FormulaSvc::FormulaSvc
FormulaSvc()
effects: standard default constructor guarantee: no-fail
MD::dbg
std::string dbg(const FormulaSvc &obj, unsigned verbosity=0)
returns: the debugging info of this object guarantee: strong failures: out of memory II
MD::FormulaSvc::execute
virtual EL::StatusCode execute()
effects: process the next event guarantee: basic failures: algorithm dependent rationale: the virtual...
MD::formulas
FormulaSvc * formulas(EL::IWorker *worker)
returns: the formula service for this worker guarantee: strong failures: formula service not configur...
MD::FormulaSvc::ClassDef
ClassDef(FormulaSvc, 1)
EL::Algorithm
Definition: Algorithm.h:22
MD::FormulaSvc::testInvariant
void testInvariant() const
effects: test the invariant of this object guarantee: no-fail
MD::FormulaSvc::changeInput
virtual EL::StatusCode changeInput(bool firstFile)
effects: do all changes to work with a new input file, e.g.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Algorithm.h
EL::IWorker
the interface for algorithms to access IWorker
Definition: IWorker.h:40
MD::FormulaSvc::m_vars
std::vector< Formula * > m_vars
description: the list of variables used
Definition: FormulaSvc.h:131
MD::FormulaSvc::addForm
const Formula * addForm(const std::string &formula)
effects: add another formula returns: the formula guarantee: strong failures: out of memory II failur...
covarianceTool.verbosity
verbosity
Definition: covarianceTool.py:513
MD::FormulaSvc
Definition: FormulaSvc.h:54
MD::useFormulas
void useFormulas(EL::Job &job)
effects: register the formula service for this job guarantee: strong failures: out of memory I
EL::Job
Definition: Job.h:51
test_interactive_athena.job
job
Definition: test_interactive_athena.py:6
python.PyAthena.obj
obj
Definition: PyAthena.py:135
MD::FormulaSvc::m_tree
TTree * m_tree
description: the tree we are connected to
Definition: FormulaSvc.h:127