G4QDecayChan.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 //      ---------------- G4QDecayChan ----------------
00030 //             by Mikhail Kossov, Sept 1999.
00031 //  class header for Decay Channel definition in CHIPS Model
00032 // ------------------------------------------------------------
00033 // Short description: In the CHIPS World the particles (G4QParticle)
00034 // are defined. For unstable particles there is a G4QDecayChannelVector
00035 // which describes different channels of decay for the particular
00036 // particle. So the G4QDecayChannel class is the class for the description
00037 // of such a decay channel in two or three particles (the secondaries can
00038 // be unstable too and have firther decay).
00039 // -------------------------------------------------------------------
00040 
00041 #ifndef G4QDecayChan_h
00042 #define G4QDecayChan_h 1
00043 
00044 #include <iostream>
00045 #include "globals.hh"
00046 #include "G4QPDGCodeVector.hh"
00047 
00048 class G4QDecayChan
00049 {
00050 public:
00051   // Constructors
00052   G4QDecayChan();                                                    // Default Constructor
00053   //G4QDecayChan(G4QPDGCodeVector secHadr, G4double probLimit = 1.); // General Constructor
00054   G4QDecayChan(G4double pLev, G4int PDG1, G4int PDG2, G4int PDG3=0); // DetailedConstructor
00055   G4QDecayChan(const G4QDecayChan& right);                       // Copy ByValueConstructor
00056   G4QDecayChan(G4QDecayChan* right);                           // Copy ByPointerConstructor
00057 
00058   ~G4QDecayChan();                                                   // Public Destructor
00059 
00060   // Operators
00061   const G4QDecayChan& operator=(const G4QDecayChan& right);
00062   G4bool               operator==(const G4QDecayChan& rhs) const;
00063   G4bool               operator!=(const G4QDecayChan& rhs) const;
00064 
00065   // Selectors
00066   G4double         GetDecayChanLimit() const;   // Get a Decay Channel Probability Limit
00067   G4double         GetMinMass() const;          // Get a Minimum Mass for the Decay Channel
00068   G4QPDGCodeVector GetVecOfSecHadrons();        // Get a Vector of secondary PDG-particles
00069 
00070   // Modifiers
00071   void SetDecayChanLimit(G4double newDecChanLim);// Set a Decay Channel Probability Limit
00072   void SetMinMass(G4double newMinMass);          // Set a Minimum Mass for the DecayChannel
00073   void SetVecOfSecHadrons(G4QPDGCodeVector hadV);// Set a Vector of secondary PDG-particles
00074 
00075   //private:
00076   // Encapsulated functions
00077 
00078 private:
00079   // the Body
00080   G4double aDecayChanLimit;
00081   G4double theMinMass;
00082   G4QPDGCodeVector aVecOfSecHadrons;
00083 };
00084 
00085 // Not member operators
00086 std::ostream&   operator<<(std::ostream& lhs, G4QDecayChan& rhs);
00087 //----------------------------------------------------------------------------------------
00088 
00089 inline G4bool G4QDecayChan::operator==(const G4QDecayChan& rhs) const {return this==&rhs;}
00090 inline G4bool G4QDecayChan::operator!=(const G4QDecayChan& rhs) const {return this!=&rhs;}
00091  
00092 inline G4double G4QDecayChan::GetDecayChanLimit() const    {return aDecayChanLimit;}
00093 inline G4double G4QDecayChan::GetMinMass() const           {return theMinMass;}
00094 inline G4QPDGCodeVector G4QDecayChan::GetVecOfSecHadrons() {return aVecOfSecHadrons;}
00095 
00096 inline void G4QDecayChan::SetDecayChanLimit(G4double DCL)          {aDecayChanLimit=DCL;}
00097 inline void G4QDecayChan::SetMinMass(G4double minMass)             {theMinMass=minMass;}
00098 inline void G4QDecayChan::SetVecOfSecHadrons(G4QPDGCodeVector VSH) {aVecOfSecHadrons=VSH;}
00099 
00100 #endif
00101 
00102 
00103 

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