/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DayaBay::DaqRpcCrate Class Reference

Class that wraps the DAQ data read from a Pmt crate. More...

#include <DaqRpcCrate.h>

Inheritance diagram for DayaBay::DaqRpcCrate:
Inheritance graph
[legend]
Collaboration diagram for DayaBay::DaqRpcCrate:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector
< DayaBay::DaqRpcPanel * > 
RpcPanelPtrList
 A list containing pointers to the RPC panel readouts.

Public Member Functions

 DaqRpcCrate (const DybDaq::EventReadout *eventReadout)
 Constructor for read-only instance.
 DaqRpcCrate (const DayaBay::Detector &detector, const unsigned int run, const unsigned int event)
 Constructor for read-write instance.
 DaqRpcCrate (const DayaBay::DaqRpcCrate &crate)
 Copy constructor.
 DaqRpcCrate ()
 Default Constructor.
virtual ~DaqRpcCrate ()
 Destroys this instance of the class.
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the ASCII output stream.
virtual bool hasTriggers () const
 Returns true when this readout contains triggers.
virtual const TimeStamptriggerTime () const
 Returns the timestamp of the first trigger frame in this readout.
virtual double triggerSpan () const
 Returns the span, in seconds, of trigger times in this readout.
virtual Trigger::TriggerType_t triggerType () const
 Returns the trigger type of this readout.
virtual unsigned int localTriggerNumber () const
 Returns the local trigger number of this readout.
const DayaBay::DaqRtmlocalTriggerBoard () const
 Returns the RTM for this crate.
const RpcPanelPtrListrpcPanelReadouts () const
 Returns the list of RPC panel readouts.
const RpcPanelPtrListrpcRotPanels () const
 Returns the list of RPC panel from ROT.
bool hasPanel (const DayaBay::FecChannelId &channelId) const
 Returns true if the DaqRpcPanel for the supplied FecChannelId exists.
const DaqRpcPanelpanel (const DayaBay::FecChannelId &channelId) const
 Returns the DaqRpcPanel for the supplied FecChannelId.
DaqRpcPanelpanel (const DayaBay::FecChannelId &channelId)
 Returns the DaqRpcPanel for the supplied FecChannelId.
int getEvtType () const
 The trigger type of current readout.
virtual bool addRtm (const DaqRtm *rtm, const unsigned int slot)
 Adds a new RTM to this readout at the specified slot.
virtual void fixTriggerTime (const TimeStamp &time)
 fix the trigger time of this readout.
const DayaBay::DaqPmtCrateasPmtCrate () const
 Returns this object as a DaqPmtCrate.
const DayaBay::DaqRpcCrateasRpcCrate () const
 Returns this object as a DaqRpcCrate.
const DayaBay::Detectordetector () const
 Returns the detector associated with this readout.
unsigned int eventNumber () const
 Returns the event number assigned to this readout.
const DybDaq::EventReadouteventReadout () const
 Returns the wrapped EventReadout instance.
unsigned int runNumber () const
 Returns the run number in which this readout was taken.

Static Public Member Functions

static void * operator new (size_t size)
 operator new
static void * operator new (size_t size, void *pObj)
 placement operator new it is needed by libstdc++ 3.2.3 (e.g.
static void operator delete (void *p)
 operator delete
static void operator delete (void *p, void *pObj)
 placement operator delete not sure if really needed, but it does not harm

Protected Member Functions

DaqRpcCrateoperator= (const DayaBay::DaqRpcCrate &rhs)
 Assignement operator.
DybDaq::EventReadouteventReadout ()
 Returns the wrapped EventReadout instance.
void assignment (const DayaBay::DaqCrate &rhs)
 Assignement operator.

Private Member Functions

bool freshRpcAttributes () const
 Prepares the RPC attributes if they have not already been prepared.
DaqRpcCrate::RpcPanelPtrList::size_type * rpcIndicesForSlot () const
 Returns the channel indices for the specified slot.
void flushCache ()
 Deletes any objects cached by this instance.
unsigned int pseudoChannel (unsigned int, unsigned int) const
 creates a pseudo channel number from CfId and FecId

Private Attributes

DayaBay::Trigger::TriggerType_t m_triggerType
 The composite trigger type of this crate.
RpcPanelPtrListm_rpcPanelPtrs
 The list containing pointers to the RPC panel readouts in this crate.
RpcPanelPtrListm_rpcRotPanels
 The list containing pointers to the RPC panel from ROT.
RpcPanelPtrList::size_type * m_rpcIndices
 The indices of panels in 'rpcPanelPtrs', organized by slot and channel.
DybDaq::FecReadout ** m_fecReadouts
 The cache of FecReadouts used help load this crate.
const DayaBay::DaqRtmm_localTriggerBoard
 The local trigger board in this readout.

Detailed Description

Class that wraps the DAQ data read from a Pmt crate.

Author:
sjpatton@lbl.gov created Thu Dec 5 17:51:50 2013

Definition at line 41 of file DaqRpcCrate.h.


Member Typedef Documentation

A list containing pointers to the RPC panel readouts.

Definition at line 46 of file DaqRpcCrate.h.


Constructor & Destructor Documentation

DaqRpcCrate::DaqRpcCrate ( const DybDaq::EventReadout eventReadout)

Constructor for read-only instance.

Definition at line 67 of file DaqRpcCrate.cc.

DaqRpcCrate::DaqRpcCrate ( const DayaBay::Detector detector,
const unsigned int  run,
const unsigned int  event 
)

Constructor for read-write instance.

Definition at line 48 of file DaqRpcCrate.cc.

                                                   :
    DaqCrate(detector,
             run,
             event),
    m_triggerType(DayaBay::Trigger::kNone),
    m_rpcPanelPtrs(0),
    m_rpcRotPanels(0),
    m_rpcIndices(0),
    m_fecReadouts(new FecReadout*[kMaxPanelCount]),
    m_localTriggerBoard(0)  {
    for (unsigned int channel = 0;
         kMaxPanelCount != channel;
         ++channel) {
        m_fecReadouts[channel] = 0;
    }
}
DaqRpcCrate::DaqRpcCrate ( const DayaBay::DaqRpcCrate crate)

Copy constructor.

Definition at line 77 of file DaqRpcCrate.cc.

DayaBay::DaqRpcCrate::DaqRpcCrate ( ) [inline]

Default Constructor.

Definition at line 60 of file DaqRpcCrate.h.

DaqRpcCrate::~DaqRpcCrate ( ) [virtual]

Destroys this instance of the class.

Definition at line 87 of file DaqRpcCrate.cc.

                          {
    flushCache();
}

Member Function Documentation

std::ostream & DayaBay::DaqRpcCrate::fillStream ( std::ostream &  s) const [inline, virtual]

Fill the ASCII output stream.

Reimplemented from DayaBay::DaqCrate.

Definition at line 191 of file DaqRpcCrate.h.

{
  DaqCrate::fillStream(s);
  s << "{ " << "triggerType :   " << m_triggerType << std::endl
            << "rpcPanelPtrs :  " << m_rpcPanelPtrs << std::endl
            << "rpcRotPanels :  " << m_rpcRotPanels << std::endl
            << "rpcIndices :    " << m_rpcIndices << std::endl
            << "fecReadouts :   " << m_fecReadouts << std::endl
            << "localTriggerBoard :     " << m_localTriggerBoard << std::endl << " }";
  return s;
}
bool DaqRpcCrate::hasTriggers ( ) const [virtual]

Returns true when this readout contains triggers.

Implements DayaBay::DaqCrate.

Definition at line 104 of file DaqRpcCrate.cc.

                                    {
  return localTriggerBoard().hasTriggers();
}
const TimeStamp & DaqRpcCrate::triggerTime ( ) const [virtual]

Returns the timestamp of the first trigger frame in this readout.

Implements DayaBay::DaqCrate.

Definition at line 108 of file DaqRpcCrate.cc.

double DaqRpcCrate::triggerSpan ( ) const [virtual]

Returns the span, in seconds, of trigger times in this readout.

Implements DayaBay::DaqCrate.

Definition at line 112 of file DaqRpcCrate.cc.

                                      {
    const DaqRtm& crateRtm = localTriggerBoard();
    TimeStamp result = crateRtm.latestTriggerTime();
    result.Subtract(crateRtm.earliestTriggerTime());
    return (double)result;
}
DayaBay::Trigger::TriggerType_t DaqRpcCrate::triggerType ( ) const [virtual]

Returns the trigger type of this readout.

Implements DayaBay::DaqCrate.

Definition at line 119 of file DaqRpcCrate.cc.

unsigned int DaqRpcCrate::localTriggerNumber ( ) const [virtual]

Returns the local trigger number of this readout.

Implements DayaBay::DaqCrate.

Definition at line 124 of file DaqRpcCrate.cc.

                                                   {
  return 0;
}
const DaqRtm & DaqRpcCrate::localTriggerBoard ( ) const

Returns the RTM for this crate.

Definition at line 166 of file DaqRpcCrate.cc.

                                                   {
    if ( 0 == m_localTriggerBoard) {
        const EventReadout& readout = eventReadout();
        if (0 == &readout) {
            return *((DaqRtm*)0);
        }
        const EventReadout::RomFragmentPtrList& fragments = readout.romFragments();
        EventReadout::RomFragmentPtrList::const_iterator fragment = fragments.begin();
        unsigned int ltbModuleType = readout.header().eventTraits().moduleType(EventTraits::kRpcRtmModule);
        while((ltbModuleType != ((*fragment)->header().moduleType()))
              && fragment != fragments.end()) {
            ++fragment;
        }
        if (fragment == fragments.end()) {
            return *((DaqRtm*)0);
        }
        const RomData& romData = (*fragment)->unwrappedData();
        const DaqRtm** rtm = const_cast<const DaqRtm**>(&m_localTriggerBoard);
        *(rtm) = new DaqRtm(dynamic_cast<const RtmReadout&>(romData),
                            detector());
    }
    return *m_localTriggerBoard;
}
const DaqRpcCrate::RpcPanelPtrList & DaqRpcCrate::rpcPanelReadouts ( ) const

Returns the list of RPC panel readouts.

Returns list of pointers to panels (DayaBay::DaqRpcPanel representation). If DybDaq event readout (raw data) exists, then ensures it gets propagated into DayaBay objects. If it does not, zero pointer to the list is returned.

Definition at line 190 of file DaqRpcCrate.cc.

                                                                      {
    const EventReadout& daqReadout = eventReadout();
    if (0 == &daqReadout) {
        return *((RpcPanelPtrList*)0);
    }

    int* pTrig = (int*)(&m_triggerType);
    if (freshRpcAttributes()) { // the panel list was not there, created one empty
        unsigned int rotMaps[3] = { 0 };
        const DaqRtm::RtmDataPtrList& rtms = localTriggerBoard().rtmDataList();
        DaqRtm::RtmDataPtrList::const_iterator iRtm = rtms.begin();
        while ( iRtm != rtms.end() ) {
            rotMaps[(*iRtm)->rpcCFId()] |= (*iRtm)->triggerRot();
            if ( ((*iRtm)->triggerType()&DayaBay::Trigger::kRandom) == DayaBay::Trigger::kRandom ) {
                *pTrig |= DayaBay::Trigger::kRandom;
            }
            ++iRtm;
        }

        const Detector zzub = detector();
        const EventHeader& eventHeader = daqReadout.header();
        const EventTraits& traits = eventHeader.eventTraits();
        const unsigned int kFecModuleType = traits.moduleType(EventTraits::kRpcRomModule);
        const EventReadout::RomFragmentPtrList& fragments = daqReadout.romFragments();
        for (EventReadout::RomFragmentPtrList::const_iterator fragment = fragments.begin();
             fragment != fragments.end();
             ++fragment) {
            const RomHeader& header = (*fragment)->header();
            if (kFecModuleType == header.moduleType()) {
                const FecReadout& readout = dynamic_cast<const FecReadout&>((*fragment)->unwrappedData());
                const FecReadout::FecDataPtrList& dataList = readout.fecDataList();
                for (FecReadout::FecDataPtrList::const_iterator dataPtr = dataList.begin();
                     dataPtr != dataList.end();
                     ++dataPtr) {
                    const unsigned int cfId = (*dataPtr)->rpcCFId();
                    const unsigned int fecId = (*dataPtr)->rpcFecId();
                    const unsigned int trigType = (*dataPtr)->trigType();
                    *pTrig |= (trigType<<17);
                    RpcPanelPtrList::size_type* indices = rpcIndicesForSlot();
                    // need to derive index from cfId and fecId
                    unsigned int channelNumber = pseudoChannel(cfId, fecId);
                    const unsigned int index = indices[channelNumber];
                    if (kUninitializedPanel == index) {
                        indices[channelNumber] = m_rpcPanelPtrs->size();
                        DaqRpcPanel* aPanel = new DaqRpcPanel(*(*dataPtr),
                                                   FecChannelId(cfId,
                                                   fecId,
                                                   0, // this is connector ordinal number in one FEC, which is 0 for the whole FEC board
                                                   zzub.site(),
                                                   zzub.detectorId()));
                        m_rpcPanelPtrs->push_back(aPanel);
                        // set the module from ROT
                        int shift = (cfId&1)*16 + fecId;
                        if ( (rotMaps[cfId>>1] & (1<<shift)) != 0 || (trigType&2) != 0 ) {
                            aPanel->setFromRot(true);
                            m_rpcRotPanels->push_back(aPanel);
                        }
                    }
                    /*
                    else {
                      // (m_rpcPanelPtrs->at(index))->addHit(*(*dataPtr));
                    }
                    */
                }
            }
        }
    }
    return *m_rpcPanelPtrs;
}
const DaqRpcCrate::RpcPanelPtrList & DaqRpcCrate::rpcRotPanels ( ) const

Returns the list of RPC panel from ROT.

Definition at line 264 of file DaqRpcCrate.cc.

bool DaqRpcCrate::hasPanel ( const DayaBay::FecChannelId channelId) const

Returns true if the DaqRpcPanel for the supplied FecChannelId exists.

Definition at line 275 of file DaqRpcCrate.cc.

                                                              {
    rpcPanelReadouts();
    RpcPanelPtrList::size_type* indices = rpcIndicesForSlot();
    const unsigned int index = indices[channelId.connector() - kFecConnectorOffset];
    return kUninitializedPanel != index;
}
const DaqRpcPanel & DaqRpcCrate::panel ( const DayaBay::FecChannelId channelId) const

Returns the DaqRpcPanel for the supplied FecChannelId.

Definition at line 282 of file DaqRpcCrate.cc.

                                                                         {
    rpcPanelReadouts();
    RpcPanelPtrList::size_type* indices = rpcIndicesForSlot();
    const unsigned int channelNumber = channelId.board();
    if (kMaxPanelCount <= channelNumber) {
        return *((DaqRpcPanel*)0);
    }
    const unsigned int index = indices[channelNumber];
    if (kUninitializedPanel == index) {
        return *((DaqRpcPanel*)0);
    }
    return *(m_rpcPanelPtrs->at(index));
}
DaqRpcPanel & DaqRpcCrate::panel ( const DayaBay::FecChannelId channelId)

Returns the DaqRpcPanel for the supplied FecChannelId.

Definition at line 316 of file DaqRpcCrate.cc.

                                                             {
    const unsigned int slot = channelId.board();
    // ensure existence of DybDaq data for the requested panel
    FecReadout* readout = m_fecReadouts[slot];
    if (0 == readout) {
        readout = new FecReadout(FecTraits::defaultTraits());
        m_fecReadouts[slot] = readout;
        eventReadout().addReadout(readout,
                      slot);
    }

    // retrieve DayaBay::DaqEvent representation of the panel
    RpcPanelPtrList::size_type* indices = rpcIndicesForSlot();
    const unsigned int channelNumber = slot;
    if (kMaxPanelCount <= channelNumber) { // there cannot be panel with such big number
        return *((DaqRpcPanel*)0);
    }

    // look up the panel in stored panels
    const unsigned int index = indices[channelNumber];
    if (kUninitializedPanel == index) { // it is not there yet, so create one
        indices[channelNumber] = m_rpcPanelPtrs->size();
        DaqRpcPanel* panel = new DaqRpcPanel(channelId,
                               *readout);
        m_rpcPanelPtrs->push_back(panel);
        return *panel;
    }
    // the board is in our list already, return it
    return *(m_rpcPanelPtrs->at(index));
}
int DaqRpcCrate::getEvtType ( ) const

The trigger type of current readout.

Definition at line 305 of file DaqRpcCrate.cc.

{
    return localTriggerBoard().getEvtType();
}
bool DaqRpcCrate::addRtm ( const DaqRtm rtm,
const unsigned int  slot 
) [virtual]

Adds a new RTM to this readout at the specified slot.

Definition at line 296 of file DaqRpcCrate.cc.

{
    if ( m_localTriggerBoard != 0 ) return false;

    m_localTriggerBoard = rtm;
    eventReadout().addReadout(rtm->rtmReadout(), slot);
    return true;
}
void DaqRpcCrate::fixTriggerTime ( const TimeStamp time) [virtual]

fix the trigger time of this readout.

Implements DayaBay::DaqCrate.

Definition at line 310 of file DaqRpcCrate.cc.

{
    localTriggerBoard();
    (const_cast<DaqRtm*>(m_localTriggerBoard))->fixTriggerTime(time);
}
static void* DayaBay::DaqRpcCrate::operator new ( size_t  size) [inline, static]

operator new

Reimplemented from DayaBay::DaqCrate.

Definition at line 119 of file DaqRpcCrate.h.

    {
      return ( sizeof(DaqRpcCrate) == size ? 
               boost::singleton_pool<DaqRpcCrate, sizeof(DaqRpcCrate)>::malloc() :
               ::operator new(size) );
    }
static void* DayaBay::DaqRpcCrate::operator new ( size_t  size,
void *  pObj 
) [inline, static]

placement operator new it is needed by libstdc++ 3.2.3 (e.g.

in std::vector) it is not needed in libstdc++ >= 3.4

Reimplemented from DayaBay::DaqCrate.

Definition at line 129 of file DaqRpcCrate.h.

    {
      return ::operator new (size,pObj);
    }
static void DayaBay::DaqRpcCrate::operator delete ( void *  p) [inline, static]

operator delete

Reimplemented from DayaBay::DaqCrate.

Definition at line 135 of file DaqRpcCrate.h.

    {
      boost::singleton_pool<DaqRpcCrate, sizeof(DaqRpcCrate)>::is_from(p) ?
      boost::singleton_pool<DaqRpcCrate, sizeof(DaqRpcCrate)>::free(p) :
      ::operator delete(p);
    }
static void DayaBay::DaqRpcCrate::operator delete ( void *  p,
void *  pObj 
) [inline, static]

placement operator delete not sure if really needed, but it does not harm

Reimplemented from DayaBay::DaqCrate.

Definition at line 144 of file DaqRpcCrate.h.

    {
      ::operator delete (p, pObj);
    }
DaqRpcCrate & DaqRpcCrate::operator= ( const DayaBay::DaqRpcCrate rhs) [protected]

Assignement operator.

Definition at line 91 of file DaqRpcCrate.cc.

                                                           {
  if (this != &rhs) {
      flushCache();
      assignment(rhs);
      m_rpcPanelPtrs = 0;
      m_rpcRotPanels = 0;
      m_rpcIndices = 0;
      m_fecReadouts = 0;
      m_localTriggerBoard = 0;
  }
  return *this;
}
bool DaqRpcCrate::freshRpcAttributes ( ) const [private]

Prepares the RPC attributes if they have not already been prepared.

Definition at line 153 of file DaqRpcCrate.cc.

                                           {
    if (0 != m_rpcPanelPtrs) {
        return false;
    }

    RpcPanelPtrList** rpcPanelPtrs = const_cast<RpcPanelPtrList**>(&m_rpcPanelPtrs);
    *(rpcPanelPtrs) = new RpcPanelPtrList();
    RpcPanelPtrList** rpcRotPanels = const_cast<RpcPanelPtrList**>(&m_rpcRotPanels);
    *(rpcRotPanels) = new RpcPanelPtrList();

    return true;
}
DaqRpcCrate::RpcPanelPtrList::size_type * DaqRpcCrate::rpcIndicesForSlot ( ) const [private]

Returns the channel indices for the specified slot.

Definition at line 348 of file DaqRpcCrate.cc.

                                                                          {
    freshRpcAttributes();

    if (0 == m_rpcIndices) {
        RpcPanelPtrList::size_type** rpcIndicesInSlot = const_cast<RpcPanelPtrList::size_type**>(&m_rpcIndices);
        *(rpcIndicesInSlot) = new RpcPanelPtrList::size_type[kMaxPanelCount];
        for (unsigned int panel = 0;
             kMaxPanelCount != panel;
             ++panel) {
            (*rpcIndicesInSlot)[panel] = kUninitializedPanel;
        }
    }
    return m_rpcIndices;
}
void DaqRpcCrate::flushCache ( ) [private]

Deletes any objects cached by this instance.

Reimplemented from DayaBay::DaqCrate.

Definition at line 128 of file DaqRpcCrate.cc.

                             {
    if (0 != m_localTriggerBoard) {
        delete m_localTriggerBoard;
    }
    if (0 != m_fecReadouts) {
        // FecReadouts are own by the EventReadout.
        delete[] m_fecReadouts;
    }
    if (0 != m_rpcIndices) {
        delete[] m_rpcIndices;
    }
    if (0 != m_rpcRotPanels) {
        delete m_rpcRotPanels;
    }
    if (0 != m_rpcPanelPtrs) {
        RpcPanelPtrList::iterator finished = m_rpcPanelPtrs->end();
        for(RpcPanelPtrList::iterator readout = m_rpcPanelPtrs->begin();
            readout != finished;
            ++readout) {
            delete (*readout);
        }
        delete m_rpcPanelPtrs;
    }
}
unsigned int DaqRpcCrate::pseudoChannel ( unsigned int  cfId,
unsigned int  fecId 
) const [private]

creates a pseudo channel number from CfId and FecId

Definition at line 270 of file DaqRpcCrate.cc.

                                                                  {
    return (cfId * 0x10) + fecId;
}
const DaqPmtCrate * DaqCrate::asPmtCrate ( ) const [inherited]

Returns this object as a DaqPmtCrate.

Definition at line 175 of file DaqCrate.cc.

                                              {
    return dynamic_cast<const DaqPmtCrate*>(this);
}
const DaqRpcCrate * DaqCrate::asRpcCrate ( ) const [inherited]

Returns this object as a DaqRpcCrate.

Definition at line 179 of file DaqCrate.cc.

                                              {
    return dynamic_cast<const DaqRpcCrate*>(this);
}
const Detector & DaqCrate::detector ( ) const [inherited]

Returns the detector associated with this readout.

Definition at line 195 of file DaqCrate.cc.

                                         {
    if (0 == m_detector) {
        const EventHeader& header = m_eventReadout->header();
        Detector** detector = const_cast<Detector**>(&m_detector);
        *(detector) = new Detector(convertSite(header.site()),
                                   convertDetector(header.detector()));

    }
    return *m_detector;
}
unsigned int DaqCrate::eventNumber ( ) const [inherited]

Returns the event number assigned to this readout.

Definition at line 183 of file DaqCrate.cc.

                                         {
    return m_eventReadout->header().event();
}
const DybDaq::EventReadout & DaqCrate::eventReadout ( ) const [inherited]

Returns the wrapped EventReadout instance.

Definition at line 187 of file DaqCrate.cc.

                                                       {
    return *m_eventReadout;
}
DybDaq::EventReadout & DaqCrate::eventReadout ( ) [protected, inherited]

Returns the wrapped EventReadout instance.

Definition at line 206 of file DaqCrate.cc.

                                           {
    return *m_eventReadout;
}
unsigned int DaqCrate::runNumber ( ) const [inherited]

Returns the run number in which this readout was taken.

Definition at line 191 of file DaqCrate.cc.

                                       {
    return m_eventReadout->header().run();
}
void DaqCrate::assignment ( const DayaBay::DaqCrate rhs) [protected, inherited]

Assignement operator.

Definition at line 158 of file DaqCrate.cc.

                                             {
  if (this != &rhs) {
      flushCache();
      m_detector = 0;
      m_eventReadout = new EventReadout(rhs.eventReadout());
  }
}

Member Data Documentation

The composite trigger type of this crate.

Definition at line 169 of file DaqRpcCrate.h.

The list containing pointers to the RPC panel readouts in this crate.

Definition at line 170 of file DaqRpcCrate.h.

The list containing pointers to the RPC panel from ROT.

Definition at line 171 of file DaqRpcCrate.h.

RpcPanelPtrList::size_type* DayaBay::DaqRpcCrate::m_rpcIndices [private]

The indices of panels in 'rpcPanelPtrs', organized by slot and channel.

Definition at line 172 of file DaqRpcCrate.h.

The cache of FecReadouts used help load this crate.

Definition at line 173 of file DaqRpcCrate.h.

The local trigger board in this readout.

Definition at line 174 of file DaqRpcCrate.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:01:06 for DaqEvent by doxygen 1.7.4