Cat
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
RegisterTest Class Reference

#include <include/RegisterTest.h>

Inheritance diagram for RegisterTest:
Processus Object Attrib

Public Member Functions

 RegisterTest ()
 Standard constructor. More...
 
virtual ~RegisterTest ()
 
virtual StatusCode initialize ()
 Destructor. More...
 
virtual StatusCode execute ()
 
virtual StatusCode finalize ()
 
StatusCode setAddress (long int address)
 
StatusCode setParam (int size, double mean, double sigma)
 
double mean ()
 
double sigma ()
 
- Public Member Functions inherited from Processus
 Processus ()
 Standard constructor. More...
 
virtual ~Processus ()
 Destructor. More...
 
StatusCode startProcessing ()
 
StatusCode endProcessing ()
 
void clean ()
 
void setStorage (std::string storage)
 
Datadata ()
 
std::vector< double > data (unsigned int row)
 
std::vector< double > data (std::string name)
 
Histo1Dhist1d (unsigned int row)
 
Histo2Dhist2d (unsigned int row)
 
void addDataStream (std::string name, std::string title)
 
void addHisto1d (TH1D *h)
 
void addHisto2d (TH2D *h)
 
StatusCode dataFill (int i, double val)
 
StatusCode dataFill (std::string name, double val)
 
std::string storage ()
 
void setElement (Element *element)
 
Elementelement ()
 
void incNErrors ()
 
void setNErrors (unsigned int)
 
unsigned int nErrors ()
 
TFile * rootFile ()
 
void openRootFile ()
 
void closeRootFile ()
 
void startChrono ()
 
void setLogMsg (std::string logMsg)
 
std::string logMsg ()
 
void setState (int state)
 
double elapsedTime ()
 
double elapsedTime (time_t start)
 
- Public Member Functions inherited from Object
 Object ()
 Standard constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string name () const
 
std::string type ()
 
unsigned char id ()
 
std::string title ()
 
void msgSvc (int level, std::string msg, std::string name)
 
void msg (std::string mymsg)
 
void verbose (std::string mymsg)
 
void debug (std::string mymsg)
 
void info (std::string mymsg)
 
void warning (std::string mymsg)
 
void error (std::string mymsg)
 
void fatal (std::string mymsg)
 
void msg (std::string mymsg, std::string name)
 
void verbose (std::string mymsg, std::string name)
 
void debug (std::string mymsg, std::string name)
 
void info (std::string mymsg, std::string name)
 
void warning (std::string mymsg, std::string name)
 
void error (std::string mymsg, std::string name)
 
void fatal (std::string mymsg, std::string name)
 
void setName (std::string name)
 
void setType (std::string type)
 
void setId (unsigned char id)
 
void setTitle (std::string title)
 
void setDllName (std::string dllName)
 
std::string dllName ()
 
- Public Member Functions inherited from Attrib
 Attrib ()
 Standard constructor. More...
 
virtual ~Attrib ()
 Destructor. More...
 
bool is (int attribut)
 
void add (int attribut)
 
void remove (int attribut)
 
std::string attributs ()
 

Protected Member Functions

RegisterTestclone ()
 

Private Attributes

TRandom * m_rnd
 
TH1D * m_write
 
TH1D * m_read
 
TH1D * m_error
 
unsigned int m_address
 
unsigned int m_size
 
double m_mean
 
double m_sigma
 

Additional Inherited Members

- Public Types inherited from Processus
enum  states { ERR =-1, NOT_OK, OK }
 
- Public Types inherited from Attrib
enum  Attribut {
  UNDEFINED, PASSIVE, ACTIVE, INTERFACE,
  IO, IODATA, ELEMENT, HARDWARE,
  PROCESSUS, SOFTWARE
}
 
- Protected Attributes inherited from Processus
Elementm_element
 
- Protected Attributes inherited from Attrib
std::string m_attribString [10]
 

Detailed Description

Author
Frederic Machefert
Date
2010-01-07

Definition at line 18 of file RegisterTest.h.

Constructor & Destructor Documentation

◆ RegisterTest()

RegisterTest::RegisterTest ( )

Standard constructor.

Definition at line 23 of file RegisterTest.cpp.

References Object::setName(), Object::setTitle(), and Object::setType().

Referenced by clone().

23  :
24  m_mean (30000.),
25  m_sigma(10000.)
26  {
27  setName ( "RegisterTest" );
28  setType ( "Register" );
29  setTitle( "Register test" );
30 }
void setName(std::string name)
Definition: Object.h:51
double m_mean
Definition: RegisterTest.h:58
void setType(std::string type)
Definition: Object.h:52
void setTitle(std::string title)
Definition: Object.h:54
double m_sigma
Definition: RegisterTest.h:58

◆ ~RegisterTest()

virtual RegisterTest::~RegisterTest ( )
inlinevirtual

Definition at line 23 of file RegisterTest.h.

References execute(), finalize(), and initialize().

23 {};

Member Function Documentation

◆ clone()

RegisterTest* RegisterTest::clone ( )
inlineprotectedvirtual

processus termination virtual function

Implements Processus.

Definition at line 50 of file RegisterTest.h.

References RegisterTest().

50  {
51  return new RegisterTest (*this);
52  }
RegisterTest()
Standard constructor.

◆ execute()

StatusCode RegisterTest::execute ( )
virtual

processus execution virtual function

Implements Processus.

Definition at line 54 of file RegisterTest.cpp.

References StatusCode::SUCCESS.

Referenced by ~RegisterTest().

54  {
55  /*
56  // fetch the usb interface
57  Register *reg=dynamic_cast<Register*>( element() );
58  IOdata::WordSize size=reg->io()->wordSize();
59  if(IOdata::Byte!=size){
60  warning("Cannot perform test on a ");
61  return StatusCode::FAILURE;
62  }
63  U8 *buffer=reg->io()->dataU8(write);
64 
65  // prepare vector to be written
66  U8 write[m_size];
67  U8 read[m_size];
68  for (unsigned int i=0; i<m_size; ++i){
69  write[i]=(U16)(m_rnd->Gaus(m_mean,m_sigma));
70  }
71 
72  // write / read and measure times
73  float tw,tr;
74  clock_t start;
75  start=clock();
76  reg->write()
77  tw=elapsedTime(start);
78  start=clock();
79  reg->read()
80  tr=elapsedTime(start);
81  dataFill("TimeWrite",tw);
82  dataFill("TimeRead",tr);
83 
84  // store values and check errors
85  float w,r;
86  for (unsigned int i=0; i<m_size; ++i){
87  w=write[i];
88  r=read[i];
89  dataFill("Write",w);
90  m_write->Fill(w);
91  m_read->Fill(r);
92  if (w!=r){
93  warning("Error!");
94  m_error->Fill(w);
95  dataFill("ErrorWrite",w);
96  dataFill("ErrorRead",r);
97  }
98  }
99  */
100  return StatusCode::SUCCESS;
101 }

◆ finalize()

StatusCode RegisterTest::finalize ( )
virtual

processus termination virtual function

Implements Processus.

Definition at line 106 of file RegisterTest.cpp.

References Processus::closeRootFile(), and StatusCode::SUCCESS.

Referenced by ~RegisterTest().

106  {
107  closeRootFile(); // Deletes the histos -> do not make it yourself !!!
108  return StatusCode::SUCCESS;
109 }
void closeRootFile()
Definition: Processus.cpp:160

◆ initialize()

StatusCode RegisterTest::initialize ( )
virtual

Destructor.

Implements Processus.

Definition at line 35 of file RegisterTest.cpp.

References Processus::addDataStream(), m_error, m_read, m_rnd, m_write, Processus::openRootFile(), and StatusCode::SUCCESS.

Referenced by ~RegisterTest().

35  {
36  openRootFile ();
37  m_write=new TH1D( "Write" , "Write" , 1000 , 0. , 65535. );
38  m_read =new TH1D( "Read" , "Read" , 1000 , 0. , 65535. );
39  m_error=new TH1D( "Error" , "Error" , 1000 , 0. , 65535. );
40  m_rnd =new TRandom();
41  addDataStream("Write","Written values");
42  addDataStream("ErrorWrite","Error - Written values if Error");
43  addDataStream("ErrorRead","Error - Read values if Error");
44  addDataStream("TimeWrite","Time to write");
45  addDataStream("TimeRead","Time to read");
46  // addHisto1d( m_write );
47  // addHisto1d( m_read );
48  return StatusCode::SUCCESS;
49 }
void openRootFile()
Definition: Processus.cpp:146
void addDataStream(std::string name, std::string title)
Definition: Processus.h:153
TH1D * m_read
Definition: RegisterTest.h:56
TH1D * m_error
Definition: RegisterTest.h:56
TH1D * m_write
Definition: RegisterTest.h:56
TRandom * m_rnd
Definition: RegisterTest.h:55

◆ mean()

double RegisterTest::mean ( )
inline

Definition at line 41 of file RegisterTest.h.

References m_mean.

Referenced by setParam().

41  {
42  return m_mean;
43  }
double m_mean
Definition: RegisterTest.h:58

◆ setAddress()

StatusCode RegisterTest::setAddress ( long int  address)
inline

Definition at line 29 of file RegisterTest.h.

References m_address, and StatusCode::SUCCESS.

29  {
30  m_address=address;
31  return StatusCode::SUCCESS;
32  }
unsigned int m_address
Definition: RegisterTest.h:57

◆ setParam()

StatusCode RegisterTest::setParam ( int  size,
double  mean,
double  sigma 
)
inline

Definition at line 34 of file RegisterTest.h.

References m_mean, m_sigma, m_size, mean(), sigma(), cat::size, and StatusCode::SUCCESS.

34  {
35  m_size=size;
36  m_mean=mean;
37  m_sigma=sigma;
38  return StatusCode::SUCCESS;
39  }
def size
Definition: cat.py:38
double mean()
Definition: RegisterTest.h:41
double m_mean
Definition: RegisterTest.h:58
double sigma()
Definition: RegisterTest.h:45
unsigned int m_size
Definition: RegisterTest.h:57
double m_sigma
Definition: RegisterTest.h:58

◆ sigma()

double RegisterTest::sigma ( )
inline

Definition at line 45 of file RegisterTest.h.

References m_mean.

Referenced by setParam().

45  {
46  return m_mean;
47  }
double m_mean
Definition: RegisterTest.h:58

Member Data Documentation

◆ m_address

unsigned int RegisterTest::m_address
private

Definition at line 57 of file RegisterTest.h.

Referenced by setAddress().

◆ m_error

TH1D * RegisterTest::m_error
private

Definition at line 56 of file RegisterTest.h.

Referenced by initialize().

◆ m_mean

double RegisterTest::m_mean
private

Definition at line 58 of file RegisterTest.h.

Referenced by mean(), setParam(), and sigma().

◆ m_read

TH1D * RegisterTest::m_read
private

Definition at line 56 of file RegisterTest.h.

Referenced by initialize().

◆ m_rnd

TRandom* RegisterTest::m_rnd
private

Definition at line 55 of file RegisterTest.h.

Referenced by initialize().

◆ m_sigma

double RegisterTest::m_sigma
private

Definition at line 58 of file RegisterTest.h.

Referenced by setParam().

◆ m_size

unsigned int RegisterTest::m_size
private

Definition at line 57 of file RegisterTest.h.

Referenced by setParam().

◆ m_write

TH1D* RegisterTest::m_write
private

Definition at line 56 of file RegisterTest.h.

Referenced by initialize().


The documentation for this class was generated from the following files: