Changeset 4702 for trunk/MagicSoft/Mars/mimage/MImgCleanStd.cc
- Timestamp:
- 08/23/04 11:41:30 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mimage/MImgCleanStd.cc
r4608 r4702 250 250 #include <fstream> // ofstream, SavePrimitive 251 251 252 #include <TEnv.h> 253 252 254 #include <TGFrame.h> // TGFrame 253 255 #include <TGLabel.h> // TGLabel … … 279 281 static const TString gsDefName = "MImgCleanStd"; 280 282 static const TString gsDefTitle = "Task to perform image cleaning"; 283 284 const TString MImgCleanStd::gsNamePedPhotCam="MPedPhotCam"; // default name of the 'MPedPhotCam' container 281 285 282 286 // -------------------------------------------------------------------------- … … 291 295 const char *name, const char *title) 292 296 : fCleaningMethod(kStandard), fCleanLvl1(lvl1), 293 fCleanLvl2(lvl2), fCleanRings(1), fNamePedPhotC ontainer("MPedPhotCam")297 fCleanLvl2(lvl2), fCleanRings(1), fNamePedPhotCam(gsNamePedPhotCam) 294 298 295 299 { … … 499 503 if (!fCam) 500 504 { 501 *fLog << dbginf<< "MGeomCam not found (no geometry information available)... aborting." << endl;505 *fLog << err << "MGeomCam not found (no geometry information available)... aborting." << endl; 502 506 return kFALSE; 503 507 } … … 506 510 if (!fEvt) 507 511 { 508 *fLog << dbginf<< "MCerPhotEvt not found... aborting." << endl;512 *fLog << err << "MCerPhotEvt not found... aborting." << endl; 509 513 return kFALSE; 510 514 } 511 515 512 fPed = (MPedPhotCam*)pList->FindObject(AddSerialNumber(fNamePedPhotC ontainer), "MPedPhotCam");516 fPed = (MPedPhotCam*)pList->FindObject(AddSerialNumber(fNamePedPhotCam), "MPedPhotCam"); 513 517 if (!fPed) 514 518 { 515 *fLog << dbginf<< "MPedPhotCam not found... aborting." << endl;519 *fLog << err << "MPedPhotCam not found... aborting." << endl; 516 520 return kFALSE; 517 521 } 522 523 fTime = (MArrivalTime*)pList->FindObject(AddSerialNumber("MArrivalTime")); 524 if (!fTime && fCleaningMethod==kProbability) 525 *fLog << warn << "MArrivalTime not found... probability cleaning done with signal only!" << endl; 518 526 519 527 fData = (MCameraData*)pList->FindCreateObj(AddSerialNumber("MCameraData")); … … 541 549 fData->CalcCleaningLevelDemocratic(*fEvt, *fPed, *fCam); 542 550 break; 551 /* 552 case kProbability: 553 fData->CalcCleaningProbability(*fEvt, *fPed, *fCam, fTime); 554 break;*/ 555 default: 556 break; 543 557 } 544 558 … … 556 570 // For speed reasons skip the rest of the cleaning if no 557 571 // action will be taken! 558 if (fCleanLvl1<=fCleanLvl2) 559 return kTRUE; 560 572 if (fCleanLvl1>fCleanLvl2) 573 { 561 574 #ifdef DEBUG 562 *fLog << all << "CleanStep 3" << endl;575 *fLog << all << "CleanStep 3" << endl; 563 576 #endif 564 CleanStep3(); 577 CleanStep3(); 578 } 579 580 #ifdef DEBUG 581 *fLog << all << "Calc Islands" << endl; 582 #endif 583 // Takes roughly 10% of the time 584 fEvt->CalcIslands(*fCam); 585 565 586 #ifdef DEBUG 566 587 *fLog << all << "Done." << endl; … … 587 608 case kScaled: 588 609 *fLog << "scaled"; 610 break; 611 case kProbability: 612 *fLog << "probability"; 589 613 break; 590 614 } … … 711 735 out << ");" << endl; 712 736 713 if (fCleaningMethod!=kDemocratic) 714 return; 715 716 out << " " << GetUniqueName() << ".SetMethod(MImgCleanStd::kDemocratic);" << endl; 717 718 if (fCleanRings==1) 719 return; 720 721 out << " " << GetUniqueName() << ".SetCleanRings(" << fCleanRings << ");" << endl; 722 } 737 if (fCleaningMethod!=kStandard) 738 { 739 out << " " << GetUniqueName() << ".SetMethod(MImgCleanStd::k"; 740 switch (fCleaningMethod) 741 { 742 case kScaled: out << "Scaled"; break; 743 case kDemocratic: out << "Democratic"; break; 744 case kProbability: out << "Probability"; break; 745 default: 746 break; 747 } 748 out << ");" << endl; 749 } 750 if (fCleanRings!=1) 751 out << " " << GetUniqueName() << ".SetCleanRings(" << fCleanRings << ");" << endl; 752 753 if (gsNamePedPhotCam!=fNamePedPhotCam) 754 out << " " << GetUniqueName() << ".SetNamePedPhotCam(\"" << fNamePedPhotCam << "\");" << endl; 755 } 756 757 // -------------------------------------------------------------------------- 758 // 759 // Read the setup from a TEnv, eg: 760 // MImgCleanStd.CleanLevel1: 3.0 761 // MImgCleanStd.CleanLevel2: 2.5 762 // MImgCleanStd.CleanMethod: Standard, Scaled, Democratic, Probability 763 // MImgCleanStd.CleanRings: 1 764 // 765 Int_t MImgCleanStd::ReadEnv(const TEnv &env, TString prefix, Bool_t print) 766 { 767 Bool_t rc = kFALSE; 768 if (IsEnvDefined(env, prefix, "CleanRings", print)) 769 { 770 rc = kTRUE; 771 SetCleanRings(GetEnvValue(env, prefix, "CleanRings", fCleanRings)); 772 } 773 if (IsEnvDefined(env, prefix, "CleanLevel1", print)) 774 { 775 rc = kTRUE; 776 fCleanLvl1 = GetEnvValue(env, prefix, "CleanLevel1", fCleanLvl1); 777 } 778 if (IsEnvDefined(env, prefix, "CleanLevel2", print)) 779 { 780 rc = kTRUE; 781 fCleanLvl2 = GetEnvValue(env, prefix, "CleanLevel2", fCleanLvl2); 782 } 783 784 if (IsEnvDefined(env, prefix, "CleanMethod", print)) 785 { 786 rc = kTRUE; 787 TString s = GetEnvValue(env, prefix, "CleanMethod", ""); 788 s.ToLower(); 789 if (s.BeginsWith("standard")) 790 SetMethod(kStandard); 791 if (s.BeginsWith("scaled")) 792 SetMethod(kScaled); 793 if (s.BeginsWith("democratic")) 794 SetMethod(kDemocratic); 795 if (s.BeginsWith("probability")) 796 SetMethod(kProbability); 797 } 798 799 return rc; 800 }
Note:
See TracChangeset
for help on using the changeset viewer.