- Timestamp:
- 04/21/10 16:46:18 (15 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r9573 r9574 18 18 19 19 -*-*- END OF LINE -*-*- 20 21 2010/04/21 Thomas Bretz 22 23 * macros/rootlogon.C: 24 - a small fix which gets rid of the annoying error about an 25 unlocked mutex when starting the MStatusDisplay in the 26 interpreter. It makes sure that fGThreadFactory gets initialized 27 from the main thread. 28 29 * mbase/MStatusDisplay.cc: 30 - added a console output if TryLock fails 31 - the return value of TString::Index was misinterpreted 32 33 * mmuon/MHSingleMuon.cc: 34 - removed another reference to gMinuit 35 36 * msimcamera/MSimRandomPhotons.cc: 37 - re-did the output 38 - choose the other rate f2 instead of f1 39 40 * msimcamera/MSimTrigger.[h,cc]: 41 - keep the index of the trigger channel which finnaly issued 42 the trigger and propagate it to the event header 43 44 * mraw/MrawEvtHeader.h: 45 - implementd setter for fNumTriggerLvl1 46 47 20 48 21 49 2010/04/19 Thomas Bretz -
trunk/MagicSoft/Mars/NEWS
r9565 r9574 12 12 * Allow for individual mirrors with parabolic shape (for details see 13 13 MReflector::ReadFile) 14 15 * As an additional output artificial star-files are written. They 16 contain star output compatible output based on the signal as 17 in the artificial callisto output files. 18 19 * The trigger channel which issued the trigger is now stored in 20 MRawEvtHeader::fNumTriggerLvl1 14 21 15 22 -
trunk/MagicSoft/Mars/macros/rootlogon.C
r9274 r9574 124 124 MLog::RedirectErrorHandler(MLog::kColor); 125 125 126 // This initialized the thread factory. This is needed to supress 127 // an error which is displayed if the thread factory is initialized 128 // from another than the main thread (e.g. in the constructor 129 // of MStatusDisplay) 130 TThread::Self(); 131 126 132 gInterpreter->AddIncludePath(dir+"macros"); 127 133 gInterpreter->AddIncludePath(dir+"manalysis"); -
trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc
r9410 r9574 1223 1223 // in the same thread 1224 1224 // 1225 if (fMutex->TryLock()) 1225 const Int_t rc = fMutex->TryLock(); 1226 if (rc==13) 1227 gLog << warn << "MStatusDisplay::UpdateTab - mutex is already locked by this thread." << endl; 1228 1229 if (rc) 1226 1230 return; 1227 1231 … … 2638 2642 { 2639 2643 Bool_t found = kFALSE; 2640 if (name.Index("%%%%name%%%%") )2644 if (name.Index("%%%%name%%%%")>=0) 2641 2645 { 2642 2646 name.ReplaceAll("%%name%%", c->GetName()); … … 2644 2648 } 2645 2649 2646 if (name.Index("%%%%title%%%%") )2650 if (name.Index("%%%%title%%%%")>=0) 2647 2651 { 2648 2652 name.ReplaceAll("%%title%%", c->GetTitle()); … … 2650 2654 } 2651 2655 2652 if (name.Index("%%%%tab%%%%") )2656 if (name.Index("%%%%tab%%%%")>=0) 2653 2657 { 2654 2658 name.ReplaceAll("%%tab%%", MString::Format("%d", i)); -
trunk/MagicSoft/Mars/mmuon/MHSingleMuon.cc
r9573 r9574 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: MHSingleMuon.cc,v 1.2 0 2010-04-19 12:40:16tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: MHSingleMuon.cc,v 1.21 2010-04-21 15:42:24 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 433 433 // Q quiet mode 434 434 // fHistWidth.Fit(&f1, "QRO"); 435 fHistWidth.Fit(&f1, "QRN"); 436 437 if (!gMinuit) 435 if (fHistWidth.Fit(&f1, "QRN")) 438 436 return kFALSE; 439 437 -
trunk/MagicSoft/Mars/mraw/MRawEvtHeader.h
r9308 r9574 56 56 57 57 UInt_t fNumTrigLvl1; // Number of 1st level tiggers between 2 events 58 // Used in MSimTrigger for the index of the trigger channel 58 59 UInt_t fNumTrigLvl2; // Number of 2nd level tiggers between 2 events 59 60 UInt_t fTrigPattern[2]; // Trigger configuration … … 98 99 void SetCalibrationPattern( const UInt_t pattern ) { fTrigPattern[1] = pattern; } 99 100 void SetDAQEvtNumber(const UInt_t n) { fDAQEvtNumber = n; } 101 void SetNumTrigLvl1(UInt_t num) { fNumTrigLvl1 = num; } 100 102 101 103 // TObject -
trunk/MagicSoft/Mars/msimcamera/MSimRandomPhotons.cc
r9525 r9574 363 363 // *fLog << 1.75e6/(600-300) * f2 * eff->GetSpline()->Integral() << " MHz" << endl; 364 364 365 *fLog << "Conversion factor Fnu: " << f << endl;366 *fLog << "Total reflective area: " << Form("%.2f", Ar) << " m" << UTF8::kSquare << endl;367 *fLog << "Acceptance area of cone 0: " << Form("%.2f", A0*1e6) << " mm" << UTF8::kSquare << " = ";365 *fLog << "Conversion factor Fnu: " << f << endl; 366 *fLog << "Total reflective area: " << Form("%.2f", Ar) << " m" << UTF8::kSquare << endl; 367 *fLog << "Acceptance area of cone 0: " << Form("%.2f", A0*1e6) << " mm" << UTF8::kSquare << " = "; 368 368 *fLog << A0*conv*conv << " sr" << endl; 369 *fLog << "Cones angular acceptance: " << sr << " sr" << endl;370 *fLog << "ConeArea* MirrorAngle (f1): " << f1 << " m^2 sr" << endl;371 *fLog << "MirrorArea*Cone Angle (f2): " << f2 << " m^2 sr" << endl;372 *fLog << "Effective. transmission: " << Form("%.1f", nm) << " nm" << endl;369 *fLog << "Cones angular acceptance: " << sr << " sr" << endl; 370 *fLog << "ConeArea*ConeSolidAngle (f1): " << f1 << " m^2 sr" << endl; 371 *fLog << "MirrorArea*ConeSkyAngle (f2): " << f2 << " m^2 sr" << endl; 372 *fLog << "Effective. transmission: " << Form("%.1f", nm) << " nm" << endl; 373 373 *fLog << "NSB freq. in " << fNameGeomCam << "[0] (f1): " << Form("%.2f", rate * f1) << " MHz" << endl; 374 374 *fLog << "NSB freq. in " << fNameGeomCam << "[0] (f2): " << Form("%.2f", rate * f2) << " MHz" << endl; 375 *fLog << "Using f 1." << endl;375 *fLog << "Using f2." << endl; 376 376 377 377 // Scale the rate per mm^2 and to GHz 378 fScale = rate * f 1/ (*fGeom)[0].GetA() / 1000;378 fScale = rate * f2 / (*fGeom)[0].GetA() / 1000; 379 379 380 380 // FIXME: Scale with the number of pixels 381 if (rate*f 1>1000)381 if (rate*f2>1000) 382 382 { 383 383 *fLog << err << "ERROR - Frequency exceeds 1GHz, this might leed to too much memory consumption." << endl; -
trunk/MagicSoft/Mars/msimcamera/MSimTrigger.cc
r9518 r9574 422 422 return sig ? sig->GetStart() : -1; 423 423 } 424 Int_t GetFirstIndex() const 425 { 426 MDigitalSignal *sig = static_cast<MDigitalSignal*>(fSignals[0]); 427 return sig ? sig->GetIndex() : -1; 428 } 424 429 Bool_t GetPixelContent(Double_t&, Int_t, const MGeomCam&, Int_t) const 425 430 { … … 441 446 442 447 443 void MSimTrigger::SetTrigger(Double_t pos )448 void MSimTrigger::SetTrigger(Double_t pos, Int_t idx) 444 449 { 445 450 // FIXME: Jitter! (Own class?) … … 453 458 // Flag this event as triggered by the lvl1 trigger (FIXME?) 454 459 fEvtHeader->SetTriggerPattern(pos<0 ? 0 : pat); 460 fEvtHeader->SetNumTrigLvl1((UInt_t)idx); 455 461 fEvtHeader->SetReadyToSave(); 456 462 } … … 473 479 if (!fSimulateElectronics) 474 480 { 475 SetTrigger(min );481 SetTrigger(min, -1); 476 482 return kTRUE; 477 483 } … … 611 617 } 612 618 613 // Set trigger channel index614 ttl->SetIndex(j);619 // Set trigger-channel index to keep this information 620 //ttl->SetIndex(j); 615 621 } 616 622 … … 623 629 // FIXME: Simulate trigger dead-time! 624 630 if (arr->GetEntriesFast()>0) 625 triggers.Add(static_cast<MDigitalSignal*>(arr->RemoveAt(0))); 631 { 632 ttl = static_cast<MDigitalSignal*>(arr->RemoveAt(0)); 633 // Set trigger-channel index to keep this information 634 ttl->SetIndex(j); 635 triggers.Add(ttl); 636 } 626 637 627 638 // delete the allocated space … … 636 647 // FIXME: Store triggers! (+ Reversed pixels?) 637 648 638 SetTrigger(triggers.GetFirstTrigger() );649 SetTrigger(triggers.GetFirstTrigger(), triggers.GetFirstIndex()); 639 650 640 651 // No trigger issued. Go on. -
trunk/MagicSoft/Mars/msimcamera/MSimTrigger.h
r9462 r9574 48 48 TObjArray *CalcMinMultiplicity(const MArrayI &idx, const TObjArray &ttls, Int_t threshold) const; 49 49 TObjArray *CalcCoincidences(const MArrayI &idx, const TObjArray &ttls) const; 50 void SetTrigger(Double_t pos );50 void SetTrigger(Double_t pos, Int_t idx); 51 51 52 52 // MTask
Note:
See TracChangeset
for help on using the changeset viewer.