Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
CexmcProductionModelData.cc
이 파일의 문서화 페이지로 가기
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 /*
27  * ============================================================================
28  *
29  * Filename: CexmcProductionModelData.cc
30  *
31  * Description: SCM/LAB lorentz vector of the particles in reaction
32  *
33  * Version: 1.0
34  * Created: 28.12.2009 22:59:10
35  * Revision: none
36  * Compiler: gcc
37  *
38  * Author: Alexey Radkov (),
39  * Company: PNPI
40  *
41  * ============================================================================
42  */
43 
44 #include <iostream>
46 
47 
49 {
50 }
51 
52 
54  const G4LorentzVector & incidentParticleSCM_,
55  const G4LorentzVector & incidentParticleLAB_,
56  const G4LorentzVector & nucleusParticleSCM_,
57  const G4LorentzVector & nucleusParticleLAB_,
58  const G4LorentzVector & outputParticleSCM_,
59  const G4LorentzVector & outputParticleLAB_,
60  const G4LorentzVector & nucleusOutputParticleSCM_,
61  const G4LorentzVector & nucleusOutputParticleLAB_,
62  const G4ParticleDefinition * incidentParticle_,
63  const G4ParticleDefinition * nucleusParticle_,
64  const G4ParticleDefinition * outputParticle_,
65  const G4ParticleDefinition * nucleusOutputParticle_ ) :
66  incidentParticleSCM( incidentParticleSCM_ ),
67  incidentParticleLAB( incidentParticleLAB_ ),
68  nucleusParticleSCM( nucleusParticleSCM_ ),
69  nucleusParticleLAB( nucleusParticleLAB_ ),
70  outputParticleSCM( outputParticleSCM_ ),
71  outputParticleLAB( outputParticleLAB_ ),
72  nucleusOutputParticleSCM( nucleusOutputParticleSCM_ ),
73  nucleusOutputParticleLAB( nucleusOutputParticleLAB_ ),
74  incidentParticle( incidentParticle_ ), nucleusParticle( nucleusParticle_ ),
75  outputParticle( outputParticle_ ),
76  nucleusOutputParticle( nucleusOutputParticle_ )
77 {
78 }
79 
80 
81 std::ostream & operator<<( std::ostream & out,
83 {
84  std::ostream::fmtflags savedFlags( out.flags() );
85  std::streamsize prec( out.precision() );
86 
87  out.precision( 4 );
88  out.flags( std::ios::fixed );
89 
90  out << std::endl;
91  out << " Incident particle (LAB) : " <<
92  data.incidentParticle->GetParticleName() << " " <<
93  G4BestUnit( data.incidentParticleLAB, "Energy" ) << " -- " <<
94  G4BestUnit( data.incidentParticleLAB.e(), "Energy" ) << std::endl;
95  out << " (SCM) : " <<
96  data.incidentParticle->GetParticleName() << " " <<
97  G4BestUnit( data.incidentParticleSCM, "Energy" ) << " -- " <<
98  G4BestUnit( data.incidentParticleSCM.e(), "Energy" ) << std::endl;
99  out << " Nucleus particle (LAB) : " <<
100  data.nucleusParticle->GetParticleName() << " " <<
101  G4BestUnit( data.nucleusParticleLAB, "Energy" ) << " -- " <<
102  G4BestUnit( data.nucleusParticleLAB.e(), "Energy" ) << std::endl;
103  out << " (SCM) : " <<
104  data.nucleusParticle->GetParticleName() << " " <<
105  G4BestUnit( data.nucleusParticleSCM, "Energy" ) << " -- " <<
106  G4BestUnit( data.nucleusParticleSCM.e(), "Energy" ) << std::endl;
107  out << " Output particle (LAB) : " <<
108  data.outputParticle->GetParticleName() << " " <<
109  G4BestUnit( data.outputParticleLAB, "Energy" ) << " -- " <<
110  G4BestUnit( data.outputParticleLAB.e(), "Energy" ) << std::endl;
111  out << " (SCM) : " <<
112  data.outputParticle->GetParticleName() << " " <<
113  G4BestUnit( data.outputParticleSCM, "Energy" ) << " -- " <<
114  G4BestUnit( data.outputParticleSCM.e(), "Energy" ) << std::endl;
115  out << " Nucleus output particle (LAB) : " <<
116  data.nucleusOutputParticle->GetParticleName() << " " <<
117  G4BestUnit( data.nucleusOutputParticleLAB, "Energy" ) << " -- " <<
118  G4BestUnit( data.nucleusOutputParticleLAB.e(), "Energy" ) <<
119  std::endl;
120  out << " (SCM) : " <<
121  data.nucleusOutputParticle->GetParticleName() << " " <<
122  G4BestUnit( data.nucleusOutputParticleSCM, "Energy" ) << " -- " <<
123  G4BestUnit( data.nucleusOutputParticleSCM.e(), "Energy" ) <<
124  std::endl;
125 
126  out.precision( prec );
127  out.flags( savedFlags );
128 
129  return out;
130 }
131 
static const double prec
Definition: RanecuEngine.cc:58
const G4ParticleDefinition * nucleusOutputParticle
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
const G4ParticleDefinition * incidentParticle
const G4String & GetParticleName() const
const XML_Char const XML_Char * data
Definition: expat.h:268
const G4ParticleDefinition * outputParticle
const G4ParticleDefinition * nucleusParticle
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1