Cat
Public Types | Public Member Functions | Private Attributes | List of all members
IOobject Class Reference

#include <inc/IOobject.h>

Inheritance diagram for IOobject:
Element Hierarchy Object Attrib RAM Register

Public Types

typedef unsigned long U32
 
typedef unsigned short U16
 
typedef unsigned char U8
 
- Public Types inherited from Attrib
enum  Attribut {
  UNDEFINED, PASSIVE, ACTIVE, INTERFACE,
  IO, IODATA, ELEMENT, HARDWARE,
  PROCESSUS, SOFTWARE
}
 

Public Member Functions

 IOobject ()
 Standard constructor. More...
 
virtual ~IOobject ()
 Destructor. More...
 
void help ()
 
void reset ()
 
void update ()
 
virtual StatusCode init ()
 
IOdata * io ()
 
virtual StatusCode read ()
 
virtual StatusCode write ()
 
void setAddress (U32 address)
 
U32 address ()
 
void dump ()
 
- Public Member Functions inherited from Element
 Element ()
 Standard constructor. More...
 
virtual ~Element ()
 Destructor. More...
 
void recursiveInitElement ()
 
void recursiveInitCommunications ()
 
StatusCode setConnection (Hierarchy *)
 
Hierarchy * connection ()
 
- Public Member Functions inherited from Hierarchy
 Hierarchy ()
 Standard constructor. More...
 
virtual ~Hierarchy ()
 Destructor. More...
 
void clear ()
 
void setParent (Hierarchy *parent)
 
Hierarchy * parent ()
 
Hierarchy * parent (std::string)
 
Hierarchy * origin ()
 
virtual void addChild (Hierarchy *element)
 
std::vector< Hierarchy * > children ()
 
Hierarchy * child (std::string)
 
Hierarchy * childTyped (std::string)
 
unsigned long numberOfChildren ()
 
bool hasChildren ()
 
void delChild (Hierarchy *)
 
void delChild (std::string)
 
std::string path (std::string=std::string(""))
 
std::string pathTyped (std::string=std::string(""))
 
void tree (std::string indent=std::string(""))
 
void tree ()
 
- 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 ()
 

Private Attributes

IOdata * m_io
 

Additional Inherited Members

- Protected Attributes inherited from Element
Hierarchy * m_connection
 
- Protected Attributes inherited from Attrib
std::string m_attribString [10]
 

Detailed Description

Author
Date
2006-10-23

Definition at line 17 of file IOobject.h.

Member Typedef Documentation

◆ U16

typedef unsigned short IOobject::U16

Definition at line 20 of file IOobject.h.

◆ U32

typedef unsigned long IOobject::U32

Definition at line 19 of file IOobject.h.

◆ U8

typedef unsigned char IOobject::U8

Definition at line 21 of file IOobject.h.

Constructor & Destructor Documentation

◆ IOobject()

IOobject::IOobject ( )

Standard constructor.

Definition at line 17 of file IOobject.cpp.

References Attrib::add(), Attrib::ELEMENT, Attrib::IO, m_io, Object::setName(), and Object::setType().

17  {
18  setName("IOobject");
19  setType("IOobject");
21  m_io=new IOdata();
22 }
void add(int attribut)
Definition: Attrib.h:67
void setName(std::string name)
Definition: Object.h:51
IOdata * m_io
Definition: IOobject.h:99
void setType(std::string type)
Definition: Object.h:52
Definition: IOdata.h:17

◆ ~IOobject()

IOobject::~IOobject ( )
virtual

Destructor.

Definition at line 26 of file IOobject.cpp.

References m_io.

26  {
27  delete m_io;
28 }
IOdata * m_io
Definition: IOobject.h:99

Member Function Documentation

◆ address()

U32 IOobject::address ( )
inline

Definition at line 88 of file IOobject.h.

References IOdata::address(), and m_io.

Referenced by BOOST_PYTHON_MODULE().

88  {
89  return m_io->address();
90  }
U32 address()
Definition: IOdata.h:59
IOdata * m_io
Definition: IOobject.h:99

◆ dump()

void IOobject::dump ( )
inline

Definition at line 92 of file IOobject.h.

References IOdata::dump(), and m_io.

Referenced by BOOST_PYTHON_MODULE(), and FePGA::resetUsb().

92  {
93  m_io->dump(0);
94  }
void dump(unsigned int printout=0)
Definition: IOdata.cpp:94
IOdata * m_io
Definition: IOobject.h:99

◆ help()

void IOobject::help ( )
inlinevirtual

printout help for the element

Implements Element.

Reimplemented in RAM.

Definition at line 31 of file IOobject.h.

References Object::info(), and Object::name().

Referenced by BOOST_PYTHON_MODULE().

31 { info("IOobject "+name()+". No help.","IOobject::help"); };
void info(std::string mymsg)
Definition: Object.h:38
std::string name() const
Definition: Object.h:28

◆ init()

virtual StatusCode IOobject::init ( )
inlinevirtual

init the component

Returns
void

Implements Element.

Definition at line 54 of file IOobject.h.

References StatusCode::FAILURE, Object::fatal(), Element::m_connection, Hierarchy::parent(), Element::setConnection(), and StatusCode::SUCCESS.

Referenced by BOOST_PYTHON_MODULE().

54  {
55  if (0==m_connection){
56  if (0==this->parent()){
57  fatal("Cannot define connection for IOobject. No parent found.",
58  "IOobject::init");
59  return StatusCode::FAILURE;
60  }
61  return setConnection(this->parent());
62  }
63  else return StatusCode::SUCCESS;
64  };
Hierarchy * m_connection
Definition: Element.h:70
StatusCode setConnection(Hierarchy *)
Definition: Element.cpp:55
Hierarchy * parent()
Definition: Hierarchy.h:28
void fatal(std::string mymsg)
Definition: Object.h:41

◆ io()

IOdata* IOobject::io ( )
inline

Definition at line 66 of file IOobject.h.

References m_io.

Referenced by A3PE::A3PE(), BOOST_PYTHON_MODULE(), UsbSpiBus::clockDivider(), A3PE::clockDivision(), LSDelayChipV1::configRegBulkRead(), LSDelayChipV1::configRegBulkWrite(), UsbSpiBus::ctrlWd(), Acquisition::decodeFormat(), A3PE::dumpFromAX(), A3PE::dumpPattern(), A3PE::dumpStorage(), A3PE::dumpToAX(), A3PE::dumpTrigger(), A3PE::enableStorage(), StorageFifo::execute(), StorageFifoAcquisition::execute(), TestUSB::execute(), SeqPGA::extTrig(), A3PE::fifoDepth(), A3PE::fifoLatency(), Register::getBit(), FePGA::i2cAdd(), SeqPGA::i2cAdd(), FePGA::i2cData(), SeqPGA::i2cData(), FePGA::i2cGBTSCA(), SeqPGA::i2cGBTSCA(), FePGA::i2cRead(), SeqPGA::i2cRead(), FePGA::i2cWrite(), SeqPGA::i2cWrite(), ICECALv3::ICECALv3(), ICPhaser::ICPhaser(), A3PE_BitFlip::initialize(), A3PE::latencyAX(), SeqPGA::ledEnable(), A3PE::lengthAX(), A3PE::loadFromAX(), A3PE::loadPattern(), A3PE::loadStorage(), A3PE::loadToAX(), A3PE::loadTrigger(), FePGA::MakeRAM(), FePGA::MakeRegister(), A3PE::nTrigger(), Phaser::Phaser(), A3PE::pipeline(), Proto40MHz_v1::Proto40MHz_v1(), RAM::raz(), UsbI2cBus::read(), Phaser::read(), ICPhaser::read(), UsbSpiBus::read(), FePGA::reset(), SeqPGA::reset(), ICPhaser::reset(), A3PE::reset(), SeqPGA::resetSpi(), FePGA::resetUsb(), SeqPGA::SeqPGA(), A3PE::setAddFromAXRam(), A3PE::setAddToAXRam(), Register::setBit(), UsbSpiBus::setClockDivider(), A3PE::setClockDivision(), SeqPGA::setExtTrig(), A3PE::setFifoDepth(), A3PE::setFifoLatency(), FePGA::setI2cAdd(), SeqPGA::setI2cAdd(), FePGA::setI2cGBTSCA(), SeqPGA::setI2cGBTSCA(), A3PE::setLatencyAX(), SeqPGA::setLedEnable(), A3PE::setLengthAX(), A3PE::setNTrigger(), A3PE::setPipeline(), RAM::setSize(), FePGA::setSpiAdd(), SeqPGA::setSpiAdd(), SeqPGA::setSpiEnable(), SeqPGA::setSpiGBTSCA(), FePGA::setSpiGBTSCA(), A3PE::setTriggerDelay(), A3PE::setTriggerRate(), SeqPGA::spiAdd(), SeqPGA::spiEnable(), SeqPGA::spiGBTSCA(), FePGA::spiGBTSCA(), FePGA::spiRead(), ICECALv3::spiRead(), SeqPGA::spiRead(), FePGA::spiWrite(), ICECALv3::spiWrite(), SeqPGA::spiWrite(), ICPhaser::status(), A3PE::triggerDelay(), A3PE::triggerRate(), UsbI2cBus::UsbI2cBus(), UsbSpiBus::UsbSpiBus(), UsbI2cBus::write(), Phaser::write(), ICPhaser::write(), and UsbSpiBus::write().

66  {
67  return m_io;
68  }
IOdata * m_io
Definition: IOobject.h:99

◆ read()

virtual StatusCode IOobject::read ( )
inlinevirtual

Read the IOobject

Definition at line 73 of file IOobject.h.

References Element::connection(), and m_io.

Referenced by BOOST_PYTHON_MODULE(), A3PE::clockDivision(), LSDelayChipV1::configRegBulkRead(), A3PE::dumpFromAX(), A3PE::dumpPattern(), A3PE::dumpStorage(), A3PE::dumpToAX(), A3PE::dumpTrigger(), A3PE::enableStorage(), StorageFifo::execute(), StorageFifoAcquisition::execute(), A3PE_BitFlip::execute(), Acquisition::execute(), TestUSB::execute(), SeqPGA::extTrig(), A3PE::fifoDepth(), A3PE::fifoLatency(), Register::getBit(), FePGA::i2cAdd(), SeqPGA::i2cAdd(), FePGA::i2cGBTSCA(), SeqPGA::i2cGBTSCA(), FePGA::i2cRead(), SeqPGA::i2cRead(), FePGA::i2cWrite(), SeqPGA::i2cWrite(), A3PE::latencyAX(), SeqPGA::ledEnable(), A3PE::lengthAX(), A3PE::nTrigger(), A3PE::pipeline(), Phaser::read(), ICPhaser::read(), Register::setBit(), A3PE::setClockDivision(), SeqPGA::setExtTrig(), A3PE::setFifoDepth(), A3PE::setFifoLatency(), FePGA::setI2cGBTSCA(), SeqPGA::setI2cGBTSCA(), SeqPGA::setLedEnable(), A3PE::setNTrigger(), A3PE::setPipeline(), SeqPGA::setSpiEnable(), SeqPGA::setSpiGBTSCA(), FePGA::setSpiGBTSCA(), A3PE::setTriggerDelay(), A3PE::setTriggerRate(), SeqPGA::spiAdd(), SeqPGA::spiEnable(), SeqPGA::spiGBTSCA(), FePGA::spiGBTSCA(), FePGA::spiRead(), ICECALv3::spiRead(), SeqPGA::spiRead(), ICPhaser::status(), A3PE::triggerDelay(), and A3PE::triggerRate().

73  {
74  return (dynamic_cast<Interface*>(connection()))->read(m_io);
75  }
Hierarchy * connection()
Definition: Element.cpp:84
IOdata * m_io
Definition: IOobject.h:99

◆ reset()

void IOobject::reset ( )
inlinevirtual

Resets the Element so that is is in a standard and safe situation. Different from Element::init which configure the Element. Element::reset() is more an Emergency pull. It is often/usually called by the recursiveInitElement method at the start of the program.

Implements Element.

Definition at line 41 of file IOobject.h.

Referenced by BOOST_PYTHON_MODULE().

41  {
42  };

◆ setAddress()

void IOobject::setAddress ( U32  address)
inline

Definition at line 84 of file IOobject.h.

References m_io, and IOdata::setAddress().

Referenced by A3PE::A3PE(), BOOST_PYTHON_MODULE(), FEB_v1::FEB_v1(), Proto40MHz_v1::Proto40MHz_v1(), SeqPGA::SeqPGA(), and ICPhaser::setAddress().

84  {
86  }
IOdata * m_io
Definition: IOobject.h:99
StatusCode setAddress(U32 address)
Definition: IOdata.h:51
U32 address()
Definition: IOobject.h:88

◆ update()

void IOobject::update ( )
inlinevirtual

◆ write()

virtual StatusCode IOobject::write ( )
inlinevirtual

Write the IOobject

Definition at line 80 of file IOobject.h.

References Element::connection(), and m_io.

Referenced by BOOST_PYTHON_MODULE(), LSDelayChipV1::configRegBulkWrite(), A3PE::enableStorage(), TestUSB::execute(), Register::getBit(), FePGA::i2cRead(), SeqPGA::i2cRead(), FePGA::i2cWrite(), SeqPGA::i2cWrite(), A3PE::loadFromAX(), A3PE::loadPattern(), A3PE::loadStorage(), A3PE::loadToAX(), A3PE::loadTrigger(), A3PE_BitFlip::randomValues(), RAM::raz(), FePGA::reset(), SeqPGA::reset(), ICPhaser::reset(), A3PE::reset(), SeqPGA::resetSpi(), FePGA::resetUsb(), A3PE::setAddFromAXRam(), A3PE::setAddToAXRam(), Register::setBit(), A3PE::setClockDivision(), SeqPGA::setExtTrig(), A3PE::setFifoDepth(), A3PE::setFifoLatency(), FePGA::setI2cAdd(), SeqPGA::setI2cAdd(), FePGA::setI2cGBTSCA(), SeqPGA::setI2cGBTSCA(), A3PE::setLatencyAX(), SeqPGA::setLedEnable(), A3PE::setLengthAX(), A3PE::setNTrigger(), A3PE::setPipeline(), FePGA::setSpiAdd(), SeqPGA::setSpiAdd(), SeqPGA::setSpiEnable(), SeqPGA::setSpiGBTSCA(), FePGA::setSpiGBTSCA(), A3PE::setTriggerDelay(), A3PE::setTriggerRate(), FePGA::spiRead(), SeqPGA::spiRead(), FePGA::spiWrite(), ICECALv3::spiWrite(), SeqPGA::spiWrite(), SeqPGA::testSequence(), FePGA::testSequence(), FePGA::transmitSpi(), SeqPGA::transmitSpi(), Phaser::write(), and ICPhaser::write().

80  {
81  return (dynamic_cast<Interface*>(connection()))->write(m_io);
82  };
Hierarchy * connection()
Definition: Element.cpp:84
IOdata * m_io
Definition: IOobject.h:99

Member Data Documentation

◆ m_io

IOdata* IOobject::m_io
private

Definition at line 99 of file IOobject.h.

Referenced by address(), dump(), io(), IOobject(), read(), setAddress(), write(), and ~IOobject().


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