Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LinkAssociations.h File Reference
#include <stdint.h>
#include <vector>

Go to the source code of this file.

Functions

template<class T >
bool SortByROCID (const T *const &obj1, const T *const &obj2)
 
template<class T >
bool SortByModule (const T *const &obj1, const T *const &obj2)
 
template<class T >
bool SortByChannel (const T *const &obj1, const T *const &obj2)
 
template<class T >
bool SortByPulseNumber (const T *const &obj1, const T *const &obj2)
 
template<class T , class U >
void LinkConfig (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkConfigSamplesCopy (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkModule (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkModuleBORSamplesCopy (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkChannel (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkPulse (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void LinkPulsePedCopy (vector< T * > &a, vector< U * > &b)
 
template<class T , class U >
void PulsePedCopy (vector< T * > &a, vector< U * > &b)
 
template<class T , class U , typename F >
void MatchConfig (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchModule (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchChannel (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchPulse (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchConfigF (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchModuleF (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchChannelF (vector< T * > &a, vector< U * > &b, F func)
 
template<class T , class U , typename F >
void MatchPulseF (vector< T * > &a, vector< U * > &b, F func)
 

Function Documentation

template<class T , class U >
void LinkChannel ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 105 of file LinkAssociations.h.

References MatchChannelF().

Referenced by DEVIOWorkerThread::LinkAllAssociations().

template<class T , class U >
void LinkConfig ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 85 of file LinkAssociations.h.

References MatchConfigF().

Referenced by DEVIOWorkerThread::LinkAllAssociations().

template<class T , class U >
void LinkConfigSamplesCopy ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 90 of file LinkAssociations.h.

References MatchConfigF().

Referenced by DEVIOWorkerThread::LinkAllAssociations().

template<class T , class U >
void LinkModule ( vector< T * > &  a,
vector< U * > &  b 
)
inline
template<class T , class U >
void LinkModuleBORSamplesCopy ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 100 of file LinkAssociations.h.

References MatchModuleF().

Referenced by JEventSource_EVIOpp::LinkBORassociations().

template<class T , class U >
void LinkPulse ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 110 of file LinkAssociations.h.

References MatchPulseF().

Referenced by DEVIOWorkerThread::LinkAllAssociations().

template<class T , class U >
void LinkPulsePedCopy ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 115 of file LinkAssociations.h.

References MatchPulseF().

Referenced by DEVIOWorkerThread::LinkAllAssociations().

template<class T , class U , typename F >
void MatchChannel ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Definition at line 160 of file LinkAssociations.h.

References func().

template<class T , class U , typename F >
void MatchChannelF ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Template routine to loop over two vectors of pointers to objects derived from DDAQAddress. This will match any hits coming from the same DAQ module and channel.

Note that this assumes the input vectors have been sorted by rocid, then slot in ascending order.

Definition at line 330 of file LinkAssociations.h.

References func().

Referenced by LinkChannel().

template<class T , class U , typename F >
void MatchConfig ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Definition at line 128 of file LinkAssociations.h.

References func().

template<class T , class U , typename F >
void MatchConfigF ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Template routine to loop over two vectors: The first points to DDAQConfig objects and the second to DDAQAddress objects. DDAQAddress objects are matched by the rocid and slotmask of the DDAQConfig object.

Note that this assumes the input vectors have been sorted by rocid in ascending order.

Definition at line 205 of file LinkAssociations.h.

References func().

Referenced by LinkConfig(), and LinkConfigSamplesCopy().

template<class T , class U , typename F >
void MatchModule ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Definition at line 145 of file LinkAssociations.h.

References func().

template<class T , class U , typename F >
void MatchModuleF ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Template routine to loop over two vectors of pointers to objects derived from DDAQAddress. This will match any hits coming from the same DAQ module (channel number is not checked)

Note that this assumes the input vectors have been sorted by rocid, then slot in ascending order.

Definition at line 266 of file LinkAssociations.h.

References func().

Referenced by LinkModule(), and LinkModuleBORSamplesCopy().

template<class T , class U , typename F >
void MatchPulse ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Definition at line 176 of file LinkAssociations.h.

References func().

template<class T , class U , typename F >
void MatchPulseF ( vector< T * > &  a,
vector< U * > &  b,
F  func 
)

Template routine to loop over two vectors of pointers to objects derived from DDAQAddress. This will match any hits coming from the same DAQ module, channel with the same pulse number.

Note that this assumes the input vectors have been sorted by rocid, then slot in ascending order.

Definition at line 401 of file LinkAssociations.h.

References func().

Referenced by LinkPulse(), LinkPulsePedCopy(), and PulsePedCopy().

template<class T , class U >
void PulsePedCopy ( vector< T * > &  a,
vector< U * > &  b 
)
inline

Definition at line 120 of file LinkAssociations.h.

References MatchPulseF().

template<class T >
bool SortByChannel ( const T *const &  obj1,
const T *const &  obj2 
)
inline

Definition at line 46 of file LinkAssociations.h.

template<class T >
bool SortByModule ( const T *const &  obj1,
const T *const &  obj2 
)
inline

Definition at line 35 of file LinkAssociations.h.

template<class T >
bool SortByPulseNumber ( const T *const &  obj1,
const T *const &  obj2 
)
inline

Definition at line 59 of file LinkAssociations.h.

template<class T >
bool SortByROCID ( const T *const &  obj1,
const T *const &  obj2 
)
inline

Definition at line 26 of file LinkAssociations.h.