G4FTFParticipants.hh

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 //
00027 // $Id$
00028 //
00029 
00030 #ifndef G4FTFParticipants_h
00031 #define G4FTFParticipants_h 1
00032 
00033 // ------------------------------------------------------------
00034 //      GEANT 4 class header file
00035 //
00036 //      ---------------- G4FTFParticipants----------------
00037 //             by Gunter Folger, June 1998.
00038 //       class finding colliding particles in FTFPartonStringModel
00039 // ------------------------------------------------------------
00040 
00041 #include "G4VParticipants.hh"
00042 #include "G4FTFParameters.hh"
00043 #include <vector>
00044 #include "G4Nucleon.hh"
00045 #include "G4V3DNucleus.hh"
00046 #include "G4Fancy3DNucleus.hh"
00047 #include "G4ReactionProduct.hh"
00048 #include "G4InteractionContent.hh"
00049 
00050 class G4FTFParticipants : public G4VParticipants
00051 {
00052 
00053   public:
00054       G4FTFParticipants();
00055       const G4FTFParticipants & operator=(const G4FTFParticipants &right);
00056       ~G4FTFParticipants();
00057 
00058       int operator==(const G4FTFParticipants &right) const;
00059       int operator!=(const G4FTFParticipants &right) const;
00060 //---------------------------------------------------
00061       void InitProjectileNucleus(G4int theZ, G4int theA);
00062       void SetProjectileNucleus(G4V3DNucleus * aNucleus);
00063       G4V3DNucleus * GetProjectileNucleus();
00064 //---------------------------------------------------
00065       void GetList(const G4ReactionProduct  &thePrimary, 
00066                          G4FTFParameters    *theParameters);
00067 
00068       void StartLoop();
00069       G4bool Next();
00070 //Vova      const G4InteractionContent & GetInteraction() const;
00071       G4InteractionContent & GetInteraction();
00072       
00073       std::vector<G4InteractionContent *> theInteractions;
00074       G4V3DNucleus *theProjectileNucleus;
00075   private:
00076 
00077       //A.R. 25-Jul-2012 Coverity fix : copy constructor becomes private.
00078       G4FTFParticipants(const G4FTFParticipants &right);
00079 
00080 //      std::vector<G4InteractionContent *> theInteractions;
00081   
00082       G4int currentInteraction;
00083 
00084 };
00085 
00086 
00087 inline
00088 void G4FTFParticipants::StartLoop()
00089 {
00090         currentInteraction=-1;
00091 }
00092 
00093 inline
00094 G4bool G4FTFParticipants::Next()
00095 {
00096         return ++currentInteraction < static_cast<G4int>(theInteractions.size());
00097 }
00098 
00099 
00100 //inline
00101 //const G4InteractionContent & G4FTFParticipants::GetInteraction() const
00102 inline
00103 G4InteractionContent & G4FTFParticipants::GetInteraction()
00104 {
00105         return *theInteractions[currentInteraction];
00106 }
00107 #endif

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