/// ------------------------------------------------------------------------------------------------ /// Method which is called once at the beginning of the job void info::beginJob(Event& evt, Env& env) { MsgLog(name(), debug, "beginJob()" ); p_pvs[pvDetPos].name = "CXI:DS1:MMS:06"; p_pvs[pvDetPos].desc = "detector position"; p_pvs[pvLambda].name = "SIOC:SYS0:ML00:AO192"; p_pvs[pvLambda].desc = "wavelength [nm]"; p_pvs[pvElEnergy].name = "BEND:DMP1:400:BDES"; p_pvs[pvElEnergy].desc = "electron beam energy"; p_pvs[pvNElectrons].name = "BPMS:DMP1:199:TMIT1H"; p_pvs[pvNElectrons].desc = "particle N_electrons"; p_pvs[pvRepRate].name = "EVNT:SYS0:1:LCLSBEAMRATE"; p_pvs[pvRepRate].desc = "LCLS repetition rate [Hz]"; p_pvs[pvPeakCurrent].name = "SIOC:SYS0:ML00:AO195"; p_pvs[pvPeakCurrent].desc = "peak current after second bunch compressor"; p_pvs[pvPulseLength].name = "SIOC:SYS0:ML00:AO820"; p_pvs[pvPulseLength].desc = "pulse length"; p_pvs[pvEbeamLoss].name = "SIOC:SYS0:ML00:AO569"; p_pvs[pvEbeamLoss].desc = "ebeam energy loss converted to photon mJ"; p_pvs[pvNumPhotons].name = "SIOC:SYS0:ML00:AO580"; p_pvs[pvNumPhotons].desc = "calculated number of photons"; p_pvs[pvPhotonEnergy].name = "SIOC:SYS0:ML00:AO541"; p_pvs[pvPhotonEnergy].desc = "photon beam energy [eV]"; //initialize the value and valid fields of the pv structs in the map for (map<string,pv>::iterator it = p_pvs.begin(); it != p_pvs.end(); it++){ it->second.value = 0.; it->second.valid = false; it->second.changed = false; } ostringstream header; header << "run "; map<string,pv>::iterator it; for(it = p_pvs.begin(); it != p_pvs.end(); it++){ header << it->second.name << " "; } header << endl; header << "run "; for(it = p_pvs.begin(); it != p_pvs.end(); it++){ header << it->second.desc << " "; } header << endl; std::ofstream headerfile("header.txt"); headerfile << header.str() << endl; }
void Header::write(string path) { string output = path; #if BINARY_HEADER FILE *header = fopen((output.append(".hdt.header")).c_str(), "w+"); // Graph parsing fwrite(&parsing,INT32,1,header); // Dictionary mapping fwrite(&mapping,INT32,1,header); // Dictionary separator fwrite(&d_separator,INT32,1,header); // Triples encoding fwrite(&t_encoding,INT32,1,header); // Statistics from the Dictionary fwrite(&nsubjects,INT32,1,header); fwrite(&npredicates,INT32,1,header); fwrite(&nobjects,INT32,1,header); fwrite(&ssubobj,INT32,1,header); // Triples in the dataset fwrite(&ntriples,INT32,1,header); fclose(header); #else ofstream headerfile( (output.append(".hdt.header")).c_str()); headerfile << "Parsing: " << parsing << endl << "Mapping: " << mapping << endl << "Separator: " << d_separator << endl << "Encoding: " << t_encoding << endl << "NSubjects: " << nsubjects << endl << "NPredicates: " << npredicates << endl << "NObjects: " << nobjects << endl << "NShared: " << ssubobj << endl << "Triples: " << ntriples << endl << "NLiterals: " << nliterals << endl << "Nentries: " << nentries << endl; headerfile.close(); #endif }
void acquire_scans (void) { int color; int Nleft=0; char file [ FILENAME_MAX ]; SetCtrlAttribute (Main_pnl_handle, ERG_panel_acquire, ATTR_DIMMED, 1); SetCtrlAttribute (Main_pnl_handle, ERG_panel_abortscan, ATTR_DIMMED, 1); if (experiment==1){ GetCtrlVal (Sequence_pnl_handle, Seq_panel_seq_number, &seq_num); Nscans= seq_num*m; } else { GetCtrlVal (Main_pnl_handle, ERG_panel_nscans, &Nscans); } DirSelectPopup ("d:\\data\\test", "Select Directory", 1, 1, pathname); i=0; SetCtrlAttribute (Main_pnl_handle, ERG_panel_pause, ATTR_DIMMED, 0); SetCtrlAttribute (Main_pnl_handle, ERG_panel_abortscan, ATTR_DIMMED, 0); // start trigger SRS_flag=2; SRS_onoff(); DeleteGraphPlot (Main_pnl_handle, ERG_panel_mask_display, -1, VAL_IMMEDIATE_DRAW); if (experiment==1){ // mode sequence for (i=0;i<seq_num;i++) { for (h=0;h<m;h++){ SetCtrlIndex (Sequence_pnl_handle, Seq_panel_mask_list, h); for (k=0;k<Npixel;k++){ drive_level[k]=mask[h].voltages[k]; } display_masks(); ProcessSystemEvents(); GetLabelFromIndex (Sequence_pnl_handle, Seq_panel_mask_list, h, &mask_filename); strcpy(filename, pathname); //prepare file to write sprintf(file, "\\sequence%d_%s.txt", i, mask_filename); strcat(filename, file); data_file = OpenFile (filename, VAL_WRITE_ONLY, VAL_TRUNCATE, VAL_ASCII); //enable oscillo then wait for trigger and get ERG trace color=floor(256/Nscans)*(i*m+h); waveform(color, data_file); get_intensity(); //write header file headerfile(); //write ERG trace ArrayToFile (filename, data2fit, VAL_DOUBLE, 10000, 1, VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_ROWS, VAL_SEP_BY_TAB, 100, VAL_ASCII, VAL_APPEND); nmeasure[0]=i*m+h+1; displaychannel(); Nleft=Nscans-(i*m+h); SetCtrlVal (Main_pnl_handle, ERG_panel_nremain, Nleft); ProcessSystemEvents(); if (pause_flag) { while (pause_flag) ProcessSystemEvents(); } } } } else{ // mode normal //prepare file name for acquiring data while ( i < Nscans ) { strcpy(filename, pathname); sprintf(file, "\\scope_data%d.txt", i); strcat(filename, file); data_file = OpenFile (filename, VAL_WRITE_ONLY, VAL_TRUNCATE, VAL_ASCII); color=floor(256/Nscans)*i; waveform(color, data_file); get_intensity(); headerfile(); ArrayToFile (filename, data2fit, VAL_DOUBLE, 10000, 1, VAL_GROUPS_TOGETHER, VAL_GROUPS_AS_ROWS, VAL_SEP_BY_TAB, 100, VAL_ASCII, VAL_APPEND); i++; Nleft=Nscans-i+1; SetCtrlVal (Main_pnl_handle, ERG_panel_nremain, Nleft); ProcessSystemEvents(); if (pause_flag) { while (pause_flag) ProcessSystemEvents(); } CloseFile (data_file); } } SetCtrlVal (Main_pnl_handle, ERG_panel_nremain, 0); SetCtrlAttribute (Main_pnl_handle, ERG_panel_pause, ATTR_DIMMED, 1); SetCtrlAttribute (Main_pnl_handle, ERG_panel_abortscan, ATTR_DIMMED, 1); SetCtrlAttribute (Main_pnl_handle, ERG_panel_acquire, ATTR_DIMMED, 0); // stop trigger SRS_flag=0; SRS_onoff(); ibsic(device); return; }
void Header::read(string path) { string output = path; #if BINARY_HEADER FILE *header = fopen((output.append(".hdt.header")).c_str(), "r"); if (header==NULL) { cout << "Exception while reading Header in "<<output<<".\n"; exit(1); } size_t t = 0; // Graph parsing t += fread(&parsing,INT32,1,header); // Dictionary mapping t += fread(&mapping,INT32,1,header); // Dictionary separator t += fread(&d_separator,INT32,1,header); // Triples encoding t += fread(&t_encoding,INT32,1,header); // Dictionary stats t += fread(&nsubjects,INT32,1,header); // Dictionary mapping t += fread(&npredicates,INT32,1,header); // Dictionary separator t += fread(&nobjects,INT32,1,header); // Triples encoding t += fread(&ssubobj,INT32,1,header); // Triples in the dataset t += fread(&ntriples,INT32,1,header); if (t != 9) { cout << " <ERROR> Errors in Header" << endl; exit(1); } fclose(header); #else try { ifstream headerfile( (output.append(".hdt.header")).c_str()); if(headerfile.good()) { string line; getline(headerfile, line, ' '); headerfile >> parsing; getline(headerfile, line, ' '); headerfile >> mapping; getline(headerfile, line, ' '); headerfile >> d_separator; getline(headerfile, line, ' '); headerfile >> t_encoding; getline(headerfile, line, ' '); headerfile >> nsubjects; getline(headerfile, line, ' '); headerfile >> npredicates; getline(headerfile, line, ' '); headerfile >> nobjects; getline(headerfile, line, ' '); headerfile >> ssubobj; getline(headerfile, line, ' '); headerfile >> ntriples; getline(headerfile, line, ' '); headerfile >> nliterals; getline(headerfile, line, ' '); headerfile >> nentries; } headerfile.close(); }
int CGenerator::Generate() { // init file pointers for output files for (int n=0; n<eFileCount; ++n) { if (!mFileNames[n].empty()) { mOutputFiles[n] = fopen(mFileNames[n].c_str(), "w"); } } // write header header(); // write per file headers {for (lstSourceFilesCtrType ctr=mlstSourceFiles.begin(); ctr!=mlstSourceFiles.end(); ctr++) { SetVariable(VAR_HEADERFILE, ctr->c_str()); headerfile(); }} ClearVariable(VAR_HEADERFILE); // :TODO: parser internal, put this into the parser // init this to the default, if no alias is set SetVariable(CGenerator::VAR_ITEM, mpszItem); SetVariable(CGenerator::VAR_ID, mpszId); // :TODO: pass this as param to yyparse spGenerator = this; int nRetVal = 0; // parse files and create the main work {for (lstSourceFilesCtrType ctr=mlstSourceFiles.begin(); nRetVal==0 && ctr!=mlstSourceFiles.end(); ctr++) { SetVariable(VAR_HEADERFILE, ctr->c_str()); #if YYDEBUG yydebug = 1; #endif FILE * fParse = fopen(ctr->c_str(), "r"); if (fParse) { yyrestart(fParse); nRetVal = yyparse(); fclose(fParse); } else { printf("error: could not open file %s\n", ctr->c_str()); nRetVal = -1; } }} ClearVariable(VAR_HEADERFILE); // remove the parsers pointer to the generator spGenerator = NULL; // write per file footers {for (lstSourceFilesCtrType ctr=mlstSourceFiles.begin(); ctr!=mlstSourceFiles.end(); ctr++) { SetVariable(VAR_HEADERFILE, ctr->c_str()); footerfile(); }} ClearVariable(VAR_HEADERFILE); // write footer footer(); // close files for (int n=0; n<eFileCount; ++n) { if (mOutputFiles[n] != 0) { fclose(mOutputFiles[n]); mOutputFiles[n] = 0; } } return nRetVal; }
static void DumpLoadersCode() { std::vector<codeentry> entries; for (VertexLoaderMap::const_iterator iter = s_vertex_loader_map.begin(); iter != s_vertex_loader_map.end(); ++iter) { if (!iter->second->IsPrecompiled()) { codeentry e; e.conf.append(To_HexString(iter->first.GetElement(0))); e.conf.append(", "); e.conf.append(To_HexString(iter->first.GetElement(1))); e.conf.append(", "); e.conf.append(To_HexString(iter->first.GetElement(2))); e.conf.append(", "); e.conf.append(To_HexString(iter->first.GetElement(3))); e.name = iter->second->GetName(); e.num_verts = iter->second->m_numLoadedVertices; e.hash = std::to_string(iter->first.GetHash()); entries.push_back(e); } } if (entries.size() == 0) { return; } std::string filename = StringFromFormat("%sG_%s_pvt.h", File::GetUserPath(D_DUMP_IDX).c_str(), last_game_code.c_str()); std::string header; header.append("// Copyright 2013 Dolphin Emulator Project\n"); header.append("// Licensed under GPLv2+\n"); header.append("// Refer to the license.txt file included.\n"); header.append("// Added for Ishiiruka by Tino\n"); header.append("#pragma once\n"); header.append("#include <map>\n"); header.append("#include \"VideoCommon/NativeVertexFormat.h\"\n"); header.append("class G_"); header.append(last_game_code); header.append("_pvt\n{\npublic:\n"); header.append("static void Initialize(std::map<u64, TCompiledLoaderFunction> &pvlmap);\n"); header.append("};\n"); std::ofstream headerfile(filename); headerfile << header; headerfile.close(); filename = StringFromFormat("%sG_%s_pvt.cpp", File::GetUserPath(D_DUMP_IDX).c_str(), last_game_code.c_str()); sort(entries.begin(), entries.end()); std::string sourcecode; sourcecode.append("#include \"VideoCommon/G_"); sourcecode.append(last_game_code); sourcecode.append("_pvt.h\"\n"); sourcecode.append("#include \"VideoCommon/VertexLoader_Template.h\"\n\n"); sourcecode.append("\n\nvoid G_"); sourcecode.append(last_game_code); sourcecode.append("_pvt::Initialize(std::map<u64, TCompiledLoaderFunction> &pvlmap)\n{\n"); for (std::vector<codeentry>::const_iterator iter = entries.begin(); iter != entries.end(); ++iter) { sourcecode.append("\t// "); sourcecode.append(iter->name); sourcecode.append("\n// num_verts= "); sourcecode.append(std::to_string(iter->num_verts)); sourcecode.append("#if _M_SSE >= 0x301\n"); sourcecode.append("\tif (cpu_info.bSSSE3)\n"); sourcecode.append("\t{\n"); sourcecode.append("\t\tpvlmap["); sourcecode.append(iter->hash); sourcecode.append("] = "); sourcecode.append("TemplatedLoader"); sourcecode.append("<0x301, "); sourcecode.append(iter->conf); sourcecode.append(">;\n"); sourcecode.append("\t}\n\telse\n"); sourcecode.append("#endif\n"); sourcecode.append("\t{\n"); sourcecode.append("\t\tpvlmap["); sourcecode.append(iter->hash); sourcecode.append("] = "); sourcecode.append("TemplatedLoader"); sourcecode.append("<0, "); sourcecode.append(iter->conf); sourcecode.append(">;\n"); sourcecode.append("\t}\n"); } sourcecode.append("}\n"); std::ofstream out(filename); out << sourcecode; out.close(); }