ROOT logo
// $Id$
// Author: Akira Okumura 2007/10/02

/******************************************************************************
 * Copyright (C) 2006-, Akira Okumura                                         *
 * All rights reserved.                                                       *
 *****************************************************************************/

///////////////////////////////////////////////////////////////////////////////
//
// ARayArray
//
// Array of ARay
//
///////////////////////////////////////////////////////////////////////////////

#include "ARayArray.h"

ClassImp(ARayArray)

//_____________________________________________________________________________
ARayArray::ARayArray() : TObject()
{
  // Constructor
}

//_____________________________________________________________________________
ARayArray::~ARayArray()
{
  // Destructor
  fAbsorbed.Delete();
  fExited.Delete();
  fFocused.Delete();
  fRunning.Delete();
  fStopped.Delete();
  fSuspended.Delete();
}

//_____________________________________________________________________________
void ARayArray::Add(ARay* ray)
{
  if(!ray) return;

  if     (ray->IsAbsorbed() )    fAbsorbed.Add(ray);
  else if(ray->IsExited()   )    fExited.Add(ray);
  else if(ray->IsFocused()  )   fFocused.Add(ray);
  else if(ray->IsRunning()  )   fRunning.Add(ray);
  else if(ray->IsStopped()  )   fStopped.Add(ray);
  else if(ray->IsSuspended()) fSuspended.Add(ray);
}

//_____________________________________________________________________________
void ARayArray::Merge(ARayArray* array)
{
  if(!array) return;

  TObjArray* objs[6] = {array->GetAbsorbed(), array->GetExited(),
                        array->GetFocused(),  array->GetRunning(),
                        array->GetStopped(),  array->GetSuspended()};

  for(Int_t j = 0; j < 6; j++){
    for(Int_t i = 0; i <= objs[j]->GetLast(); i++){
      ARay* ray = ray = (ARay*)objs[j]->RemoveAt(i);
      if(!ray) continue;
      Add(ray);
    } // i
  } // j
}
 ARayArray.cxx:1
 ARayArray.cxx:2
 ARayArray.cxx:3
 ARayArray.cxx:4
 ARayArray.cxx:5
 ARayArray.cxx:6
 ARayArray.cxx:7
 ARayArray.cxx:8
 ARayArray.cxx:9
 ARayArray.cxx:10
 ARayArray.cxx:11
 ARayArray.cxx:12
 ARayArray.cxx:13
 ARayArray.cxx:14
 ARayArray.cxx:15
 ARayArray.cxx:16
 ARayArray.cxx:17
 ARayArray.cxx:18
 ARayArray.cxx:19
 ARayArray.cxx:20
 ARayArray.cxx:21
 ARayArray.cxx:22
 ARayArray.cxx:23
 ARayArray.cxx:24
 ARayArray.cxx:25
 ARayArray.cxx:26
 ARayArray.cxx:27
 ARayArray.cxx:28
 ARayArray.cxx:29
 ARayArray.cxx:30
 ARayArray.cxx:31
 ARayArray.cxx:32
 ARayArray.cxx:33
 ARayArray.cxx:34
 ARayArray.cxx:35
 ARayArray.cxx:36
 ARayArray.cxx:37
 ARayArray.cxx:38
 ARayArray.cxx:39
 ARayArray.cxx:40
 ARayArray.cxx:41
 ARayArray.cxx:42
 ARayArray.cxx:43
 ARayArray.cxx:44
 ARayArray.cxx:45
 ARayArray.cxx:46
 ARayArray.cxx:47
 ARayArray.cxx:48
 ARayArray.cxx:49
 ARayArray.cxx:50
 ARayArray.cxx:51
 ARayArray.cxx:52
 ARayArray.cxx:53
 ARayArray.cxx:54
 ARayArray.cxx:55
 ARayArray.cxx:56
 ARayArray.cxx:57
 ARayArray.cxx:58
 ARayArray.cxx:59
 ARayArray.cxx:60
 ARayArray.cxx:61
 ARayArray.cxx:62
 ARayArray.cxx:63
 ARayArray.cxx:64
 ARayArray.cxx:65
 ARayArray.cxx:66
 ARayArray.cxx:67
 ARayArray.cxx:68