Overview | Releases | Download | Docs | Links | Help | RecentChanges

OnasicNaughtinesses

In

 /afs/cern.ch/atlas/project/tdaq/cmt/tdaq-01-09-00/onasic/src/onasic_is2okscore.cpp

we see

/*--------------Create OKSCLASS from IsInfo--------------------*/
void OKS_GetSchema(ISCallbackInfo * isc)
{
  if (verbosity>=5 ) {std::cout << "ONASIC "<< "SDEBUG:  " << " Entering in <void OKS_GetSchema(ISCallbackInfo * isc)> function..."  << std::endl;}  //std::cout << "ONASIC "<< "SDEBUG:  " << " Entering in <void OKS_GetSchema(ISCallbackInfo * isc)> function..."  << std::endl;
  ISInfoAny isa;
  isc->value(isa);
  if (verbosity >= 2) {std::cout << "ONASIC "<< "INFO:  " << "Creating Schema for " << isc->name() << " lumi="<<lumi_block << std::endl;}
  if (verbosity >= 3) {std::cout << "ONASIC "<< "DEBUG:  " << "Creating Schema for " << isc->name()<<" with isa :\n"<<isa;}
  //std::cout << "pname: " << pname.c_str() << "       \nisa:" << isa << std::endl ;
        if(!strcmp(isc->name(),"RunParams.LuminosityInfo")) RNLB=GetRunLumiNumber(isc);

-- snip --

               cout << "PROCESSING OBJECT WITH FORMAT STRING!!!!!!!" << endl;
                long long ccc=-1;
                /*GetNums(ServersConf["ISService"].sValue(),ServersConf["Format"].sValue(),run_number,lumi_block,ccc);*/
                GetNums((*(TIDBRow*)isc->parameter())["ISService"].sValue(),(*(TIDBRow*)isc->parameter())["Format"].sValue(),run_number,lumi_block,ccc);
                if (ccc!=-1) {
                        d.Set(toString(ccc));
                        o->SetAttributeValue("__OKS2COOL_ID__",&d);
                        ServersConf["ChannelID"].set(ccc);
                        /*(*(TIDBRow*)isc->parameter())["ChannelID"].set(ccc);*/
                        }
                if(ServersConf["IOV_Type"].sValue()=="RunLumi")
                /*if((*(TIDBRow*)isc->parameter())["IOV_Type"].sValue()=="RunLumi")*/{
                                        //d.Set(toString(10000*run_number+lumi_block));
                                        d.Set(toString((long long)RNLB));
                                        o->SetAttributeValue("__OKS2COOL_TIMESTAMP__",&d);
                                        //WARN("Assigning RunLB: "+toString(10000*run_number+lumi_block));
                                        WARN("Assigning RunLB: "+toString((long long)(run_number*(pow((long double)2,(long double)32))+lumi_block)));
                }

in which ONASIC appears to get run number and lumi block information from IS objects called RunParams?.LuminosityInfo? in a special way that is not afforded to other IS objects.