ATLAS Offline Software
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 
22 namespace Analysis
23 {
24  //Base for classes holding algorithm specific details
25  class TauDetails
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
Analysis::TauDetails::className
virtual const std::string & className() const =0
Analysis::TauDetails::parameter
virtual double parameter(TauJetParameters ::Detail detail) const
Definition: TauDetails.cxx:41
Analysis::TauDetails::DEFAULT
static const float DEFAULT
Definition: TauDetails.h:34
detail
Definition: extract_histogram_tag.cxx:14
Analysis::TauDetails::TauDetails
TauDetails()
Default constructor.
Definition: TauDetails.cxx:26
Analysis::TauDetails::intParameter
virtual int intParameter(TauJetParameters ::Detail detail) const
value of parameter (type int)
Definition: TauDetails.cxx:47
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Analysis::TauDetails
Definition: TauDetails.h:26
TauJetParameters.h
Analysis::TauDetails::toString
std::string toString() const
Uses printOn to make a string of the TauDetails.
Definition: TauDetails.cxx:34
Analysis::TauDetails::DEFAULT_INT
static const int DEFAULT_INT
Definition: TauDetails.h:35
Analysis::TauDetails::~TauDetails
virtual ~TauDetails()
Virtual destructor.
Definition: TauDetails.cxx:30
Analysis::TauDetails::hasParameter
virtual bool hasParameter(TauJetParameters ::Detail detail) const
check if parameter exists
Definition: TauDetails.cxx:53
Analysis::TauDetails::setParameter
virtual void setParameter(TauJetParameters ::Detail detail, double param)
set parameter of type double
Definition: TauDetails.cxx:59
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
xAOD::DiTauJetParameters::Detail
Detail
Definition: DiTauDefs.h:38
Analysis::operator<<
MsgStream & operator<<(MsgStream &out, const IPInfoBase &)
output.
Definition: IPInfoBase.cxx:47
Analysis::TauDetails::printOn
void printOn(stream &o) const
Printing function.
Definition: TauDetails.h:96
Analysis::TauDetails::operator<<
friend std::ostream & operator<<(std::ostream &o, const Analysis::TauDetails &detail)
Printing operator.
Definition: TauDetails.h:101
Analysis::TauDetails::setIntParameter
virtual void setIntParameter(TauJetParameters ::Detail detail, int param)
set parameter of type int
Definition: TauDetails.cxx:64