Changeset 12161 for trunk/FACT++/src
- Timestamp:
- 10/02/11 13:33:05 (13 years ago)
- Location:
- trunk/FACT++/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/src/DataWriteFits.cc
r12160 r12161 44 44 fFile.AddColumn('C', "Errors", 4); 45 45 fFile.AddColumn('I', "SoftTrig"); 46 fFile.AddColumn('I', " UnixTimeUTC",2);46 fFile.AddColumn('I', "PCTime", 2); 47 47 fFile.AddColumn('I', "BoardTime", NBOARDS); 48 48 fFile.AddColumn('S', "StartCellData", NPIX); -
trunk/FACT++/src/PixelMap.h
r12160 r12161 31 31 int group() const { return pixel()>4; } 32 32 int hv() const { return hv_channel+hv_board*32; } 33 34 operator bool() const { return index>=0; }35 33 }; 36 34 … … 183 181 }; 184 182 183 //const PixelMapEntry PixelMap::empty = { 0, 0, 0, 0, 0, 0 }; 184 185 185 #endif -
trunk/FACT++/src/feedback.cc
r12160 r12161 301 301 // Kd = 0; 302 302 303 // -110 / -110 (-23 DAC / -0.51V) 304 // Reference voltage: -238 / -203 305 // -360 / -343 ( 23 DAC / 0.51V) 306 307 // 0.005 A/V 308 // 220 Amplitude / 1V 309 310 // Gain = 1V / 200 = 0.005 311 303 312 // => Kp = 0.01 * gain = 0.00005 304 313 // => Ki = 0.8 * gain/20s = 0.00025 305 314 // => Kd = 0.1 * gain/20s = 0.00003 306 315 307 //valarray<double> correction = 308 // - Kp * (PV[2] - PV[1]) 309 // + dT * Ki * (SP - PV[2]) 310 // - Kd / dT * (PV[2] - 2*PV[1] + PV[0]); 311 // 312 // - (Kp+Kd/dT1) * (PV[2] - PV[1]) 313 // + dT2 * Ki * (SP - PV[2]) 314 // + Kd / dT1 * (PV[1] - PV[0]); 315 // 316 // - Kp * (PV[2] - PV[1]) 317 // + Ki * (SP - PV[2])*dT 318 // - Kd * (PV[2] - PV[1])/dT 319 // + Kd * (PV[1] - PV[0])/dT; 320 // 316 //valarray<double> correction = - Kp*(PV[2] - PV[1]) + Ki * dT * (SP-PV[2]) - Kd/dT * (PV[2] - 2*PV[1] + PV[0]); 321 317 //valarray<double> correction = 322 318 // - Kp*(PV[2] - PV[1]) + Ki * T21 * (SP-PV[2]) - Kd*(PV[2]-PV[1])/T21 - Kd*(PV[0]-PV[1])/T01; … … 328 324 ); 329 325 330 /*331 integral = 0332 start:333 integral += (fSP - fPV[2])*dt334 335 output = Kp*(fSP - fPV[2]) + Ki*integral - Kd*(fPV[2] - fPV[1])/dt336 337 wait(dt)338 339 goto start340 */341 342 326 vector<float> vec(2*BIAS::kNumChannels); 343 327 for (int i=0; i<BIAS::kNumChannels; i++) … … 353 337 Info("Sending correction to feedback."); 354 338 355 DimClient::sendCommandNB("BIAS_CONTROL/ADD_REFERENCE_VOLTAGES",356 339 dic_cmnd_service((char*)"BIAS_CONTROL/ADD_REFERENCE_VOLTAGES", 340 (void*)(vec.data()+416), 416*sizeof(float)); 357 341 358 342 /* … … 623 607 return 1; 624 608 } 625 626 // -110 / -110 (-23 DAC / -0.51V)627 // Reference voltage: -238 / -203628 // -360 / -343 ( 23 DAC / 0.51V)629 630 // 0.005 A/V631 // 220 Amplitude / 1V632 633 // Gain = 1V / 200 = 0.005634 609 635 610 fGain = 5; // (BIAS)V / (DRS)V ( 1V / 0.22V ) … … 701 676 void PrintHelp() 702 677 { 703 Main::PrintHelp<StateMachineFeedback>();704 705 678 /* Additional help text which is printed after the configuration 706 679 options goes here */ -
trunk/FACT++/src/tools.cc
r12160 r12161 73 73 return str.substr(start, end-start+1); 74 74 } 75 76 // --------------------------------------------------------------------------77 //78 //! This is a static helper to remove leading and trailing whitespaces.79 //!80 //! Usage example:81 //!82 //! \code83 //! string str = " Dies ist ein test fuer einen ganz langen Satz "84 //! "und ob er korrekt umgebrochen und formatiert wird. Alles "85 //! "nur ein simpler test aber trotzdem ganz wichtig.";86 //!87 //! cout << setfill('-') << setw(40) << "+" << endl;88 //! while (1)89 //! {90 //! const string rc = Tools::Wrap(str, 40);91 //! if (rc.empty())92 //! break;93 //! cout << rc << endl;94 //! }95 //! \endcode96 //!97 string Tools::Wrap(string &str, size_t width)98 {99 const size_t pos = str.length()<width ? string::npos : str.find_last_of(' ', width);100 if (pos==string::npos)101 {102 const string rc = str;103 str = "";104 return rc;105 }106 107 const size_t indent = str.find_first_not_of(' ');108 109 const string rc = str.substr(0, pos);110 const size_t p2 = str.find_first_not_of(' ', pos+1);111 112 str = str.substr(0, indent) + str.substr(p2==string::npos ? pos+1 : p2);113 114 return rc;115 } -
trunk/FACT++/src/tools.h
r12160 r12161 1 #ifndef FACT_Tools2 #define FACT_Tools3 4 1 #include <string> 5 2 … … 9 6 std::string Form(const char *fmt, ...); 10 7 std::string Trim(const std::string &str); 11 std::string Wrap(std::string &str, size_t width=78);12 8 } 13 14 #endif
Note:
See TracChangeset
for help on using the changeset viewer.