Changeset 5015 for trunk/MagicSoft


Ignore:
Timestamp:
09/14/04 19:46:40 (20 years ago)
Author:
gaug
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r5014 r5015  
    3737
    3838   * mbadpixels/MBadPixelsIntensityCam.[h,cc]
    39    * mcalib/MCalibrationIntensityCam.[h,cc]
     39   * mcalib/MCalibrationIntensity*Cam.[h,cc]
    4040     - replace TClonesArray by TObjArray
    4141
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityBlindCam.cc

    r4986 r5015  
    3939/////////////////////////////////////////////////////////////////////////////
    4040#include "MCalibrationIntensityBlindCam.h"
     41#include "MCalibrationBlindCam.h"
    4142
    42 #include <TClonesArray.h>
     43#include <TObjArray.h>
    4344
    4445ClassImp(MCalibrationIntensityBlindCam);
     
    5051// Default constructor.
    5152//
    52 // Sets all pointers to 0
    53 //
    54 // Creates a TClonesArray of MCalibrationBlindCam containers, initialized to 1 entry, destinated
    55 // to hold one container per camera.
    56 //
    5753MCalibrationIntensityBlindCam::MCalibrationIntensityBlindCam(const char *name, const char *title)
    5854{
     
    6056  fName  = name  ? name  : "MCalibrationIntensityBlindCam";
    6157  fTitle = title ? title : "Results of the Intensity Calibration";
     58
     59}
     60
     61// --------------------------------------------------------------------------
     62//
     63// Calls TObjArray::Expand() for fCams and initialze one MCalibrationBlindCam
     64// and copy the entries
     65//
     66void MCalibrationIntensityBlindCam::InitSize(const UInt_t n)
     67{
     68
     69  MCalibrationBlindCam *oldcam = NULL;
     70
     71  if (n>1)
     72    oldcam = (MCalibrationBlindCam*)GetCam();
     73
     74  MCalibrationIntensityCam::InitSize(n);
     75  (*fCams)[n-1] = new MCalibrationBlindCam;
     76
     77  MCalibrationBlindCam *newcam = (MCalibrationBlindCam*)GetCam(); 
    6278 
    63   fCams = new TClonesArray("MCalibrationBlindCam",1);
    64  
     79  if (oldcam)
     80    oldcam->Copy(*newcam);
    6581}
     82
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityBlindCam.h

    r4986 r5015  
    1616  MCalibrationIntensityBlindCam(const char *name=NULL, const char *title=NULL);
    1717
     18  void InitSize( const UInt_t n ); 
     19 
    1820  ClassDef(MCalibrationIntensityBlindCam, 1) // Container Intensity Blind Calibration Results Camera
    1921};
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityCam.cc

    r4967 r5015  
    2828// Base class for intensity calibration results
    2929//
    30 // Contains TClonesArrays for the following objects:
     30// Contains TObjArrays for the following objects:
    3131// - fCams:  Array of classes derived from MCalibrationCam, one entry
    3232//           per calibration camera result. Has to be created
     
    4343#include "MCalibrationIntensityCam.h"
    4444
    45 #include <TClonesArray.h>
     45#include <TObjArray.h>
    4646
    4747#include "MGeomCam.h"
     
    5959//
    6060MCalibrationIntensityCam::MCalibrationIntensityCam(const char *name, const char *title)
    61     : fCams(NULL)
    6261{
    6362
    6463  fName  = name  ? name  : "MCalibrationIntensityCam";
    6564  fTitle = title ? title : "Base container for the Intensity Calibration";
    66  
     65
     66  fCams = new TObjArray;
     67  fCams->SetOwner();
     68
     69  InitSize(1);
    6770}
    6871
     
    7376MCalibrationIntensityCam::~MCalibrationIntensityCam()
    7477{
    75     if (fCams)
    76         delete fCams;
     78  if (fCams)
     79    delete fCams;
    7780}
    7881
     
    8487void MCalibrationIntensityCam::AddToList( const char* name, const MGeomCam &geom)
    8588{
    86 
    87   fCams->ExpandCreate(GetSize()+1);
    88 
     89  InitSize(GetSize()+1);
    8990  GetCam()->SetName(name);
    9091  GetCam()->Init(geom);
     
    187188// -------------------------------------------------------------------
    188189//
    189 // Calls TClonesArray::ExpandCreate() for fCams
     190// Calls TObjArray::Expand() for fCams
    190191//
    191192void MCalibrationIntensityCam::InitSize(const UInt_t n)
    192193{
    193   fCams->ExpandCreate(n);
     194  fCams->Expand(n);
    194195}
    195196
     
    203204  if (GetSize() == 0)
    204205    InitSize(1);
     206
    205207  fCams->ForEach(MCalibrationCam,Init)(geom);
    206208}
     
    209211// --------------------------------------------------------------------------
    210212//
    211 // Returns the current size of the TClonesArray fCams
     213// Returns the current size of the TObjArray fCams
    212214// independently if the MCalibrationCam is filled with values or not.
    213215//
    214216const Int_t MCalibrationIntensityCam::GetSize() const
    215217{
    216   return fCams->GetEntriesFast();
     218  return fCams->GetEntries();
    217219}
    218220
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityCam.h

    r4967 r5015  
    1818#endif
    1919
    20 class TClonesArray;
     20class TObjArray;
    2121class MCalibrationPix;
    2222class MBadPixelsPix;
     
    2929  MArrayD fSlopes;            //! Arrays of Higain-vs-LoGain fit result Slopes
    3030
    31   void InitSize( const UInt_t n );
    32  
    3331protected: 
    3432
    35   TClonesArray *fCams;        // Array of MCalibrationCams, one per pulse colour and intensity
     33  TObjArray *fCams;        // Array of MCalibrationCams, one per pulse colour and intensity
    3634
     35  virtual void InitSize( const UInt_t n );
     36 
    3737public:
    3838
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityChargeCam.cc

    r4967 r5015  
    4040/////////////////////////////////////////////////////////////////////////////
    4141#include "MCalibrationIntensityChargeCam.h"
     42#include "MCalibrationChargeCam.h"
    4243
    43 #include <TClonesArray.h>
     44#include <TObjArray.h>
    4445
    4546ClassImp(MCalibrationIntensityChargeCam);
     
    5051//
    5152// Default constructor.
    52 //
    53 // Sets all pointers to 0
    5453//
    55 // Creates a TClonesArray of MCalibrationChargeCam containers, initialized to 1 entry, destinated
    56 // to hold one container per camera.
    57 //
    5854MCalibrationIntensityChargeCam::MCalibrationIntensityChargeCam(const char *name, const char *title)
    5955{
     
    6258  fTitle = title ? title : "Results of the Intensity Calibration";
    6359 
    64   fCams = new TClonesArray("MCalibrationChargeCam",1);
    65  
    6660}
     61
     62// --------------------------------------------------------------------------
     63//
     64// Calls TObjArray::Expand() for fCams and initialze one CalibrationChargeCam
     65//
     66void MCalibrationIntensityChargeCam::InitSize(const UInt_t n)
     67{
     68  MCalibrationIntensityCam::InitSize(n);
     69  (*fCams)[n-1] = new MCalibrationChargeCam;
     70}
     71
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityChargeCam.h

    r4899 r5015  
    1515
    1616  MCalibrationIntensityChargeCam(const char *name=NULL, const char *title=NULL);
     17
     18  void InitSize( const UInt_t n ); 
    1719
    1820  // Setters   
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityQECam.cc

    r4967 r5015  
    3939/////////////////////////////////////////////////////////////////////////////
    4040#include "MCalibrationIntensityQECam.h"
     41#include "MCalibrationQECam.h"
    4142
    42 #include <TClonesArray.h>
     43#include <TObjArray.h>
    4344
    4445ClassImp(MCalibrationIntensityQECam);
     
    4950// Default constructor.
    5051//
    51 // Sets all pointers to 0
    52 //
    53 // Creates a TClonesArray of MCalibrationQECam containers, initialized
    54 // to 1 entry, destinated to hold one container per camera.
    55 //
    5652MCalibrationIntensityQECam::MCalibrationIntensityQECam(const char *name, const char *title)
    5753{
     
    6056  fTitle = title ? title : "Results of the Intensity Calibration";
    6157 
    62   fCams = new TClonesArray("MCalibrationQECam",1);
     58}
    6359
     60// --------------------------------------------------------------------------
     61//
     62// Calls TObjArray::Expand() for fCams and initialze one MCalibrationQECam
     63// and copy the entries
     64//
     65void MCalibrationIntensityQECam::InitSize(const UInt_t n)
     66{
     67
     68  MCalibrationQECam *oldcam = NULL;
     69
     70  if (n>1)
     71    oldcam = (MCalibrationQECam*)GetCam();
     72
     73  MCalibrationIntensityCam::InitSize(n);
     74  (*fCams)[n-1] = new MCalibrationQECam;
     75
     76  MCalibrationQECam *newcam = (MCalibrationQECam*)GetCam(); 
     77 
     78  if (oldcam)
     79    oldcam->Copy(*newcam);
    6480}
     81
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityQECam.h

    r4899 r5015  
    88class MCalibrationIntensityQECam : public MCalibrationIntensityCam
    99{
    10 private:
    11  
    12 
    1310public:
    1411
    1512  MCalibrationIntensityQECam(const char *name=NULL, const char *title=NULL);
     13
     14  void InitSize( const UInt_t n ); 
    1615 
    1716  ClassDef(MCalibrationIntensityQECam, 1) // Container Intensity Rel.Times Calibration Results Camera
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityRelTimeCam.cc

    r4967 r5015  
    3939/////////////////////////////////////////////////////////////////////////////
    4040#include "MCalibrationIntensityRelTimeCam.h"
     41#include "MCalibrationRelTimeCam.h"
    4142
    42 #include <TClonesArray.h>
     43#include <TObjArray.h>
    4344
    4445ClassImp(MCalibrationIntensityRelTimeCam);
     
    5051// Default constructor.
    5152//
    52 // Sets all pointers to 0
    53 //
    54 // Creates a TClonesArray of MCalibrationRelTimeCam containers, initialized to 1 entry, destinated
    55 // to hold one container per camera.
    56 //
    57 //
    5853MCalibrationIntensityRelTimeCam::MCalibrationIntensityRelTimeCam(const char *name, const char *title)
    5954{
     
    6257  fTitle = title ? title : "Results of the Intensity Calibration";
    6358 
    64   fCams = new TClonesArray("MCalibrationRelTimeCam",1);
     59}
    6560
     61
     62// --------------------------------------------------------------------------
     63//
     64// Calls TObjArray::Expand() for fCams and initialze one CalibrationRelTimeCam
     65//
     66void MCalibrationIntensityRelTimeCam::InitSize(const UInt_t n)
     67{
     68  MCalibrationIntensityCam::InitSize(n);
     69  (*fCams)[n-1] = new MCalibrationRelTimeCam;
    6670}
     71
  • trunk/MagicSoft/Mars/mcalib/MCalibrationIntensityRelTimeCam.h

    r4899 r5015  
    88class MCalibrationIntensityRelTimeCam : public MCalibrationIntensityCam
    99{
    10 private:
    11  
    12 
    1310public:
    1411
    1512  MCalibrationIntensityRelTimeCam(const char *name=NULL, const char *title=NULL);
     13
     14  void InitSize( const UInt_t n );   
    1615 
    1716  ClassDef(MCalibrationIntensityRelTimeCam, 1) // Container Intensity Rel.Times Calibration Results Camera
Note: See TracChangeset for help on using the changeset viewer.