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 ()
 
IOdataio ()
 
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 *)
 
Hierarchyconnection ()
 
- Public Member Functions inherited from Hierarchy
 Hierarchy ()
 Standard constructor. More...
 
virtual ~Hierarchy ()
 Destructor. More...
 
void clear ()
 
void setParent (Hierarchy *parent)
 
Hierarchyparent ()
 
Hierarchyparent (std::string)
 
Hierarchyorigin ()
 
virtual void addChild (Hierarchy *element)
 
std::vector< Hierarchy * > children ()
 
Hierarchychild (std::string)
 
HierarchychildTyped (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

IOdatam_io
 

Additional Inherited Members

- Protected Attributes inherited from Element
Hierarchym_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: