Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/include/G4LENDUsedTarget.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 //
  2 // ********************************************************************
  3 // * License and Disclaimer                                           *
  4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.                             *
 10 // *                                                                  *
 11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                                                  *
 18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // ********************************************************************
 25 //
 26 #ifndef G4LENDUsedTarget_h
 27 #define G4LENDUsedTarget_h 1
 28 
 29 // Class Description
 30 // Container of LEND (Low Energy Nuclear Data) target (nucleus) 
 31 // LEND is Geant4 interface for GIDI (General Interaction Data Interface) 
 32 // which gives a discription of nuclear and atomic reactions, such as
 33 //    Binary collision cross sections
 34 //    Particle number multiplicity distributions of reaction products
 35 //    Energy and angular distributions of reaction products
 36 //    Derived calculational constants
 37 // GIDI is developped at Lawrence Livermore National Laboratory
 38 // Class Description - End
 39 
 40 // 071025 First implementation done by T. Koi (SLAC/SCCS)
 41 // 101118 Name modifications for release T. Koi (SLAC/PPA)
 42 
 43 #include "G4LENDHeader.hh"
 44 #include "G4ParticleDefinition.hh"
 45 
 46 class G4LENDUsedTarget 
 47 {
 48 
 49    public:
 50 
 51       G4LENDUsedTarget( G4ParticleDefinition* pd , const G4String& Evaluation , G4int iZ , G4int iA , G4int iM = 0 )
 52       : allow_nat ( false ) 
 53       , allow_anything ( false ) 
 54       , min_Z ( 0 )
 55       , max_Z ( 113 ) 
 56       , min_A ( 1 )
 57       , max_A ( 278 )
 58       , min_M ( 0 )
 59       , max_M ( 10 )
 60       {
 61 
 62          proj = pd;
 63 
 64          wanted_Z = iZ;
 65          wanted_A = iA;
 66          wanted_M = iM;
 67          wanted_Evaluation = Evaluation;
 68 
 69          actual_Z = -1;
 70          actual_A = -1;
 71          actual_M = -1;
 72          actual_Evaluation = "na";
 73 
 74          searchTarget();
 75       }
 76 
 77       ~G4LENDUsedTarget(){;}
 78 
 79       void AllowNat()
 80       {
 81          allow_nat = true;
 82          searchTarget();
 83       }
 84 
 85       void AllowAny()
 86       {
 87          allow_anything = true;
 88          searchTarget();
 89       }
 90 
 91       G4int GetWantedZ() const { return wanted_Z; }
 92       G4int GetWantedA() const { return wanted_A; }
 93       G4int GetWantedM() const { return wanted_M; }
 94 
 95       G4int GetActualZ() const { return actual_Z; }
 96       G4int GetActualA() const { return actual_A; }
 97       G4int GetActualM() const { return actual_M; }
 98 
 99       const G4String& GetWantedEvaluation() const { return wanted_Evaluation; }
100       const G4String& GetActualEvaluation() const { return actual_Evaluation; }
101 
102       G4GIDI_target* GetTarget() const { return target; }
103 
104    private:
105 
106       void searchTarget();
107 
108       G4ParticleDefinition* proj;
109 
110       G4int wanted_Z;
111       G4int wanted_A;
112       G4int wanted_M;
113 
114       G4String wanted_Evaluation;
115 
116       G4bool allow_nat; 
117       G4bool allow_anything; 
118 
119       G4GIDI_target* target;
120       
121       G4int actual_Z;
122       G4int actual_A;
123       G4int actual_M;
124       G4String actual_Evaluation;
125 
126       G4int min_Z;
127       G4int max_Z;
128       G4int min_A;
129       G4int max_A;
130       G4int min_M;
131       G4int max_M;
132 };
133 
134 #endif
135