ATLAS Offline Software
Loading...
Searching...
No Matches
TauDetails.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
15
16#ifndef TAU_DETAILS_ANALYSIS_H
17#define TAU_DETAILS_ANALYSIS_H
18#include "GaudiKernel/MsgStream.h"
20#include <string>
21
22namespace Analysis
23{
24 //Base for classes holding algorithm specific details
26 {
27 public:
29 TauDetails();
30
32 virtual ~TauDetails();
33
34 static const float DEFAULT;
35 static const int DEFAULT_INT;
36
40 friend std::ostream& operator<< (
41 std::ostream& o, const Analysis::TauDetails& detail);
42
46 friend std::ostream& operator<< (
47 std::ostream& o, const TauDetails* detail);
48
52 friend MsgStream& operator<< (
53 MsgStream& o, const TauDetails& detail);
54
58 friend MsgStream& operator<< (
59 MsgStream& o, const TauDetails* detail);
60
61
66 virtual double parameter( TauJetParameters :: Detail detail ) const;
67
69 virtual int intParameter( TauJetParameters :: Detail detail ) const;
70
72 virtual bool hasParameter( TauJetParameters :: Detail detail ) const;
73
75 virtual void setParameter(
76 TauJetParameters :: Detail detail, double param );
77
79 virtual void setIntParameter(
80 TauJetParameters :: Detail detail, int param );
82
83 virtual const std::string& className() const = 0;
84
87 std::string toString() const;
88 protected:
91 template <class stream>
92 void printOn(stream& o) const;
93 }; //Class TauDetails
94
95 template <class stream>
96 void TauDetails::printOn(stream& o) const
97 {
98 o << "TauDetails;";
99 }
100
101 inline std::ostream& operator<< (std::ostream& o, const TauDetails& detail)
102 {
103 detail.printOn(o);
104 return o;
105 }
106
107 inline std::ostream& operator<< (std::ostream& o, const TauDetails* detail)
108 {
109 detail->printOn(o);
110 return o;
111 }
112
113 inline MsgStream& operator<< (MsgStream& o, const TauDetails& detail)
114 {
115 detail.printOn(o);
116 return o;
117 }
118
119 inline MsgStream& operator<< (MsgStream& o, const TauDetails* detail)
120 {
121 detail->printOn(o);
122 return o;
123 }
124
125} // namespace Analysis
126
127#endif // TAU_DETAILS_ANALYSIS_H
Definition of parameters for TauJet object.
static const int DEFAULT_INT
Definition TauDetails.h:35
virtual bool hasParameter(TauJetParameters ::Detail detail) const
check if parameter exists
virtual void setIntParameter(TauJetParameters ::Detail detail, int param)
set parameter of type int
virtual void setParameter(TauJetParameters ::Detail detail, double param)
set parameter of type double
virtual double parameter(TauJetParameters ::Detail detail) const
virtual int intParameter(TauJetParameters ::Detail detail) const
value of parameter (type int)
virtual ~TauDetails()
Virtual destructor.
static const float DEFAULT
Definition TauDetails.h:34
std::string toString() const
Uses printOn to make a string of the TauDetails.
friend std::ostream & operator<<(std::ostream &o, const Analysis::TauDetails &detail)
Printing operator.
Definition TauDetails.h:101
TauDetails()
Default constructor.
virtual const std::string & className() const =0
void printOn(stream &o) const
Printing function.
Definition TauDetails.h:96
The namespace of all packages in PhysicsAnalysis/JetTagging.
MsgStream & operator<<(MsgStream &out, const IPInfoBase &)
output.