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

Public Member Functions | |
| FilterEvent () | |
| ~FilterEvent () | |
| JobCResult | Ana (const MomNavigator *mom) |
Private Member Functions | |
| ClassDef (FilterEvent, 0) | |
Definition at line 16 of file FilterEvent.h.
| FilterEvent::FilterEvent | ( | ) | [inline] |
| FilterEvent::~FilterEvent | ( | ) | [inline] |
| JobCResult FilterEvent::Ana | ( | const MomNavigator * | mom | ) | [virtual] |
Implement this for read only access to the MomNavigator
Reimplemented from JobCModule.
Definition at line 21 of file FilterEvent.cxx.
References digits(), RawDaqSnarlHeader::GetNumRawDigits(), RawRecord::GetRawBlockIter(), RawRecord::GetRawHeader(), JobCResult::kFailed, Msg::kInfo, JobCResult::kPassed, and MSG.
00022 { 00023 TIter fragiter = mom->FragmentIter(); 00024 00025 TObject* tobj; 00026 const RawHeader* rawhead =0; 00027 const RawDaqSnarlHeader* snarlHead = 0; 00028 const RawDigitDataBlock* rddb =0; 00029 00030 fragiter.Reset(); 00031 while( ( tobj = fragiter.Next() ) ) { 00032 RawRecord* rawRec = dynamic_cast<RawRecord*>(tobj); 00033 if(rawRec) { 00034 rawhead = rawRec->GetRawHeader(); 00035 snarlHead = dynamic_cast<const RawDaqSnarlHeader*>(rawhead); 00036 if(snarlHead) { 00037 int digits = snarlHead->GetNumRawDigits(); 00038 if(digits>5000){ 00039 MSG("TriD",Msg::kInfo) << "EventFilter: " << digits << " is wayyy to many digits to try to plot." << endl; 00040 return JobCResult::kFailed; 00041 } else { 00042 return JobCResult::kPassed; 00043 } 00044 } 00045 TIter itr = rawRec->GetRawBlockIter(); 00046 RawDataBlock* rawBlk; 00047 while ( ( rawBlk = dynamic_cast<RawDataBlock*>(itr.Next()) ) ) { 00048 rddb = dynamic_cast<RawDigitDataBlock*>(rawBlk); 00049 if(rddb) break; 00050 } 00051 } 00052 } 00053 00054 MSG("TriD",Msg::kInfo) << "EventFilter: No snarl.\n"; 00055 return JobCResult::kPassed; 00056 }
| FilterEvent::ClassDef | ( | FilterEvent | , | |
| 0 | ||||
| ) | [private] |
1.4.7