// ----------------------------------------------------------------------------- // ----- TMbsUnpackTofPar source file ----- // ----- ----- // ----- created by C. Simon on 2014-03-18 ----- // ----- ----- // ----- based on TMbsUnpackTofPar by P.-A. Loizeau ----- // ----- https://subversion.gsi.de/fairroot/cbmroot/development/ploizeau/ ----- // ----- main/unpack/tof/TMbsUnpackTofPar.cxx ----- // ----- revision 21645, 2013-09-06 ----- // ----------------------------------------------------------------------------- #include "TMbsUnpackTofPar.h" // TOF headers #include "TofDef.h" // FAIR headers #include "FairLogger.h" #include "FairParamList.h" // ROOT headers ClassImp(TMbsUnpackTofPar) TMbsUnpackTofPar::TMbsUnpackTofPar() : FairParGenericSet("TMbsUnpackTofPar","Mbs Unpack parameters for the ToF","TestDefaultContext"), fiMbsSourceMode(0), fuCbmOutOn(0), fuVftxDebug(0), fuNbVmeBoards(0), fuNbNonVmeBoards(0), fuNbScalerB(0), fuNbScalerActiveB(0), fuNbTriglog(0), fuNbTriglogActive(0), fuNbScalOrMu(0), fuNbScalOrMuActive(0), fuNbTdc(0), fuNbTdcActive(0), fuNbV1290(0), fuNbVftx(0), fuNbGet4(0), fuTrbSebNb(0), fuTrbTdcNb(0), fuTrbHubNb(0), fiTriggerRejection(0) { } TMbsUnpackTofPar::TMbsUnpackTofPar(const char* name, const char* title, const char* context, Int_t iMode ) : FairParGenericSet(name,title,context), fiMbsSourceMode(iMode), fuCbmOutOn(0), fuVftxDebug(0), fuNbVmeBoards(0), fuNbNonVmeBoards(0), fuNbScalerB(0), fuNbScalerActiveB(0), fuNbTriglog(0), fuNbTriglogActive(0), fuNbScalOrMu(0), fuNbScalOrMuActive(0), fuNbTdc(0), fuNbTdcActive(0), fuNbV1290(0), fuNbVftx(0), fuNbGet4(0), fuTrbSebNb(0), fuTrbTdcNb(0), fuTrbHubNb(0), fiTriggerRejection(0) { } TMbsUnpackTofPar::~TMbsUnpackTofPar() { } void TMbsUnpackTofPar::clear(void) { status = kFALSE; resetInputVersions(); fiMbsSourceMode = 0; fuCbmOutOn = 0; fuVftxDebug = 0; fuNbVmeBoards = 0; fuNbNonVmeBoards = 0; fuNbScalerB = 0; fuNbScalerActiveB = 0; fuNbTriglog = 0; fuNbTriglogActive = 0; fuNbScalOrMu = 0; fuNbScalOrMuActive = 0; fuNbTdc = 0; fuNbTdcActive = 0; fuNbV1290 = 0; fuNbVftx = 0; fuNbGet4 = 0; fuTrbSebNb = 0; fuTrbTdcNb = 0; fuTrbHubNb = 0; fMapFpgaAddrToInDataFlag.clear(); fMapFpgaAddrToTrbSebAddr.clear(); fMapTrbSebAddrToFpgaNb.clear(); fMapTrbSebAddrToFpgaInDataNb.clear(); fMapTrbSebAddrToUnpackTdcNb.clear(); fMapTrbSebAddrToTrbSebIndex.clear(); fMapTrbSebIndexToTrbSebAddr.clear(); fMapFpgaAddrToActiveTdcIndex.clear(); fMapActiveTdcIndexToFpgaAddr.clear(); } void TMbsUnpackTofPar::putParams(FairParamList* l) { if (!l) { return; } l->add("MbsSourceMode", fiMbsSourceMode); l->add("WriteDataInCbmOut", (Int_t)fuCbmOutOn); l->add("VftxDebug", (Int_t)fuVftxDebug); l->add("MbsNbVmeBoards", (Int_t)fuNbVmeBoards); l->add("MbsVmeMapping", fiMbsVmeMapping); l->add("NbNonVmeBoards", (Int_t)fuNbNonVmeBoards); l->add("NonVmeMapping", fiNonVmeMapping); l->add("TriggerRejection", fiTriggerRejection); } Bool_t TMbsUnpackTofPar::getParams(FairParamList* l) { if (!l) { return kFALSE; } clear(); LOG(DEBUG2)<<"Get the MBS unpack parameters."<fill("MbsSourceMode", &fiMbsSourceMode) ) return kFALSE; Int_t iTempCaster = 0; if ( ! l->fill("WriteDataInCbmOut", &iTempCaster) ) return kFALSE; fuCbmOutOn = (UInt_t)iTempCaster; iTempCaster = 0; if ( ! l->fill("VftxDebug", &iTempCaster) ) return kFALSE; fuVftxDebug = (UInt_t)iTempCaster; iTempCaster = 0; if ( ! l->fill("MbsNbVmeBoards", &iTempCaster) ) return kFALSE; fuNbVmeBoards = (UInt_t)iTempCaster; if( 0 < fuNbVmeBoards ) { fiMbsVmeMapping.Set( fuNbVmeBoards * tofMbs::kuNbFieldsMapping ); if ( ! l->fill("MbsVmeMapping", &fiMbsVmeMapping) ) return kFALSE; } iTempCaster = 0; if ( ! l->fill("NbNonVmeBoards", &iTempCaster) ) return kFALSE; fuNbNonVmeBoards = (UInt_t)iTempCaster; if( 0 < fuNbNonVmeBoards ) { fiNonVmeMapping.Set( fuNbNonVmeBoards * tofMbs::kuNbFieldsMapping ); if ( ! l->fill("NonVmeMapping", &fiNonVmeMapping) ) return kFALSE; } // if( 0 < fuNbNonVmeBoards ) if ( ! l->fill("TriggerRejection", &fiTriggerRejection) ) return kFALSE; FillBoardsNbPerType(); FillActiveBoardsNbPerType(); FillTrbMaps(); // printParams(); return kTRUE; } void TMbsUnpackTofPar::printParams() { LOG(INFO)<<"Parameter values in TMbsUnpackTofPar: "< Index "<>32, (uFullTag&0xFFFFFFFF) )< Index "< Unknown board type " < Unknown board type " < Unknown board type " < Unknown board type " <