CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
memory Class Reference

#include <vlib.h>

Public Member Functions

 memory ()
 
Signaloperator[] (Signal)
 
void reg (int, int, int, int, const char *)
 
void reg (int nup, int ndown, const char *rname)
 
 ~memory ()
 

Protected Attributes

int down
 
Signalr
 
int up
 

Detailed Description

Definition at line 178 of file vlib.h.

Constructor & Destructor Documentation

memory::memory ( )
inline

Definition at line 180 of file vlib.h.

References Signal::r, and Signal::reg().

180 { r = nullptr; };
Signal * r
Definition: vlib.h:194
memory::~memory ( )

Definition at line 874 of file vlib.cc.

References mps_fire::i, operator[](), and Signal::r.

874  {
875  if (r != nullptr)
876  delete[] r;
877  r = nullptr;
878 }
Signal * r
Definition: vlib.h:194

Member Function Documentation

Signal & memory::operator[] ( Signal  i)

Definition at line 883 of file vlib.cc.

References dbgmsg, down, Signal::getval(), Skims_PA_cff::name, Signal::r, and up.

Referenced by ~memory().

885 {
886 #ifdef VGEN
887  string ln;
888  ln = name + "[" + i.getname() + "]";
889  r[0].setname(ln);
890  r[0].setorname(ln);
891  return r[0];
892 #else
893  rval ind = i.getval();
894 #ifdef _VDEBUG
895  if (ind < down || ind > up) {
896  dbgmsg("Memory index out of range: index: " << ind << ", range: [" << up << ":" << down << "]. ");
897  return r[down];
898  } else
899 #endif
900  return r[ind - down];
901 #endif
902 }
int down
Definition: vlib.h:195
rval getval()
Definition: vlib.cc:415
#define dbgmsg(a)
Definition: vlib.cc:9
int up
Definition: vlib.h:195
unsigned long long int rval
Definition: vlib.h:21
Signal * r
Definition: vlib.h:194
void memory::reg ( int  high,
int  low,
int  nup,
int  ndown,
const char *  rname 
)

Definition at line 840 of file vlib.cc.

References gather_cfg::cout, TauDecayModes::dec, down, mps_fire::i, Skims_PA_cff::name, Signal::r, rname, and up.

840  {
841  int i;
842  if (nup > ndown) {
843  up = nup;
844  down = ndown;
845  } else {
846  up = ndown;
847  down = nup;
848  }
849  if (r == nullptr) {
850  r = new Signal[up - down + 1];
851  for (i = 0; i <= up - down; ++i) {
852  r[i].initreg(high, low, "");
853  r[i].setr(0);
854  }
855  } else {
856  for (i = 0; i <= up - down; ++i) {
857  r[i].initreg(high, low, "");
858  }
859  }
860 #ifdef VGEN
861  name = rname;
862  if (high == low)
863  std::cout << glc.getmargin() << "reg " << name << " [" << dec << up << ":" << down << "]"
864  << ";\n"
865  << flush;
866  else
867  std::cout << glc.getmargin() << "reg "
868  << "[" << dec << high << ":" << low << "] " << name << " [" << dec << up << ":" << down << "]"
869  << ";\n"
870  << flush;
871 #endif
872 }
void setr(rval rv)
Definition: vlib.h:57
int down
Definition: vlib.h:195
globcontrol glc
Definition: vlib.cc:5
int up
Definition: vlib.h:195
void initreg(int, int, const char *)
Definition: vlib.cc:766
const G4String rname[NREG]
Signal * r
Definition: vlib.h:194
Definition: vlib.h:28
void memory::reg ( int  nup,
int  ndown,
const char *  rname 
)
inline

Definition at line 183 of file vlib.h.

References Skims_PA_cff::name, operator[](), reg(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by reg().

183 { reg(0, 0, nup, ndown, rname); };
void reg(int, int, int, int, const char *)
Definition: vlib.cc:840
const G4String rname[NREG]

Member Data Documentation

int memory::down
protected

Definition at line 195 of file vlib.h.

Signal* memory::r
protected

Definition at line 194 of file vlib.h.

int memory::up
protected

Definition at line 195 of file vlib.h.