00001 #include "TSpadicV10Param.h" 00002 00003 #include "TGo4Log.h" 00004 00005 TSpadicV10Param::TSpadicV10Param() : TGo4Parameter() 00006 { 00007 numBoards = 0; 00008 for (int brd=0;brd<MAX_SPADICV10_BOARDS;brd++) 00009 activeBoards[brd] = 0; 00010 00011 noTrigger = kTRUE; // ignore trigger window and take all messages with initial event division 00012 triggerSignal = 0; // 0 .. 3 is AUXs, 10-11 is SYNCs 00013 globalTrigger = kFALSE; // true for selecting messages under global corrected time window, false for using separate windows for each roc 00014 masterBoard = 77777; // id number of ROC which is time/trigger reference, big number is disable master board 00015 00016 maxBufferTriggers=10; 00017 maxBufferLoops=10; 00018 doSorting = kFALSE; // perform time sorting of messages 00019 00020 debugLevel = 0; 00021 } 00022 00023 00024 00025 TSpadicV10Param::TSpadicV10Param(const char* name) : TGo4Parameter(name) 00026 { 00027 numBoards = 1; 00028 for (int brd=0;brd<MAX_SPADICV10_BOARDS;brd++) 00029 activeBoards[brd] = 0; 00030 00031 globalTrigger = true; 00032 //nxDiffCh = -1; // do not build diff histograms per default 00033 00034 // use AUX2 as default trigger signal, while it is external trigger input for ROC 00035 triggerSignal = 2; 00036 noTrigger = kTRUE; 00037 masterBoard = -1; 00038 00039 maxBufferTriggers=10; 00040 maxBufferLoops=10; 00041 doSorting = kTRUE; 00042 00043 debugLevel = 0; 00044 } 00045 00046 TSpadicV10Param::~TSpadicV10Param() 00047 { 00048 00049 } 00050 00051 Bool_t TSpadicV10Param::UpdateFrom(TGo4Parameter* rhs) 00052 { 00053 TGo4Log::Info("TSpadicV10Param::UpdateFrom"); 00054 if(!TGo4Parameter::UpdateFrom(rhs)) return kFALSE; 00055 return SetConfigSpadicV10s(); 00056 } 00057 00058 Bool_t TSpadicV10Param::SetConfigSpadicV10s() 00059 { 00060 for (unsigned brd=0;brd<MAX_SPADICV10_BOARDS; brd++) { 00061 TSpadicV10Event::ConfigBoards[brd] = (brd < numBoards) ? (activeBoards[brd] > 0) : kFALSE; 00062 TGo4Log::Info("TSpadicV10Param::SetConfigSpadicV10s sets board %u to active: %s", brd, TSpadicV10Event::ConfigBoards[brd] ? "true" : "false"); 00063 } 00064 return kTRUE; 00065 } 00066 00067