CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Attributes | Friends

cscdqm::HistoDef Class Reference

Abstract Base Histogram Definition. More...

#include <CSCDQM_HistoDef.h>

Inheritance diagram for cscdqm::HistoDef:
cscdqm::CSCHistoDef cscdqm::DDUHistoDef cscdqm::EMUHistoDef cscdqm::ParHistoDef

List of all members.

Public Member Functions

virtual const HwId getAddId () const
 Get CSC Additional ID (used to store Layer, CLCT, ALCT and other identifiers.
virtual const HwId getCrateId () const
 Get CSC Crate ID.
virtual const HwId getDDUId () const
 Get DDU ID.
virtual const HwId getDMBId () const
 Get CSC DMB ID.
const std::string getFullPath () const
 Get full path of the histogram. It is being constructed by appending path and histogam name.
const HistoNamegetHistoName () const
 Get raw histogram name.
const HistoId getId () const
 Get Histogram ID.
virtual const std::string getName () const
 Get processed histogram name. It can include additional parameter in formated name. This Name is being constructed from raw name and additional parameter.
virtual const std::string getPath () const
 Get path part of the histogram (used only for DDUs and CSCs)
 HistoDef (const HistoId p_id)
 Base constructor.
const bool operator< (const HistoDef &t) const
 Less (<) operator.
const HistoDefoperator= (const HistoDef &t)
 Assignment (=) operator.
const bool operator== (const HistoDef &t) const
 Comparison (==) operator.
virtual const std::string processTitle (const std::string &p_title) const
 Process Title by Adding appropriate ID.
virtual ~HistoDef ()
 Base virtual destructor.

Static Public Member Functions

static const bool getHistoIdByName (const std::string &p_name, HistoId &p_id)
 Get Histogram ID by name.
static const std::string getHistoKeyById (const HistoId &p_id)
 Get Histogram key name by id.
static const std::string processName (const HistoName &p_name, const HwId p_id)
 Process name by applying ID to d pattern (pattern is stored in REGEXP_ONDEMAND)

Private Attributes

HistoId id

Friends

std::ostream & operator<< (std::ostream &out, const HistoDef &t)
 Printing (<<) operator that prints hisotgram full path.

Detailed Description

Abstract Base Histogram Definition.

Definition at line 59 of file CSCDQM_HistoDef.h.


Constructor & Destructor Documentation

cscdqm::HistoDef::HistoDef ( const HistoId  p_id) [inline]

Base constructor.

Parameters:
p_hnameRaw histogram name by HistoName
Returns:

Definition at line 73 of file CSCDQM_HistoDef.h.

: id(p_id) { }
virtual cscdqm::HistoDef::~HistoDef ( ) [inline, virtual]

Base virtual destructor.

Definition at line 78 of file CSCDQM_HistoDef.h.

{ }

Member Function Documentation

virtual const HwId cscdqm::HistoDef::getAddId ( ) const [inline, virtual]

Get CSC Additional ID (used to store Layer, CLCT, ALCT and other identifiers.

Returns:
CSC Additional ID

Reimplemented in cscdqm::CSCHistoDef.

Definition at line 183 of file CSCDQM_HistoDef.h.

Referenced by cscdqm::Cache::get(), cscdqm::Dispatcher::getHisto(), operator<(), operator==(), and cscdqm::Cache::put().

{ return  0; }
virtual const HwId cscdqm::HistoDef::getCrateId ( ) const [inline, virtual]

Get CSC Crate ID.

Returns:
CSC Crate ID

Reimplemented in cscdqm::CSCHistoDef.

Definition at line 170 of file CSCDQM_HistoDef.h.

Referenced by cscdqm::Cache::get(), cscdqm::Dispatcher::getHisto(), operator<(), operator==(), and cscdqm::Cache::put().

{ return  0; }
virtual const HwId cscdqm::HistoDef::getDDUId ( ) const [inline, virtual]

Get DDU ID.

Returns:
DDU ID

Reimplemented in cscdqm::DDUHistoDef.

Definition at line 189 of file CSCDQM_HistoDef.h.

Referenced by cscdqm::Cache::get(), cscdqm::Dispatcher::getHisto(), operator<(), operator==(), and cscdqm::Cache::put().

{ return  0; }
virtual const HwId cscdqm::HistoDef::getDMBId ( ) const [inline, virtual]

Get CSC DMB ID.

Returns:
CSC DMB ID

Reimplemented in cscdqm::CSCHistoDef.

Definition at line 176 of file CSCDQM_HistoDef.h.

Referenced by cscdqm::Cache::get(), cscdqm::Dispatcher::getHisto(), operator<(), operator==(), and cscdqm::Cache::put().

{ return  0; }
const std::string cscdqm::HistoDef::getFullPath ( ) const [inline]

Get full path of the histogram. It is being constructed by appending path and histogam name.

Returns:
full path name of the histogram (processed)

Definition at line 105 of file CSCDQM_HistoDef.h.

References getName(), getPath(), and path().

Referenced by cscdqm::Collection::book().

                                          {
        std::string path(getPath());
        if (path.size() > 0) path.append("/");
        path.append(getName());
        return path;
      }
static const bool cscdqm::HistoDef::getHistoIdByName ( const std::string &  p_name,
HistoId p_id 
) [inline, static]

Get Histogram ID by name.

Parameters:
p_nameHistogram name
p_idId to be filled in (return value)
Returns:
true if ID was found, false - otherwise

Definition at line 206 of file CSCDQM_HistoDef.h.

References i, h::names, and h::namesSize.

Referenced by cscdqm::Collection::bookCSCHistos(), cscdqm::Collection::bookDDUHistos(), cscdqm::Collection::bookEMUHistos(), and CSCOfflineClient::endRun().

                                                                                 {
        for (HistoId i = 0; i < h::namesSize; i++) {
          if (p_name.compare(h::names[i]) == 0) {
            p_id = i;
            return true;
          }
        }
        return false;
      }
static const std::string cscdqm::HistoDef::getHistoKeyById ( const HistoId p_id) [inline, static]

Get Histogram key name by id.

Parameters:
p_idHistogram id
Returns:
Histogram key name

Definition at line 221 of file CSCDQM_HistoDef.h.

References h::keys.

                                                                  {
        return h::keys[p_id];
      }
const HistoName& cscdqm::HistoDef::getHistoName ( ) const [inline]

Get raw histogram name.

Returns:
Raw histogram name

Reimplemented in cscdqm::ParHistoDef.

Definition at line 90 of file CSCDQM_HistoDef.h.

References id, and h::names.

Referenced by cscdqm::Dispatcher::getHisto(), getName(), cscdqm::CSCHistoDef::getName(), and cscdqm::HistoBookRequest::HistoBookRequest().

{ return h::names[id]; }
const HistoId cscdqm::HistoDef::getId ( ) const [inline]

Get Histogram ID.

Returns:
Histogram ID

Definition at line 84 of file CSCDQM_HistoDef.h.

References id.

Referenced by cscdqm::Cache::get(), cscdqm::Dispatcher::getHisto(), operator<(), operator=(), operator==(), and cscdqm::Cache::put().

{ return id; }
virtual const std::string cscdqm::HistoDef::getName ( ) const [inline, virtual]

Get processed histogram name. It can include additional parameter in formated name. This Name is being constructed from raw name and additional parameter.

Returns:
processed full name of the histogram

Reimplemented in cscdqm::CSCHistoDef.

Definition at line 98 of file CSCDQM_HistoDef.h.

References getHistoName().

Referenced by cscdqm::Collection::book(), and getFullPath().

{ return getHistoName(); }
virtual const std::string cscdqm::HistoDef::getPath ( ) const [inline, virtual]

Get path part of the histogram (used only for DDUs and CSCs)

Returns:
path part of the histogram

Reimplemented in cscdqm::DDUHistoDef, and cscdqm::CSCHistoDef.

Definition at line 164 of file CSCDQM_HistoDef.h.

Referenced by getFullPath(), and cscdqm::LookupKeyType::LookupKeyType().

{ return ""; }
const bool cscdqm::HistoDef::operator< ( const HistoDef t) const [inline]

Less (<) operator.

Parameters:
tHistogram to be compared to
Returns:
true if t is "more" than this

Definition at line 141 of file CSCDQM_HistoDef.h.

References getAddId(), getCrateId(), getDDUId(), getDMBId(), and getId().

                                                     {
        if (getId()      < t.getId())       return true; 
        if (getDDUId()   < t.getDDUId())    return true;
        if (getCrateId() < t.getCrateId())  return true;
        if (getDMBId()   < t.getDMBId())    return true;
        if (getAddId()   < t.getAddId())    return true;
        return false;
      }
const HistoDef& cscdqm::HistoDef::operator= ( const HistoDef t) [inline]

Assignment (=) operator.

Parameters:
tHistogram to be taken data from
Returns:
resulting histogram (this)

Definition at line 131 of file CSCDQM_HistoDef.h.

References getId().

                                                    {
        id  = t.getId();
        return *this;
      }
const bool cscdqm::HistoDef::operator== ( const HistoDef t) const [inline]

Comparison (==) operator.

Parameters:
tHistogram to be compared to
Returns:
true if HistoDefs match, false - otherwise

Definition at line 117 of file CSCDQM_HistoDef.h.

References getAddId(), getCrateId(), getDDUId(), getDMBId(), and getId().

                                                      {
        if (getId()      != t.getId())      return false;
        if (getDDUId()   != t.getDDUId())   return false;
        if (getCrateId() != t.getCrateId()) return false;
        if (getDMBId()   != t.getDMBId())   return false;
        if (getAddId()   != t.getAddId())   return false;
        return true;
      }
static const std::string cscdqm::HistoDef::processName ( const HistoName p_name,
const HwId  p_id 
) [inline, static]

Process name by applying ID to d pattern (pattern is stored in REGEXP_ONDEMAND)

Parameters:
p_nameString value to process
p_idID to include
Returns:
processed value

Definition at line 231 of file CSCDQM_HistoDef.h.

References cscdqm::Utility::regexMatch(), and cscdqm::REGEXP_ONDEMAND().

Referenced by cscdqm::CSCHistoDef::getName(), cscdqm::CSCHistoDef::processTitle(), and cscdqm::DDUHistoDef::processTitle().

                                                                                   {
        if (Utility::regexMatch(REGEXP_ONDEMAND, p_name)) {
          return Form(p_name.c_str(), p_id);
        }
        return p_name;
      }
virtual const std::string cscdqm::HistoDef::processTitle ( const std::string &  p_title) const [inline, virtual]

Process Title by Adding appropriate ID.

Parameters:
p_titleTitle to process
Returns:
processed title

Reimplemented in cscdqm::DDUHistoDef, and cscdqm::CSCHistoDef.

Definition at line 196 of file CSCDQM_HistoDef.h.

Referenced by cscdqm::Collection::book().

                                                                           {
        return p_title;
      }

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const HistoDef t 
) [friend]

Printing (<<) operator that prints hisotgram full path.

Parameters:
outoutput stream
tHistogram type to be printed
Returns:
output stream

Definition at line 156 of file CSCDQM_HistoDef.h.

                                                                        {
        return out << t.getFullPath();
      }

Member Data Documentation

Histogram Id

Definition at line 64 of file CSCDQM_HistoDef.h.

Referenced by getHistoName(), and getId().