#include <RawOvershootBlock.h>
Inheritance diagram for RawOvershootBlock:

Public Types | |
| typedef std::map< RawChannelId, UInt_t > | RCIdToTickMap |
| typedef RCIdToTickMap::const_iterator | RCIdToTickMapConstIter |
| typedef std::pair< RawChannelId, UInt_t > | RCIdTickPair |
Public Member Functions | |
| RawOvershootBlock () | |
| RawOvershootBlock (const Int_t *block) | |
| RawOvershootBlock (const VldContext &vldc, const RCIdToTickMap &inmap) | |
| virtual | ~RawOvershootBlock () |
| UInt_t | GetNumberOfEntries () const |
| const RCIdTickPair | GetPair (UInt_t indx) const |
| RawChannelId | GetChannelId (UInt_t indx) const |
| UInt_t | GetTicks (UInt_t indx) const |
| UInt_t | GetTicks (const RawChannelId &rcid) const |
| const RCIdToTickMap & | GetOvershootChannels () const |
| virtual std::ostream & | FormatToOStream (std::ostream &os, Option_t *option="") const |
| RawOvershootBlock (const RawOvershootBlock &rhs) | |
| RawOvershootBlock & | operator= (const RawOvershootBlock &rhs) |
Static Public Member Functions | |
| void | SetDebugFlags (const UInt_t dbgflgs) |
| UInt_t | GetDebugFlags () |
Protected Member Functions | |
| virtual void | FillOvershootChannels () const |
Protected Attributes | |
| Bool_t | fUnpacked |
| RCIdToTickMap | fOvershootChannels |
| not written out | |
Static Private Attributes | |
| UInt_t | fgDebugFlags = 0 |
| not written out | |
|
|
Definition at line 28 of file RawOvershootBlock.h. Referenced by FormatToOStream(). |
|
|
Definition at line 26 of file RawOvershootBlock.h. |
|
|
Definition at line 27 of file RawOvershootBlock.h. Referenced by FormatToOStream(), and GetPair(). |
|
|
Definition at line 33 of file RawOvershootBlock.cxx. 00033 : fUnpacked(false) 00034 { 00035 // Default constructor 00036 }
|
|
|
Definition at line 39 of file RawOvershootBlock.cxx. 00040 : RawDataBlock(block), fUnpacked(false) 00041 { 00042 // stored block format is: 00043 //--------------------- 00044 // 0 # words in block 00045 // 1 checksum 00046 // 2 Block Id 00047 //----- 00048 // 3 # dead chips in crate 0 00049 // 4 time <<13 || chad for channel hit in previous 55us 00050 // 5 time <<13 || chad ... 00051 // 3+N0 # dead chips in crate 1 00052 // 3+N0+1 time <<13 || chad ... 00053 // ... 00054 }
|
|
||||||||||||
|
Definition at line 57 of file RawOvershootBlock.cxx. References MSG. 00059 : RawDataBlock(), fUnpacked(false) 00060 { 00061 // create a RawOvershootBlock from a STL map of <RawChannelId,UInt_t>'s 00062 MSG("Raw",Msg::kError) 00063 << "RawOVershootBlock ctor using RCIdToTickMap is not yet implemented" 00064 << endl; 00065 assert(0); 00066 }
|
|
|
Definition at line 69 of file RawOvershootBlock.cxx. 00070 {
00071 // dtor
00072 }
|
|
|
Definition at line 50 of file RawOvershootBlock.h. References fOvershootChannels, and fUnpacked. 00051 : RawDataBlock(rhs), fUnpacked(0) { fOvershootChannels.clear(); }
|
|
|
Definition at line 109 of file RawOvershootBlock.cxx. References det, fOvershootChannels, RawDataBlock::GetBlockId(), and RawBlockId::GetDetector(). Referenced by FormatToOStream(), GetNumberOfEntries(), GetOvershootChannels(), and GetTicks(). 00110 {
00111 // unpack the data into a STL map of <RawChannelId,UInt_t>'s
00112
00113 Detector::Detector_t det = GetBlockId().GetDetector();
00114 // assume this block is only sensible for VA electronics
00115 ElecType::Elec_t elec = ElecType::kVA;
00116
00117 Int_t crate = -1;
00118 Int_t* ptr = fRawBlock+zzzz_last;
00119 while (ptr < fRawBlock+fSize) {
00120 // start of new crate
00121 crate++;
00122 int ndead = *ptr; ptr++;
00123 for (int i=0; i<ndead; i++) {
00124 Int_t tmp = *ptr; ptr++;
00125 Int_t chad = tmp & 0x1fff;
00126 Int_t ticks = tmp>>13;
00127 RawChannelId rcid(det,elec,crate,chad);
00128 fOvershootChannels[rcid] = ticks;
00129 }
00130 }
00131 }
|
|
||||||||||||
|
Reimplemented from RawDataBlock. Definition at line 88 of file RawOvershootBlock.cxx. References FillOvershootChannels(), RawDataBlock::FormatToOStream(), fOvershootChannels, option, RCIdTickPair, and RCIdToTickMapConstIter. 00090 {
00091 RawDataBlock::FormatToOStream(os,option);
00092 if (option[0] == 'X') return os;
00093
00094 FillOvershootChannels();
00095 RCIdToTickMapConstIter iter = fOvershootChannels.begin();
00096 while (iter != fOvershootChannels.end()) {
00097 RCIdTickPair pair = *iter;
00098 os << " " << pair.first.AsString("e")
00099 << " was hits just " << pair.second << " ticks ago"
00100 << endl;
00101 iter++;
00102 }
00103 os << endl;
00104
00105 return os;
00106 }
|
|
|
Definition at line 86 of file RawOvershootBlock.h. References GetPair(). 00087 { return GetPair(indx).first; }
|
|
|
Definition at line 47 of file RawOvershootBlock.h. 00047 { return fgDebugFlags; }
|
|
|
Definition at line 72 of file RawOvershootBlock.h. References FillOvershootChannels(), and fOvershootChannels. Referenced by GetPair(). 00073 { FillOvershootChannels(); return fOvershootChannels.size(); }
|
|
|
Definition at line 75 of file RawOvershootBlock.h. References FillOvershootChannels(). Referenced by GetPair(). 00076 { FillOvershootChannels(); return fOvershootChannels; }
|
|
|
Definition at line 78 of file RawOvershootBlock.h. References GetNumberOfEntries(), GetOvershootChannels(), and RCIdToTickMapConstIter. Referenced by GetChannelId(), and GetTicks(). 00079 {
00080 if (indx > GetNumberOfEntries() ) return std::make_pair(RawChannelId(),0);
00081 RCIdToTickMapConstIter iter = GetOvershootChannels().begin();
00082 for (UInt_t i=0; i<indx; i++) iter++;
00083 return *iter;
00084 }
|
|
|
Definition at line 92 of file RawOvershootBlock.h. References FillOvershootChannels(), and fOvershootChannels. 00093 { FillOvershootChannels(); return fOvershootChannels[rcid]; }
|
|
|
Definition at line 89 of file RawOvershootBlock.h. References GetPair(). 00090 { return GetPair(indx).second; }
|
|
|
Definition at line 75 of file RawOvershootBlock.cxx. References fOvershootChannels, fUnpacked, and RawDataBlock::operator=(). 00076 {
00077 // deep copy assignment
00078 if (this != &rhs) {
00079 RawDataBlock::operator=(rhs);
00080 // clear the unpacked info to allow it to be re-filled
00081 fUnpacked = false;
00082 fOvershootChannels.clear();
00083 }
00084 return *this;
00085 }
|
|
|
Definition at line 46 of file RawOvershootBlock.h. References fgDebugFlags. 00046 {fgDebugFlags=dbgflgs;}
|
|
|
not written out
Definition at line 15 of file RawOvershootBlock.cxx. Referenced by SetDebugFlags(). |
|
|
not written out
Definition at line 62 of file RawOvershootBlock.h. Referenced by FillOvershootChannels(), FormatToOStream(), GetNumberOfEntries(), GetTicks(), operator=(), and RawOvershootBlock(). |
|
|
Definition at line 61 of file RawOvershootBlock.h. Referenced by operator=(), and RawOvershootBlock(). |
1.3.9.1