G4VITModel.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: G4VITModel.cc 65022 2012-11-12 16:43:12Z 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 "G4VITModel.hh"
00037 
00038 G4VITModel::G4VITModel(const G4String& aName)
00039 {
00040     //ctor
00041     fpTimeStepper        = 0;
00042     fpReactionProcess    = 0;
00043     fpReactionTable      = 0;
00044 
00045     fType1              = -1;
00046     fType2              = -1;
00047     fName               = aName;
00048 }
00049 
00050 G4VITModel::~G4VITModel()
00051 {
00052     //dtor
00053     if(fpTimeStepper)        delete fpTimeStepper;
00054     if(fpReactionProcess)    delete fpReactionProcess;
00055     //if(fReactionTable)      delete fReactionTable;
00056     // Let the concrete class delete the reactionTable
00057 }
00058 
00059 G4VITModel::G4VITModel(const G4VITModel& right)
00060 {
00061     //copy ctor
00062     fName               = right.fName;
00063     fType1              = right.fType1;
00064     fType2              = right.fType2;
00065     fpReactionTable     = 0;
00066     fpTimeStepper     = right.fpTimeStepper->Clone();
00067     fpReactionProcess = right.fpReactionProcess->Clone();
00068 }
00069 
00070 // should not be used
00071 G4VITModel& G4VITModel::operator=(const G4VITModel& right)
00072 {
00073     if (this == &right) return *this; // handle self assignment
00074 
00075     fName               = right.fName;
00076     fType1              = right.fType1;
00077     fType2              = right.fType2;
00078     fpReactionTable      = 0;
00079     if(fpTimeStepper) delete fpTimeStepper;
00080     fpTimeStepper        = right.fpTimeStepper->Clone();
00081     if(fpReactionProcess) delete fpReactionProcess;
00082     fpReactionProcess    = right.fpReactionProcess->Clone();
00083 
00084     //assignment operator
00085     return *this;
00086 }
00087 
00088 void G4VITModel::IsApplicable(G4ITType& type1, G4ITType& type2)
00089 {
00090     type1 = fType1;
00091     type2 = fType2;
00092     PrintInfo();
00093 }
00094 
00095 void G4VITModel::Initialize()
00096 {
00097     fpReactionProcess->SetReactionTable(fpReactionTable);
00098     fpTimeStepper->SetReactionTable(fpReactionTable);
00099     fpTimeStepper->Initialize();
00100     fpReactionProcess->Initialize();
00101 }

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