Changeset 4206


Ignore:
Timestamp:
05/26/04 21:52:03 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r4205 r4206  
    5656   * mcalib/MHCalibrationCam.h
    5757     - make destructors virtual.
     58
     59   * mcalib/MHCalibrationCam.[h,cc]
     60     - create a copy contructor
    5861
    5962
  • trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc

    r4142 r4206  
    8888//
    8989MCalibrationCam::MCalibrationCam(const char *name, const char *title)
    90     : fNumUnsuitable(),
    91       fNumUnreliable(),
    92       fNumHiGainFADCSlices(0.), fNumLoGainFADCSlices(0.), fPulserColor(kNONE),
     90    : fNumHiGainFADCSlices(0.), fNumLoGainFADCSlices(0.), fPulserColor(kNONE),
    9391      fPixels(NULL), fAverageAreas(NULL), fAverageSectors(NULL)
    9492{
     
    172170}
    173171
     172void MCalibrationCam::Copy(TObject& object) const
     173{
     174 
     175  MCalibrationCam &calib = (MCalibrationCam&)object;
     176
     177  MParContainer::Copy(object);
     178 
     179  calib.fNumHiGainFADCSlices  = fNumHiGainFADCSlices;
     180  calib.fNumLoGainFADCSlices  = fNumLoGainFADCSlices;
     181  calib.fPulserColor          = fPulserColor;
     182
     183  const Int_t n3 = GetSize();
     184  if (n3 != 0)
     185    {
     186      calib.InitSize(n3);
     187      for (int i=0; i<n3; i++)
     188        (*this)[i].Copy(calib[i]);
     189    }
     190
     191  const Int_t n4 = GetAverageAreas();
     192  if (n4 != 0)
     193    {
     194      calib.InitAverageAreas(n4);
     195      for (int i=0; i<n4; i++)
     196        GetAverageArea(i).Copy(calib.GetAverageArea(i));
     197      for (int i=0; i<n4; i++)
     198        GetAverageBadArea(i).Copy(calib.GetAverageBadArea(i));
     199      for (int i=0; i<n4; i++)
     200        calib.fNumUnsuitable[i] = fNumUnsuitable[i];
     201      for (int i=0; i<n4; i++)
     202        calib.fNumUnreliable[i] = fNumUnreliable[i];
     203    }
     204 
     205  const Int_t n5 = GetAverageSectors();
     206  if (n5 != 0)
     207    {
     208      calib.InitAverageSectors(n5);
     209      for (int i=0; i<n5; i++)
     210        GetAverageSector(i).Copy(calib.GetAverageSector(i));
     211      for (int i=0; i<n5; i++)
     212        GetAverageBadSector(i).Copy(calib.GetAverageBadSector(i));
     213    }
     214 
     215}
     216
     217
    174218// -------------------------------------------------------------------
    175219//
  • trunk/MagicSoft/Mars/mcalib/MCalibrationCam.h

    r4205 r4206  
    4848  virtual void Clear           ( Option_t *o="");
    4949  virtual void DrawPixelContent( Int_t num) const;   
    50 
     50  virtual void Copy(TObject& object) const;
     51 
    5152  // Getters
    5253  const Int_t            GetAverageAreas     ()           const;
Note: See TracChangeset for help on using the changeset viewer.