Gaudi Framework, version v23r0

Home   Generated: Mon Jan 30 2012
Public Member Functions | Private Attributes

S_module Class Reference

Collaboration diagram for S_module:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 S_module ()
void clear ()
void init (const char *name, const char *architecture, const char *event_name, unsigned int c_mask, unsigned int inv_mask, unsigned int smpl_period)
void set_total (unsigned int total)
unsigned int get_smpl_period ()
unsigned int get_inv_mask ()
unsigned int get_c_mask ()
std::string get_arch ()
std::string get_event ()
void add_sample (const char *index, unsigned int value)
bool get_max (char *index, unsigned int *value)
std::string get_module_name ()
unsigned int get_total_num_samples ()

Private Attributes

std::map< std::string,
unsigned int > 
samples
unsigned int total_num_samples
std::string module_name
std::string arch
std::string event
unsigned int cmask
unsigned int inv
unsigned int sp

Detailed Description

Definition at line 723 of file pfm_gen_analysis.cpp.


Constructor & Destructor Documentation

S_module::S_module (  ) [inline]

Definition at line 736 of file pfm_gen_analysis.cpp.

  {
   clear();
  }

Member Function Documentation

void S_module::add_sample ( const char *  index,
unsigned int  value 
) [inline]

Definition at line 784 of file pfm_gen_analysis.cpp.

  {
   samples[index] += value;
   return;
  }
void S_module::clear ( void   ) [inline]

Definition at line 740 of file pfm_gen_analysis.cpp.

  {
   samples.clear();
   total_num_samples = 0;
   sp = 0;
   module_name = "";
   cmask = 0;
   inv = 0;
   sp = 0;
  }
std::string S_module::get_arch (  ) [inline]

Definition at line 776 of file pfm_gen_analysis.cpp.

  {
   return arch;
  }
unsigned int S_module::get_c_mask (  ) [inline]

Definition at line 772 of file pfm_gen_analysis.cpp.

  {
   return cmask;
  }
std::string S_module::get_event (  ) [inline]

Definition at line 780 of file pfm_gen_analysis.cpp.

  {
   return event;
  }
unsigned int S_module::get_inv_mask (  ) [inline]

Definition at line 768 of file pfm_gen_analysis.cpp.

  {
   return inv;
  }
bool S_module::get_max ( char *  index,
unsigned int *  value 
) [inline]

Definition at line 789 of file pfm_gen_analysis.cpp.

  {
   if(samples.empty()) return false;
   unsigned int cur_max = 0;
   std::map<std::string, unsigned int>::iterator max_pos;
   for(std::map<std::string, unsigned int>::iterator it = samples.begin(); it != samples.end(); ++it)
   {
    if(it->second > cur_max)
    {
     cur_max = it->second;
     max_pos = it;
    }
   }
   strcpy(index, (max_pos->first).c_str());
   *value = max_pos->second;
   samples.erase(max_pos);
   return true;
  }
std::string S_module::get_module_name (  ) [inline]

Definition at line 807 of file pfm_gen_analysis.cpp.

  {
   return module_name;
  }
unsigned int S_module::get_smpl_period (  ) [inline]

Definition at line 764 of file pfm_gen_analysis.cpp.

  {
   return sp;
  }
unsigned int S_module::get_total_num_samples (  ) [inline]

Definition at line 811 of file pfm_gen_analysis.cpp.

  {
   return total_num_samples;
  }
void S_module::init ( const char *  name,
const char *  architecture,
const char *  event_name,
unsigned int  c_mask,
unsigned int  inv_mask,
unsigned int  smpl_period 
) [inline]

Definition at line 750 of file pfm_gen_analysis.cpp.

  {
   module_name = name;
   arch = architecture;
   event = event_name;
   cmask = c_mask;
   inv = inv_mask;
   sp = smpl_period;
  }
void S_module::set_total ( unsigned int  total ) [inline]

Definition at line 759 of file pfm_gen_analysis.cpp.

  {
   total_num_samples = total;
   return;
  }

Member Data Documentation

Definition at line 729 of file pfm_gen_analysis.cpp.

unsigned int S_module::cmask [private]

Definition at line 731 of file pfm_gen_analysis.cpp.

Definition at line 730 of file pfm_gen_analysis.cpp.

unsigned int S_module::inv [private]

Definition at line 732 of file pfm_gen_analysis.cpp.

Definition at line 728 of file pfm_gen_analysis.cpp.

std::map<std::string, unsigned int> S_module::samples [private]

Definition at line 726 of file pfm_gen_analysis.cpp.

unsigned int S_module::sp [private]

Definition at line 733 of file pfm_gen_analysis.cpp.

unsigned int S_module::total_num_samples [private]

Definition at line 727 of file pfm_gen_analysis.cpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Jan 30 2012 13:53:21 for Gaudi Framework, version v23r0 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004