G4ITManager_allbox_iterator.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 // $Id: G4ITManager_allbox_iterator.cc 64057 2012-10-30 15:04:49Z gcosmo $
00027 //
00028 // Author: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr) 
00029 //
00030 // History:
00031 // -----------
00032 // 10 Oct 2011 M.Karamitros created
00033 //
00034 // -------------------------------------------------------------------
00035 
00036 #include "G4ITManager.hh"
00037 
00038 // Definitions of G4VITManager::allbox_iterator
00039 
00040 G4VITManager::allbox_iterator::allbox_iterator(G4ITType type) : iterator(0)
00041 {
00042     fInstance = G4AllITManager::Instance()->GetInstance(type);
00043     fCurrentBox = fInstance->GetFirstBox();
00044     fNextIT = 0 ;
00045 }
00046 
00047 G4VITManager::allbox_iterator::allbox_iterator(G4VITManager* man) : iterator(0)
00048 {
00049     fInstance = man;
00050     fCurrentBox = fInstance->GetFirstBox();
00051     fNextIT = 0 ;
00052 }
00053 
00054 //______________________________________________________________________
00055 
00056 G4VITManager::allbox_iterator& G4VITManager::allbox_iterator::operator++(G4int)
00057 {       
00058     if(fNextIT)
00059     {
00060         fNextIT = fNextIT -> GetNext();
00061         if(fNextIT == 0)
00062         {
00063             while (fCurrentBox && fCurrentBox != fInstance->GetLastBox() && fNextIT == 0)
00064             {
00065                 fCurrentBox = fCurrentBox->GetNextBox();
00066                 if(fCurrentBox)
00067                 {
00068                     fNextIT = fCurrentBox->GetFirstIT();
00069 //                    if(fNextIT)
00070 //                        G4cout << "allbox_iterator::operator++ -- : "
00071 //                               << fNextIT -> GetName()
00072 //                               << " (" << fNextIT->GetTrack()->GetTrackID() << ") "
00073 //                               << G4endl;
00074                 }
00075             }
00076         }
00077 //        else
00078 //        {
00079 //            G4cout << "allbox_iterator::operator++ -- : "
00080 //                   << fNextIT -> GetName()
00081 //                   << " (" << fNextIT->GetTrack()->GetTrackID() << ") "
00082 //                   << G4endl;
00083 //        }
00084     }
00085     return *this;
00086 }
00087 
00088 //______________________________________________________________________
00089 G4VITManager::allbox_iterator& G4VITManager::allbox_iterator::operator= (const allbox_iterator& i)
00090 {
00091     if(this != &i)
00092     {
00093         fNextIT = i.fNextIT;
00094         fCurrentBox = i.fCurrentBox;
00095     }
00096     return *this;
00097 }
00098 

Generated on Mon May 27 17:48:41 2013 for Geant4 by  doxygen 1.4.7