Changeset 5111 for trunk/MagicSoft/Mars


Ignore:
Timestamp:
09/17/04 18:40:50 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r5101 r5111  
    1919
    2020                                                 -*-*- END OF LINE -*-*-
     21 2004/09/17: Markus Gaug
     22
     23   * mjobs/MJCalibration.[h,cc]
     24     - introduced two flags to avoid storage of containers or to
     25       store also the histogram containers. Default is like it always
     26       was.
     27
     28
    2129 2004/09/17: Thomas Bretz
    2230
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.cc

    r5064 r5111  
    214214  SetDebug             ( kFALSE );
    215215  SetIntensity         ( kFALSE );
     216
     217  SetNoStorage         ( kFALSE );
     218  SetHistsStorage      ( kFALSE );
     219
    216220}
    217221
     
    983987         
    984988        }
    985      
    986      
    987989      return;
    988990    }
     
    13061308
    13071309    return Form("%s/%s-F1.root", (const char*)fPathOut, (const char*)fRuns->GetRunsAsFileName());
    1308 }
    1309 
    1310 Bool_t MJCalibration::IsUseBlindPixel() const
    1311 {
    1312     return TESTBIT(fDevices,kUseBlindPixel);
    1313 }
    1314 
    1315 Bool_t MJCalibration::IsUsePINDiode() const
    1316 {
    1317     return TESTBIT(fDevices,kUsePINDiode);
    13181310}
    13191311
     
    14901482
    14911483    // --------------------------------------------------------------------------------
    1492 
     1484   
    14931485    // Setup Tasklist
    14941486    MParList plist;
     
    15461538    // Initialize two histogram containers which could be modified in this class
    15471539    //
     1540    MHCalibrationRelTimeCam     reltimecam;
    15481541    MHCalibrationChargeCam      chargecam;
    15491542    MHCalibrationChargeBlindCam blindcam;
    15501543    plist.AddToList(&chargecam);
    15511544    plist.AddToList(&blindcam);
    1552 
     1545    if (IsRelTimes())
     1546      plist.AddToList(&reltimecam);
    15531547    //
    15541548    // Data Reading tasks
     
    16141608        drawoption += "datacheck";
    16151609    if (fDisplayType == kFullDisplay)
    1616         drawoption += " all";
     1610        drawoption += "all";
    16171611
    16181612    fillcam.SetDrawOption(drawoption.Data());
     
    17421736    DisplayResult(plist);
    17431737
    1744     if (!WriteResult(plist.FindObject("MGeomCam")))
    1745         return kFALSE;
    1746 
     1738    if (!IsNoStorage())
     1739      {
     1740        if (!WriteResult(plist.FindObject("MGeomCam")))
     1741          return kFALSE;
     1742      }
     1743
     1744    if (IsHistsStorage())
     1745      {
     1746        if (!WriteHists(plist))
     1747          return kFALSE;
     1748      }
     1749   
    17471750    *fLog << all << GetDescriptor() << ": Done." << endl;
    17481751
     
    17591762Bool_t MJCalibration::ReadCalibrationCam()
    17601763{
     1764 
     1765  if (IsNoStorage())
     1766    return kFALSE;
     1767
    17611768  const TString fname = GetOutputFile();
    17621769 
     
    18871894// The following containers are written:
    18881895// - MStatusDisplay
    1889 // - MCalibrationChargeCam or MCalibrationIntensityChargeCam
    1890 // - MCalibrationBlindCam  or MCalibrationIntensityBlindCam
    1891 // - MCalibrationQECam     or MCalibrationIntensityQECam     
     1896// - MCalibrationChargeCam  or MCalibrationIntensityChargeCam
     1897// - MCalibrationBlindCam   or MCalibrationIntensityBlindCam
     1898// - MCalibrationQECam      or MCalibrationIntensityQECam     
     1899// - MCalibrationChargePINDiode
    18921900// - MBadPixelsCam
     1901// If the flag kRelTimes is set, then also:
     1902// - MCalibrationRelTimeCam or MCalibrationIntensityRelTimeCam     
    18931903//
    18941904Bool_t MJCalibration::WriteResult(TObject *geom)
     
    19261936    else
    19271937    {
     1938        cont.Add(&fBadPixels);
    19281939        cont.Add(&fCalibrationCam);
    19291940        cont.Add(&fQECam);
     
    19311942    }
    19321943    cont.Add(&fCalibrationPINDiode);
    1933     cont.Add(&fBadPixels);
    19341944    if (IsRelTimes())
    1935           cont.Add(IsIntensity() ? (TObject*)&fIntensRelTimeCam : (TObject*)&fRelTimeCam);
     1945      cont.Add(IsIntensity() ? (TObject*)&fIntensRelTimeCam : (TObject*)&fRelTimeCam);
    19361946
    19371947    if (!geom)
    19381948        *fLog << warn << " - WARNING - MGeomCam... not found!" << endl;
    19391949    else
    1940         cont.Add(geom);
     1950      cont.Add(geom);
    19411951
    19421952    return WriteContainer(cont);
    1943 
    1944     return kTRUE;
     1953}
     1954
     1955// --------------------------------------------------------------------------
     1956//
     1957// Write the calibration histograms into the output file GetOutputFile(),
     1958// if fOutputPath exists.
     1959//
     1960// The following containers are written:
     1961// - MHCalibrationChargeCam
     1962// - MHCalibrationChargeBlindCam
     1963// - MHCalibrationChargePINDiode
     1964// If the flag kRelTimes is set, then also:
     1965// - MHCalibrationRelTimeBlindCam
     1966//
     1967Bool_t MJCalibration::WriteHists(MParList &plist)
     1968{
     1969    if (fPathOut.IsNull())
     1970        return kTRUE;
     1971
     1972    const TString oname(GetOutputFile());
     1973
     1974    *fLog << inf << "Writing to file: " << oname << endl;
     1975
     1976    TFile file(oname, "UPDATE", "File created by MJCalibration", 9);
     1977    if (!file.IsOpen())
     1978    {
     1979        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
     1980        return kFALSE;
     1981    }
     1982
     1983    TObjArray cont;
     1984    cont.Add(plist.FindObject("MHCalibrationChargeCam"));
     1985    cont.Add(plist.FindObject("MHCalibrationChargeBlindCam"));
     1986    cont.Add(plist.FindObject("MHCalibrationChargePINDiode"));
     1987    if (IsRelTimes())
     1988      cont.Add(plist.FindObject("MHCalibrationRelTimeCam"));
     1989
     1990    return WriteContainer(cont);
    19451991}
    19461992
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.h

    r5064 r5111  
    116116  Byte_t fDevices;                                     // Bit-field for used devices for calibration
    117117
     118  enum  Storage_t                                       // Possible devices for calibration
     119    {
     120      kNoStorage,
     121      kHistsStorage
     122    };
     123 
     124  Byte_t fStorage;                                     // Bit-field for chosen storage type
     125
    118126  enum { kRelTimes, kDataCheck, kDebug, kIntensity };  // Possible flags
    119127
     
    121129 
    122130  TString fGeometry;                                   // Class name geometry
     131 
     132  Bool_t IsUseBlindPixel() const { return TESTBIT(fDevices,kUseBlindPixel); }
     133  Bool_t IsUsePINDiode  () const { return TESTBIT(fDevices,kUsePINDiode);   }
     134
     135  Bool_t IsRelTimes     () const { return TESTBIT(fFlags,kRelTimes);  }
     136  Bool_t IsDataCheck    () const { return TESTBIT(fFlags,kDataCheck); }
     137  Bool_t IsDebug        () const { return TESTBIT(fFlags,kDebug);     }
     138  Bool_t IsIntensity    () const { return TESTBIT(fFlags,kIntensity); }
     139
     140  Bool_t IsNoStorage    () const { return TESTBIT(fStorage,kNoStorage);    }
     141  Bool_t IsHistsStorage () const { return TESTBIT(fStorage,kHistsStorage); }
    123142 
    124143  void   DisplayResult        ( MParList &plist );
     
    130149 
    131150  Bool_t WriteResult   ( TObject *geom );
     151  Bool_t WriteHists    ( MParList &plist );
    132152  Bool_t WriteEventloop( MEvtLoop &evtloop   ) const;
    133153  Bool_t WriteTasks    ( MTask *t1, MTask *t2) const;
     
    152172  MCalibrationQECam               &GetQECam()                { return fQECam;            }
    153173  MBadPixelsCam                   &GetBadPixels()            { return fBadPixels;        }
    154  
    155   Bool_t IsUseBlindPixel() const;
    156   Bool_t IsUsePINDiode  () const;
    157 
    158   Bool_t IsRelTimes     () const { return TESTBIT(fFlags,kRelTimes);  }
    159   Bool_t IsDataCheck    () const { return TESTBIT(fFlags,kDataCheck); }
    160   Bool_t IsDebug        () const { return TESTBIT(fFlags,kDebug);     }
    161   Bool_t IsIntensity    () const { return TESTBIT(fFlags,kIntensity); }
    162174 
    163175  void SetBadPixels(const MBadPixelsCam &bad)               { bad.Copy(fBadPixels); }
     
    187199  void SetUsePINDiode(const Bool_t b=kTRUE);
    188200
     201  // Storage
     202  void SetNoStorage    ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kNoStorage)    : CLRBIT(fStorage,kNoStorage); }
     203  void SetHistsStorage ( const Bool_t b=kTRUE ) { b ? SETBIT(fStorage,kHistsStorage) : CLRBIT(fStorage,kHistsStorage); }
     204 
    189205  // Precessing
    190206  Bool_t ReadCalibrationCam();
Note: See TracChangeset for help on using the changeset viewer.