Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Private Attributes | List of all members
IDTPM::SinglePlotDefinition Class Reference

#include <SinglePlotDefinition.h>

Collaboration diagram for IDTPM::SinglePlotDefinition:

Public Types

typedef std::pair< float, float > axesLimits_t
 typedef for axes limits: (lower bound, upper bound) More...
 

Public Member Functions

 SinglePlotDefinition (const std::string &name="", const std::string &type="", const std::string &title="", const std::string &xTitle="", unsigned int nBinsX=0, float xLow=0., float xHigh=0., bool doLogLinBinsX=false, const std::vector< float > &xBinsVec={}, const std::vector< std::string > &xBinLabelsVec={}, const std::string &yTitle="", unsigned int nBinsY=0, float yLow=0., float yHigh=0., bool doLogLinBinsY=false, const std::vector< float > &yBinsVec={}, const std::vector< std::string > &yBinLabelsVec={}, const std::string &zTitle="", unsigned int nBinsZ=0, float zLow=0., float zHigh=0., bool doLogLinBinsZ=false, const std::vector< float > &zBinsVec={}, const std::vector< std::string > &zBinLabelsVec={}, const std::string &folder="")
 Parametrised Constructor. More...
 
 ~SinglePlotDefinition ()=default
 Default destructor. More...
 
SinglePlotDefinitionoperator= (const SinglePlotDefinition &)=default
 = operator More...
 
const std::string & name () const
 
const std::string & type () const
 
const std::string & title () const
 
const std::string & xTitle () const
 
const std::string & yTitle () const
 
const std::string & zTitle () const
 
unsigned int nBinsX () const
 
unsigned int nBinsY () const
 
unsigned int nBinsZ () const
 
float xLow () const
 
float xHigh () const
 
float yLow () const
 
float yHigh () const
 
float zLow () const
 
float zHigh () const
 
bool doLogLinBinsX () const
 
bool doLogLinBinsY () const
 
bool doLogLinBinsZ () const
 
const std::vector< float > & xBinsVec () const
 
const std::vector< float > & yBinsVec () const
 
const std::vector< float > & zBinsVec () const
 
bool doVarBinsX () const
 
bool doVarBinsY () const
 
bool doVarBinsZ () const
 
const std::vector< std::string > & xBinLabelsVec () const
 
const std::vector< std::string > & yBinLabelsVec () const
 
const std::vector< std::string > & zBinLabelsVec () const
 
const std::string & folder () const
 
bool isEmpty () const
 
const std::string & identifier () const
 
const std::string & plotDigest () const
 
const std::string & titleDigest () const
 
bool isValid () const
 
void name (std::string_view name_s)
 
void type (std::string_view type_s)
 
void title (std::string_view title_s)
 
void xTitle (std::string_view xTitle_s)
 
void yTitle (std::string_view yTitle_s)
 
void zTitle (std::string_view zTitle_s)
 
void nBinsX (float nBinsX_f)
 
void nBinsY (float nBinsY_f)
 
void nBinsZ (float nBinsZ_f)
 
void xLimits (float xLow, float xHigh)
 
void yLimits (float yLow, float yHigh)
 
void zLimits (float zLow, float zHigh)
 
void doLogLinBinsX (bool doLogLinBinsX_b)
 
void doLogLinBinsY (bool doLogLinBinsY_b)
 
void doLogLinBinsZ (bool doLogLinBinsZ_b)
 
void setxBinsVec (const std::vector< float > &vec)
 
void setyBinsVec (const std::vector< float > &vec)
 
void setzBinsVec (const std::vector< float > &vec)
 
void setxBinLabelsVec (const std::vector< std::string > &vec)
 
void setyBinLabelsVec (const std::vector< std::string > &vec)
 
void setzBinLabelsVec (const std::vector< std::string > &vec)
 
void folder (std::string_view folder_s)
 
void setEmpty (bool empty=true)
 
void redoIdDigest ()
 recompute m_identifier More...
 
void redoPlotDigest ()
 recompute m_plotDigest More...
 
void redoTitleDigest ()
 recompute m_titleDigest More...
 
void redoTypeDigest ()
 recompute m_is*D More...
 
void digest ()
 recompute m_identifier, m_plotDigest, m_titleDigest, m_is*D More...
 

Private Attributes

std::string m_name
 main members More...
 
std::string m_type
 
std::string m_title
 
std::string m_xTitle
 
std::string m_yTitle
 
std::string m_zTitle
 
unsigned int m_nBinsX
 
unsigned int m_nBinsY
 
unsigned int m_nBinsZ
 
axesLimits_t m_xAxis
 
axesLimits_t m_yAxis
 
axesLimits_t m_zAxis
 
bool m_doLogLinBinsX
 
bool m_doLogLinBinsY
 
bool m_doLogLinBinsZ
 
std::vector< float > m_xBinsVec
 
std::vector< float > m_yBinsVec
 
std::vector< float > m_zBinsVec
 
std::vector< std::string > m_xBinLabelsVec
 
std::vector< std::string > m_yBinLabelsVec
 
std::vector< std::string > m_zBinLabelsVec
 
std::string m_folder
 
bool m_empty
 status member More...
 
std::string m_identifier
 derived members, i.e. dependant on main members More...
 
std::string m_plotDigest
 
std::string m_titleDigest
 
bool m_is1D
 
bool m_is2D
 
bool m_is3D
 

Detailed Description

Definition at line 25 of file SinglePlotDefinition.h.

Member Typedef Documentation

◆ axesLimits_t

typedef std::pair< float, float > IDTPM::SinglePlotDefinition::axesLimits_t

typedef for axes limits: (lower bound, upper bound)

Definition at line 30 of file SinglePlotDefinition.h.

Constructor & Destructor Documentation

◆ SinglePlotDefinition()

IDTPM::SinglePlotDefinition::SinglePlotDefinition ( const std::string &  name = "",
const std::string &  type = "",
const std::string &  title = "",
const std::string &  xTitle = "",
unsigned int  nBinsX = 0,
float  xLow = 0.,
float  xHigh = 0.,
bool  doLogLinBinsX = false,
const std::vector< float > &  xBinsVec = {},
const std::vector< std::string > &  xBinLabelsVec = {},
const std::string &  yTitle = "",
unsigned int  nBinsY = 0,
float  yLow = 0.,
float  yHigh = 0.,
bool  doLogLinBinsY = false,
const std::vector< float > &  yBinsVec = {},
const std::vector< std::string > &  yBinLabelsVec = {},
const std::string &  zTitle = "",
unsigned int  nBinsZ = 0,
float  zLow = 0.,
float  zHigh = 0.,
bool  doLogLinBinsZ = false,
const std::vector< float > &  zBinsVec = {},
const std::vector< std::string > &  zBinLabelsVec = {},
const std::string &  folder = "" 
)

Parametrised Constructor.

Local include(s)

STL include(s)


--— Constructor --—

initialise title = name if title is empty

initialising axes ranges

Recomputing limits and sizes (for variable bin sizes)

Setting bin labels

Sanity check

Definition at line 23 of file SinglePlotDefinition.cxx.

37  :
38  m_name( name ), m_type( type ), m_title( title ),
42  m_folder( folder ), m_is1D( false ), m_is2D( false ), m_is3D( false )
43 {
45  if( m_title.empty() ) m_title = m_name;
46 
48  m_xAxis = ( nBinsX != 0 ) ? std::make_pair( xLow, xHigh ) :
49  std::make_pair( std::numeric_limits<float>::quiet_NaN(),
50  std::numeric_limits<float>::quiet_NaN() );
51 
52  m_yAxis = ( nBinsY != 0 ) ? std::make_pair( yLow, yHigh ) :
53  std::make_pair( std::numeric_limits<float>::quiet_NaN(),
54  std::numeric_limits<float>::quiet_NaN() );
55 
56  m_zAxis = ( nBinsZ != 0 ) ? std::make_pair( zLow, zHigh ) :
57  std::make_pair( std::numeric_limits<float>::quiet_NaN(),
58  std::numeric_limits<float>::quiet_NaN() );
59 
64 
69 
71  m_empty = not isValid();
72 
73  // Re-compute digest strings
74  if( not m_empty ) digest();
75 }

◆ ~SinglePlotDefinition()

IDTPM::SinglePlotDefinition::~SinglePlotDefinition ( )
default

Default destructor.

Member Function Documentation

◆ digest()

void IDTPM::SinglePlotDefinition::digest ( )
inline

recompute m_identifier, m_plotDigest, m_titleDigest, m_is*D

Definition at line 149 of file SinglePlotDefinition.h.

149  {
150  redoIdDigest();
151  redoPlotDigest();
152  redoTitleDigest();
153  redoTypeDigest();
154  }

◆ doLogLinBinsX() [1/2]

bool IDTPM::SinglePlotDefinition::doLogLinBinsX ( ) const
inline

Definition at line 73 of file SinglePlotDefinition.h.

73 { return m_doLogLinBinsX; }

◆ doLogLinBinsX() [2/2]

void IDTPM::SinglePlotDefinition::doLogLinBinsX ( bool  doLogLinBinsX_b)
inline

Definition at line 109 of file SinglePlotDefinition.h.

109 { m_doLogLinBinsX = doLogLinBinsX_b; }

◆ doLogLinBinsY() [1/2]

bool IDTPM::SinglePlotDefinition::doLogLinBinsY ( ) const
inline

Definition at line 74 of file SinglePlotDefinition.h.

74 { return m_doLogLinBinsY; }

◆ doLogLinBinsY() [2/2]

void IDTPM::SinglePlotDefinition::doLogLinBinsY ( bool  doLogLinBinsY_b)
inline

Definition at line 110 of file SinglePlotDefinition.h.

110 { m_doLogLinBinsY = doLogLinBinsY_b; }

◆ doLogLinBinsZ() [1/2]

bool IDTPM::SinglePlotDefinition::doLogLinBinsZ ( ) const
inline

Definition at line 75 of file SinglePlotDefinition.h.

75 { return m_doLogLinBinsZ; }

◆ doLogLinBinsZ() [2/2]

void IDTPM::SinglePlotDefinition::doLogLinBinsZ ( bool  doLogLinBinsZ_b)
inline

Definition at line 111 of file SinglePlotDefinition.h.

111 { m_doLogLinBinsZ = doLogLinBinsZ_b; }

◆ doVarBinsX()

bool IDTPM::SinglePlotDefinition::doVarBinsX ( ) const
inline

Definition at line 79 of file SinglePlotDefinition.h.

79 { return ( not m_xBinsVec.empty() ); }

◆ doVarBinsY()

bool IDTPM::SinglePlotDefinition::doVarBinsY ( ) const
inline

Definition at line 80 of file SinglePlotDefinition.h.

80 { return ( not m_yBinsVec.empty() ); }

◆ doVarBinsZ()

bool IDTPM::SinglePlotDefinition::doVarBinsZ ( ) const
inline

Definition at line 81 of file SinglePlotDefinition.h.

81 { return ( not m_zBinsVec.empty() ); }

◆ folder() [1/2]

const std::string& IDTPM::SinglePlotDefinition::folder ( ) const
inline

Definition at line 85 of file SinglePlotDefinition.h.

85 { return m_folder; }

◆ folder() [2/2]

void IDTPM::SinglePlotDefinition::folder ( std::string_view  folder_s)
inline

Definition at line 133 of file SinglePlotDefinition.h.

133 { m_folder = folder_s; digest(); }

◆ identifier()

const std::string& IDTPM::SinglePlotDefinition::identifier ( ) const
inline

Definition at line 87 of file SinglePlotDefinition.h.

87 { return m_identifier; }

◆ isEmpty()

bool IDTPM::SinglePlotDefinition::isEmpty ( ) const
inline

Definition at line 86 of file SinglePlotDefinition.h.

86 { return m_empty; }

◆ isValid()

bool IDTPM::SinglePlotDefinition::isValid ( ) const

---— isValid ---—

Is the histogram definition valid

non-valid plot if name or type are undefined

check if type is valid

check if bin numbers are valid

check validity of axes limits NB: if yaxis is left undefined, the limits should be NaN, but (NaN != NaN) is always true, so an extra check is needed

sanity check for 1D, 2D and 3D plots

sanity check for 2D and 3D plots

sanity check for 3D plots

Definition at line 82 of file SinglePlotDefinition.cxx.

83 {
85  if( m_name.empty() or m_type.empty() ) return false;
86 
88  bool sane =
89  ( m_type.find( "TH1" ) != std::string::npos ) or
90  ( m_type.find( "TH2" ) != std::string::npos ) or
91  ( m_type.find( "TH3" ) != std::string::npos ) or
92  ( m_type.find( "TProfile" ) != std::string::npos ) or // 1D and 2D
93  ( m_type.find( "TEfficiency" ) != std::string::npos ); // 1D and 2D
94 
96  const bool sensibleXBins = ( m_nBinsX != 0 ) and ( not std::isnan( m_nBinsX ) );
97  const bool sensibleYBins = ( m_nBinsY != 0 ) and ( not std::isnan( m_nBinsY ) );
98  const bool sensibleZBins = ( m_nBinsZ != 0 ) and ( not std::isnan( m_nBinsZ ) );
99 
103  const bool sensibleXLimits = ( not std::isnan( m_xAxis.first ) ) and
104  ( not std::isnan( m_xAxis.second ) ) and
105  ( m_xAxis.first != m_xAxis.second );
106 
107  const bool sensibleYLimits = ( not std::isnan( m_yAxis.first ) ) and
108  ( not std::isnan( m_yAxis.second ) ) and
109  ( m_yAxis.first != m_yAxis.second );
110 
111  const bool sensibleZLimits = ( not std::isnan( m_zAxis.first ) ) and
112  ( not std::isnan( m_zAxis.second ) ) and
113  ( m_zAxis.first != m_zAxis.second );
114 
116  sane = sane and sensibleXBins and sensibleXLimits;
117 
119  if( m_is2D ) {
120  sane = sane and sensibleYBins and sensibleYLimits;
121 
123  if( m_is3D ) {
124  sane = sane and sensibleZBins and sensibleZLimits;
125  }
126  }
127 
128  return sane;
129 }

◆ name() [1/2]

const std::string& IDTPM::SinglePlotDefinition::name ( ) const
inline

-— getter methods -—

Definition at line 58 of file SinglePlotDefinition.h.

58 { return m_name; }

◆ name() [2/2]

void IDTPM::SinglePlotDefinition::name ( std::string_view  name_s)
inline

-— setter methods -—

These need and are followed by the recomputing of the digest strings

Definition at line 97 of file SinglePlotDefinition.h.

97 { m_name = name_s; digest(); }

◆ nBinsX() [1/2]

unsigned int IDTPM::SinglePlotDefinition::nBinsX ( ) const
inline

Definition at line 64 of file SinglePlotDefinition.h.

64 { return m_nBinsX; }

◆ nBinsX() [2/2]

void IDTPM::SinglePlotDefinition::nBinsX ( float  nBinsX_f)
inline

Definition at line 103 of file SinglePlotDefinition.h.

103 { m_nBinsX = nBinsX_f; digest(); }

◆ nBinsY() [1/2]

unsigned int IDTPM::SinglePlotDefinition::nBinsY ( ) const
inline

Definition at line 65 of file SinglePlotDefinition.h.

65 { return m_nBinsY; }

◆ nBinsY() [2/2]

void IDTPM::SinglePlotDefinition::nBinsY ( float  nBinsY_f)
inline

Definition at line 104 of file SinglePlotDefinition.h.

104 { m_nBinsY = nBinsY_f; digest(); }

◆ nBinsZ() [1/2]

unsigned int IDTPM::SinglePlotDefinition::nBinsZ ( ) const
inline

Definition at line 66 of file SinglePlotDefinition.h.

66 { return m_nBinsZ; }

◆ nBinsZ() [2/2]

void IDTPM::SinglePlotDefinition::nBinsZ ( float  nBinsZ_f)
inline

Definition at line 105 of file SinglePlotDefinition.h.

105 { m_nBinsZ = nBinsZ_f; digest(); }

◆ operator=()

SinglePlotDefinition& IDTPM::SinglePlotDefinition::operator= ( const SinglePlotDefinition )
default

= operator

◆ plotDigest()

const std::string& IDTPM::SinglePlotDefinition::plotDigest ( ) const
inline

Definition at line 88 of file SinglePlotDefinition.h.

88 { return m_plotDigest; }

◆ redoIdDigest()

void IDTPM::SinglePlotDefinition::redoIdDigest ( )

recompute m_identifier


— redoIdDigest —

recompute plot identifier, i.e.: "folder/name" or "name" if folder is empty

reduce: "/folder" -> "folder"

add a slash: "folder" -> "folder/"

Definition at line 137 of file SinglePlotDefinition.cxx.

138 {
139  if( m_folder.empty() ){
141  } else {
143  if( m_folder[0] == '/' ) {
144  m_folder.erase( m_folder.begin() );
145  }
147  if( m_folder.back() != '/' ) m_folder += "/";
149  }
150 }

◆ redoPlotDigest()

void IDTPM::SinglePlotDefinition::redoPlotDigest ( )

recompute m_plotDigest


— redoPlotDigest —

recompute single-line representation of the plot definition

Definition at line 157 of file SinglePlotDefinition.cxx.

158 {
159  std::stringstream ss;
160  ss << m_name << " - " << m_type << " - " << m_title
161  << " - " << m_xTitle << " : (" << m_nBinsX << ", " << m_xAxis.first << ", " << m_xAxis.second << " )"
162  << " - " << m_yTitle << " : (" << m_nBinsY << ", " << m_yAxis.first << ", " << m_yAxis.second << " )"
163  << " - " << m_zTitle << " : (" << m_nBinsZ << ", " << m_zAxis.first << ", " << m_zAxis.second << " )";
164 
165  m_plotDigest = ss.str();
166 }

◆ redoTitleDigest()

void IDTPM::SinglePlotDefinition::redoTitleDigest ( )

recompute m_titleDigest


— redoTitleDigest —

recompute single-line representation of the titles (titles separated by the ';' delimiter)

Definition at line 174 of file SinglePlotDefinition.cxx.

175 {
176  std::stringstream ss;
177  ss << m_title << ";" << m_xTitle << ";" << m_yTitle << ";" << m_zTitle;
178 
179  m_titleDigest = ss.str();
180 }

◆ redoTypeDigest()

void IDTPM::SinglePlotDefinition::redoTypeDigest ( )

recompute m_is*D


— redoTypeDigest —

recompute m_is1D, m_is2D and m_is3D

Definition at line 187 of file SinglePlotDefinition.cxx.

188 {
189  m_is1D = ( m_type.find("TH1") != std::string::npos ) or
190  ( m_type == "TProfile" ) or ( m_type == "TEfficiency" );
191 
192  m_is2D = ( m_type.find("TH2") != std::string::npos ) or
193  ( m_type.find("2D") != std::string::npos );
194 
195  m_is3D = ( m_type.find("TH3") != std::string::npos ) or
196  ( m_type.find("3D") != std::string::npos );
197 }

◆ setEmpty()

void IDTPM::SinglePlotDefinition::setEmpty ( bool  empty = true)
inline

Definition at line 134 of file SinglePlotDefinition.h.

134 { m_empty = empty; }

◆ setxBinLabelsVec()

void IDTPM::SinglePlotDefinition::setxBinLabelsVec ( const std::vector< std::string > &  vec)
inline

Definition at line 121 of file SinglePlotDefinition.h.

121  { if( not vec.empty() ) {
122  m_xTitle = "";
123  m_xBinLabelsVec = vec; m_nBinsX = vec.size();
124  m_xAxis = std::make_pair( 0, m_nBinsX ); digest(); } }

◆ setxBinsVec()

void IDTPM::SinglePlotDefinition::setxBinsVec ( const std::vector< float > &  vec)
inline

Definition at line 112 of file SinglePlotDefinition.h.

112  { if( not vec.empty() ) {
113  m_xBinsVec = vec; m_nBinsX = vec.size() - 1;
114  m_xAxis = std::make_pair( vec.front(), vec.back() ); digest(); } }

◆ setyBinLabelsVec()

void IDTPM::SinglePlotDefinition::setyBinLabelsVec ( const std::vector< std::string > &  vec)
inline

Definition at line 125 of file SinglePlotDefinition.h.

125  { if( not vec.empty() ) {
126  m_yTitle = "";
127  m_yBinLabelsVec = vec; m_nBinsY = vec.size();
128  m_yAxis = std::make_pair( 0, m_nBinsY ); digest(); } }

◆ setyBinsVec()

void IDTPM::SinglePlotDefinition::setyBinsVec ( const std::vector< float > &  vec)
inline

Definition at line 115 of file SinglePlotDefinition.h.

115  { if( not vec.empty() ) {
116  m_yBinsVec = vec; m_nBinsY = vec.size() - 1;
117  m_yAxis = std::make_pair( vec.front(), vec.back() ); digest(); } }

◆ setzBinLabelsVec()

void IDTPM::SinglePlotDefinition::setzBinLabelsVec ( const std::vector< std::string > &  vec)
inline

Definition at line 129 of file SinglePlotDefinition.h.

129  { if( not vec.empty() ) {
130  m_zTitle = "";
131  m_zBinLabelsVec = vec; m_nBinsZ = vec.size();
132  m_zAxis = std::make_pair( 0, m_nBinsZ ); digest(); } }

◆ setzBinsVec()

void IDTPM::SinglePlotDefinition::setzBinsVec ( const std::vector< float > &  vec)
inline

Definition at line 118 of file SinglePlotDefinition.h.

118  { if( not vec.empty() ) {
119  m_zBinsVec = vec; m_nBinsZ = vec.size() - 1;
120  m_zAxis = std::make_pair( vec.front(), vec.back() ); digest(); } }

◆ title() [1/2]

const std::string& IDTPM::SinglePlotDefinition::title ( ) const
inline

Definition at line 60 of file SinglePlotDefinition.h.

60 { return m_title; }

◆ title() [2/2]

void IDTPM::SinglePlotDefinition::title ( std::string_view  title_s)
inline

Definition at line 99 of file SinglePlotDefinition.h.

99 { m_title = title_s; digest(); }

◆ titleDigest()

const std::string& IDTPM::SinglePlotDefinition::titleDigest ( ) const
inline

Definition at line 89 of file SinglePlotDefinition.h.

89 { return m_titleDigest; }

◆ type() [1/2]

const std::string& IDTPM::SinglePlotDefinition::type ( ) const
inline

Definition at line 59 of file SinglePlotDefinition.h.

59 { return m_type; }

◆ type() [2/2]

void IDTPM::SinglePlotDefinition::type ( std::string_view  type_s)
inline

Definition at line 98 of file SinglePlotDefinition.h.

98 { m_type = type_s; digest(); }

◆ xBinLabelsVec()

const std::vector< std::string >& IDTPM::SinglePlotDefinition::xBinLabelsVec ( ) const
inline

Definition at line 82 of file SinglePlotDefinition.h.

82 { return m_xBinLabelsVec; }

◆ xBinsVec()

const std::vector<float>& IDTPM::SinglePlotDefinition::xBinsVec ( ) const
inline

Definition at line 76 of file SinglePlotDefinition.h.

76 { return m_xBinsVec; }

◆ xHigh()

float IDTPM::SinglePlotDefinition::xHigh ( ) const
inline

Definition at line 68 of file SinglePlotDefinition.h.

68 { return m_xAxis.second; }

◆ xLimits()

void IDTPM::SinglePlotDefinition::xLimits ( float  xLow,
float  xHigh 
)
inline

Definition at line 106 of file SinglePlotDefinition.h.

106 { m_xAxis = std::make_pair( xLow, xHigh ); digest(); }

◆ xLow()

float IDTPM::SinglePlotDefinition::xLow ( ) const
inline

Definition at line 67 of file SinglePlotDefinition.h.

67 { return m_xAxis.first; }

◆ xTitle() [1/2]

const std::string& IDTPM::SinglePlotDefinition::xTitle ( ) const
inline

Definition at line 61 of file SinglePlotDefinition.h.

61 { return m_xTitle; }

◆ xTitle() [2/2]

void IDTPM::SinglePlotDefinition::xTitle ( std::string_view  xTitle_s)
inline

Definition at line 100 of file SinglePlotDefinition.h.

100 { m_xTitle = xTitle_s; digest(); }

◆ yBinLabelsVec()

const std::vector< std::string >& IDTPM::SinglePlotDefinition::yBinLabelsVec ( ) const
inline

Definition at line 83 of file SinglePlotDefinition.h.

83 { return m_yBinLabelsVec; }

◆ yBinsVec()

const std::vector<float>& IDTPM::SinglePlotDefinition::yBinsVec ( ) const
inline

Definition at line 77 of file SinglePlotDefinition.h.

77 { return m_yBinsVec; }

◆ yHigh()

float IDTPM::SinglePlotDefinition::yHigh ( ) const
inline

Definition at line 70 of file SinglePlotDefinition.h.

70 { return m_yAxis.second; }

◆ yLimits()

void IDTPM::SinglePlotDefinition::yLimits ( float  yLow,
float  yHigh 
)
inline

Definition at line 107 of file SinglePlotDefinition.h.

107 { m_yAxis = std::make_pair( yLow, yHigh ); digest(); }

◆ yLow()

float IDTPM::SinglePlotDefinition::yLow ( ) const
inline

Definition at line 69 of file SinglePlotDefinition.h.

69 { return m_yAxis.first; }

◆ yTitle() [1/2]

const std::string& IDTPM::SinglePlotDefinition::yTitle ( ) const
inline

Definition at line 62 of file SinglePlotDefinition.h.

62 { return m_yTitle; }

◆ yTitle() [2/2]

void IDTPM::SinglePlotDefinition::yTitle ( std::string_view  yTitle_s)
inline

Definition at line 101 of file SinglePlotDefinition.h.

101 { m_yTitle = yTitle_s; digest(); }

◆ zBinLabelsVec()

const std::vector< std::string >& IDTPM::SinglePlotDefinition::zBinLabelsVec ( ) const
inline

Definition at line 84 of file SinglePlotDefinition.h.

84 { return m_zBinLabelsVec; }

◆ zBinsVec()

const std::vector<float>& IDTPM::SinglePlotDefinition::zBinsVec ( ) const
inline

Definition at line 78 of file SinglePlotDefinition.h.

78 { return m_zBinsVec; }

◆ zHigh()

float IDTPM::SinglePlotDefinition::zHigh ( ) const
inline

Definition at line 72 of file SinglePlotDefinition.h.

72 { return m_zAxis.second; }

◆ zLimits()

void IDTPM::SinglePlotDefinition::zLimits ( float  zLow,
float  zHigh 
)
inline

Definition at line 108 of file SinglePlotDefinition.h.

108 { m_zAxis = std::make_pair( zLow, zHigh ); digest(); }

◆ zLow()

float IDTPM::SinglePlotDefinition::zLow ( ) const
inline

Definition at line 71 of file SinglePlotDefinition.h.

71 { return m_zAxis.first; }

◆ zTitle() [1/2]

const std::string& IDTPM::SinglePlotDefinition::zTitle ( ) const
inline

Definition at line 63 of file SinglePlotDefinition.h.

63 { return m_zTitle; }

◆ zTitle() [2/2]

void IDTPM::SinglePlotDefinition::zTitle ( std::string_view  zTitle_s)
inline

Definition at line 102 of file SinglePlotDefinition.h.

102 { m_zTitle = zTitle_s; digest(); }

Member Data Documentation

◆ m_doLogLinBinsX

bool IDTPM::SinglePlotDefinition::m_doLogLinBinsX
private

Definition at line 164 of file SinglePlotDefinition.h.

◆ m_doLogLinBinsY

bool IDTPM::SinglePlotDefinition::m_doLogLinBinsY
private

Definition at line 164 of file SinglePlotDefinition.h.

◆ m_doLogLinBinsZ

bool IDTPM::SinglePlotDefinition::m_doLogLinBinsZ
private

Definition at line 164 of file SinglePlotDefinition.h.

◆ m_empty

bool IDTPM::SinglePlotDefinition::m_empty
private

status member

Definition at line 170 of file SinglePlotDefinition.h.

◆ m_folder

std::string IDTPM::SinglePlotDefinition::m_folder
private

Definition at line 167 of file SinglePlotDefinition.h.

◆ m_identifier

std::string IDTPM::SinglePlotDefinition::m_identifier
private

derived members, i.e. dependant on main members

Definition at line 173 of file SinglePlotDefinition.h.

◆ m_is1D

bool IDTPM::SinglePlotDefinition::m_is1D
private

Definition at line 176 of file SinglePlotDefinition.h.

◆ m_is2D

bool IDTPM::SinglePlotDefinition::m_is2D
private

Definition at line 176 of file SinglePlotDefinition.h.

◆ m_is3D

bool IDTPM::SinglePlotDefinition::m_is3D
private

Definition at line 176 of file SinglePlotDefinition.h.

◆ m_name

std::string IDTPM::SinglePlotDefinition::m_name
private

main members

Definition at line 159 of file SinglePlotDefinition.h.

◆ m_nBinsX

unsigned int IDTPM::SinglePlotDefinition::m_nBinsX
private

Definition at line 162 of file SinglePlotDefinition.h.

◆ m_nBinsY

unsigned int IDTPM::SinglePlotDefinition::m_nBinsY
private

Definition at line 162 of file SinglePlotDefinition.h.

◆ m_nBinsZ

unsigned int IDTPM::SinglePlotDefinition::m_nBinsZ
private

Definition at line 162 of file SinglePlotDefinition.h.

◆ m_plotDigest

std::string IDTPM::SinglePlotDefinition::m_plotDigest
private

Definition at line 174 of file SinglePlotDefinition.h.

◆ m_title

std::string IDTPM::SinglePlotDefinition::m_title
private

Definition at line 161 of file SinglePlotDefinition.h.

◆ m_titleDigest

std::string IDTPM::SinglePlotDefinition::m_titleDigest
private

Definition at line 175 of file SinglePlotDefinition.h.

◆ m_type

std::string IDTPM::SinglePlotDefinition::m_type
private

Definition at line 160 of file SinglePlotDefinition.h.

◆ m_xAxis

axesLimits_t IDTPM::SinglePlotDefinition::m_xAxis
private

Definition at line 163 of file SinglePlotDefinition.h.

◆ m_xBinLabelsVec

std::vector< std::string > IDTPM::SinglePlotDefinition::m_xBinLabelsVec
private

Definition at line 166 of file SinglePlotDefinition.h.

◆ m_xBinsVec

std::vector<float> IDTPM::SinglePlotDefinition::m_xBinsVec
private

Definition at line 165 of file SinglePlotDefinition.h.

◆ m_xTitle

std::string IDTPM::SinglePlotDefinition::m_xTitle
private

Definition at line 161 of file SinglePlotDefinition.h.

◆ m_yAxis

axesLimits_t IDTPM::SinglePlotDefinition::m_yAxis
private

Definition at line 163 of file SinglePlotDefinition.h.

◆ m_yBinLabelsVec

std::vector< std::string > IDTPM::SinglePlotDefinition::m_yBinLabelsVec
private

Definition at line 166 of file SinglePlotDefinition.h.

◆ m_yBinsVec

std::vector<float> IDTPM::SinglePlotDefinition::m_yBinsVec
private

Definition at line 165 of file SinglePlotDefinition.h.

◆ m_yTitle

std::string IDTPM::SinglePlotDefinition::m_yTitle
private

Definition at line 161 of file SinglePlotDefinition.h.

◆ m_zAxis

axesLimits_t IDTPM::SinglePlotDefinition::m_zAxis
private

Definition at line 163 of file SinglePlotDefinition.h.

◆ m_zBinLabelsVec

std::vector< std::string > IDTPM::SinglePlotDefinition::m_zBinLabelsVec
private

Definition at line 166 of file SinglePlotDefinition.h.

◆ m_zBinsVec

std::vector<float> IDTPM::SinglePlotDefinition::m_zBinsVec
private

Definition at line 165 of file SinglePlotDefinition.h.

◆ m_zTitle

std::string IDTPM::SinglePlotDefinition::m_zTitle
private

Definition at line 161 of file SinglePlotDefinition.h.


The documentation for this class was generated from the following files:
IDTPM::SinglePlotDefinition::setxBinsVec
void setxBinsVec(const std::vector< float > &vec)
Definition: SinglePlotDefinition.h:112
IDTPM::SinglePlotDefinition::m_zTitle
std::string m_zTitle
Definition: SinglePlotDefinition.h:161
IDTPM::SinglePlotDefinition::setzBinsVec
void setzBinsVec(const std::vector< float > &vec)
Definition: SinglePlotDefinition.h:118
IDTPM::SinglePlotDefinition::zBinsVec
const std::vector< float > & zBinsVec() const
Definition: SinglePlotDefinition.h:78
IDTPM::SinglePlotDefinition::m_nBinsX
unsigned int m_nBinsX
Definition: SinglePlotDefinition.h:162
IDTPM::SinglePlotDefinition::m_folder
std::string m_folder
Definition: SinglePlotDefinition.h:167
IDTPM::SinglePlotDefinition::m_type
std::string m_type
Definition: SinglePlotDefinition.h:160
IDTPM::SinglePlotDefinition::m_doLogLinBinsZ
bool m_doLogLinBinsZ
Definition: SinglePlotDefinition.h:164
IDTPM::SinglePlotDefinition::m_xBinsVec
std::vector< float > m_xBinsVec
Definition: SinglePlotDefinition.h:165
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
IDTPM::SinglePlotDefinition::setzBinLabelsVec
void setzBinLabelsVec(const std::vector< std::string > &vec)
Definition: SinglePlotDefinition.h:129
IDTPM::SinglePlotDefinition::redoPlotDigest
void redoPlotDigest()
recompute m_plotDigest
Definition: SinglePlotDefinition.cxx:157
IDTPM::SinglePlotDefinition::digest
void digest()
recompute m_identifier, m_plotDigest, m_titleDigest, m_is*D
Definition: SinglePlotDefinition.h:149
IDTPM::SinglePlotDefinition::redoIdDigest
void redoIdDigest()
recompute m_identifier
Definition: SinglePlotDefinition.cxx:137
IDTPM::SinglePlotDefinition::m_name
std::string m_name
main members
Definition: SinglePlotDefinition.h:159
IDTPM::SinglePlotDefinition::name
const std::string & name() const
Definition: SinglePlotDefinition.h:58
IDTPM::SinglePlotDefinition::m_yBinLabelsVec
std::vector< std::string > m_yBinLabelsVec
Definition: SinglePlotDefinition.h:166
IDTPM::SinglePlotDefinition::isValid
bool isValid() const
Definition: SinglePlotDefinition.cxx:82
IDTPM::SinglePlotDefinition::m_doLogLinBinsY
bool m_doLogLinBinsY
Definition: SinglePlotDefinition.h:164
IDTPM::SinglePlotDefinition::xBinLabelsVec
const std::vector< std::string > & xBinLabelsVec() const
Definition: SinglePlotDefinition.h:82
IDTPM::SinglePlotDefinition::yLow
float yLow() const
Definition: SinglePlotDefinition.h:69
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
IDTPM::SinglePlotDefinition::m_empty
bool m_empty
status member
Definition: SinglePlotDefinition.h:170
IDTPM::SinglePlotDefinition::m_xTitle
std::string m_xTitle
Definition: SinglePlotDefinition.h:161
IDTPM::SinglePlotDefinition::m_yAxis
axesLimits_t m_yAxis
Definition: SinglePlotDefinition.h:163
IDTPM::SinglePlotDefinition::doLogLinBinsY
bool doLogLinBinsY() const
Definition: SinglePlotDefinition.h:74
IDTPM::SinglePlotDefinition::nBinsX
unsigned int nBinsX() const
Definition: SinglePlotDefinition.h:64
IDTPM::SinglePlotDefinition::yBinsVec
const std::vector< float > & yBinsVec() const
Definition: SinglePlotDefinition.h:77
IDTPM::SinglePlotDefinition::setxBinLabelsVec
void setxBinLabelsVec(const std::vector< std::string > &vec)
Definition: SinglePlotDefinition.h:121
IDTPM::SinglePlotDefinition::xHigh
float xHigh() const
Definition: SinglePlotDefinition.h:68
IDTPM::SinglePlotDefinition::m_plotDigest
std::string m_plotDigest
Definition: SinglePlotDefinition.h:174
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
IDTPM::SinglePlotDefinition::m_title
std::string m_title
Definition: SinglePlotDefinition.h:161
IDTPM::SinglePlotDefinition::title
const std::string & title() const
Definition: SinglePlotDefinition.h:60
IDTPM::SinglePlotDefinition::m_identifier
std::string m_identifier
derived members, i.e. dependant on main members
Definition: SinglePlotDefinition.h:173
IDTPM::SinglePlotDefinition::nBinsZ
unsigned int nBinsZ() const
Definition: SinglePlotDefinition.h:66
IDTPM::SinglePlotDefinition::zBinLabelsVec
const std::vector< std::string > & zBinLabelsVec() const
Definition: SinglePlotDefinition.h:84
IDTPM::SinglePlotDefinition::type
const std::string & type() const
Definition: SinglePlotDefinition.h:59
IDTPM::SinglePlotDefinition::m_xBinLabelsVec
std::vector< std::string > m_xBinLabelsVec
Definition: SinglePlotDefinition.h:166
IDTPM::SinglePlotDefinition::m_titleDigest
std::string m_titleDigest
Definition: SinglePlotDefinition.h:175
IDTPM::SinglePlotDefinition::zHigh
float zHigh() const
Definition: SinglePlotDefinition.h:72
IDTPM::SinglePlotDefinition::nBinsY
unsigned int nBinsY() const
Definition: SinglePlotDefinition.h:65
IDTPM::SinglePlotDefinition::m_zBinLabelsVec
std::vector< std::string > m_zBinLabelsVec
Definition: SinglePlotDefinition.h:166
IDTPM::SinglePlotDefinition::yHigh
float yHigh() const
Definition: SinglePlotDefinition.h:70
IDTPM::SinglePlotDefinition::m_nBinsY
unsigned int m_nBinsY
Definition: SinglePlotDefinition.h:162
IDTPM::SinglePlotDefinition::xBinsVec
const std::vector< float > & xBinsVec() const
Definition: SinglePlotDefinition.h:76
IDTPM::SinglePlotDefinition::xLow
float xLow() const
Definition: SinglePlotDefinition.h:67
IDTPM::SinglePlotDefinition::doLogLinBinsZ
bool doLogLinBinsZ() const
Definition: SinglePlotDefinition.h:75
IDTPM::SinglePlotDefinition::m_xAxis
axesLimits_t m_xAxis
Definition: SinglePlotDefinition.h:163
IDTPM::SinglePlotDefinition::setyBinLabelsVec
void setyBinLabelsVec(const std::vector< std::string > &vec)
Definition: SinglePlotDefinition.h:125
IDTPM::SinglePlotDefinition::m_is2D
bool m_is2D
Definition: SinglePlotDefinition.h:176
IDTPM::SinglePlotDefinition::m_zBinsVec
std::vector< float > m_zBinsVec
Definition: SinglePlotDefinition.h:165
IDTPM::SinglePlotDefinition::yBinLabelsVec
const std::vector< std::string > & yBinLabelsVec() const
Definition: SinglePlotDefinition.h:83
IDTPM::SinglePlotDefinition::redoTitleDigest
void redoTitleDigest()
recompute m_titleDigest
Definition: SinglePlotDefinition.cxx:174
IDTPM::SinglePlotDefinition::m_is3D
bool m_is3D
Definition: SinglePlotDefinition.h:176
IDTPM::SinglePlotDefinition::m_is1D
bool m_is1D
Definition: SinglePlotDefinition.h:176
columnar::empty
bool empty() const noexcept
Definition: ObjectRange.h:129
IDTPM::SinglePlotDefinition::setyBinsVec
void setyBinsVec(const std::vector< float > &vec)
Definition: SinglePlotDefinition.h:115
IDTPM::SinglePlotDefinition::xTitle
const std::string & xTitle() const
Definition: SinglePlotDefinition.h:61
IDTPM::SinglePlotDefinition::m_yBinsVec
std::vector< float > m_yBinsVec
Definition: SinglePlotDefinition.h:165
IDTPM::SinglePlotDefinition::m_zAxis
axesLimits_t m_zAxis
Definition: SinglePlotDefinition.h:163
IDTPM::SinglePlotDefinition::m_nBinsZ
unsigned int m_nBinsZ
Definition: SinglePlotDefinition.h:162
IDTPM::SinglePlotDefinition::zLow
float zLow() const
Definition: SinglePlotDefinition.h:71
IDTPM::SinglePlotDefinition::m_yTitle
std::string m_yTitle
Definition: SinglePlotDefinition.h:161
IDTPM::SinglePlotDefinition::m_doLogLinBinsX
bool m_doLogLinBinsX
Definition: SinglePlotDefinition.h:164
IDTPM::SinglePlotDefinition::yTitle
const std::string & yTitle() const
Definition: SinglePlotDefinition.h:62
IDTPM::SinglePlotDefinition::folder
const std::string & folder() const
Definition: SinglePlotDefinition.h:85
IDTPM::SinglePlotDefinition::doLogLinBinsX
bool doLogLinBinsX() const
Definition: SinglePlotDefinition.h:73
IDTPM::SinglePlotDefinition::redoTypeDigest
void redoTypeDigest()
recompute m_is*D
Definition: SinglePlotDefinition.cxx:187
IDTPM::SinglePlotDefinition::zTitle
const std::string & zTitle() const
Definition: SinglePlotDefinition.h:63