Import Geant4 5.2.0 source tree
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
#include "G4NuclWatcher.hh"
|
||||
//#include "G4ExitonConfiguration.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4Analyser {
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
G4Analyser();
|
||||
void setInelCsec(G4double csec,
|
||||
G4bool withn);
|
||||
void setWatchers(const G4std::vector<G4NuclWatcher>& watchers);
|
||||
void setWatchers(const std::vector<G4NuclWatcher>& watchers);
|
||||
void try_watchers(G4double a,
|
||||
G4double z,
|
||||
G4bool if_nucl);
|
||||
@@ -70,7 +70,7 @@ private:
|
||||
G4double averagePion0;
|
||||
G4double averageA;
|
||||
G4double averageZ;
|
||||
G4std::vector<G4NuclWatcher> ana_watchers;
|
||||
std::vector<G4NuclWatcher> ana_watchers;
|
||||
G4double inel_csec;
|
||||
G4bool withNuclei;
|
||||
};
|
||||
|
||||
@@ -30,15 +30,15 @@
|
||||
#include "G4CascadSpecialFunctions.hh"
|
||||
#include "G4ElementaryParticleCollider.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4InuclNuclei;
|
||||
|
||||
using namespace G4InuclSpecialFunctions;
|
||||
using namespace G4CascadSpecialFunctions;
|
||||
|
||||
typedef G4std::pair<G4InuclElementaryParticle, G4double> partner;
|
||||
typedef G4std::vector<partner> partners;
|
||||
typedef std::pair<G4InuclElementaryParticle, G4double> partner;
|
||||
typedef std::vector<partner> partners;
|
||||
|
||||
class G4BertiniNucleiModel {
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
return izone < number_of_zones ? zone_potentials[ip0][izone] : 0.0;
|
||||
};
|
||||
|
||||
G4std::vector<G4CascadParticle>
|
||||
std::vector<G4CascadParticle>
|
||||
generateParticleFate(G4CascadParticle& cparticle,
|
||||
G4ElementaryParticleCollider* theElementaryParticleCollider);
|
||||
|
||||
@@ -161,16 +161,16 @@ public:
|
||||
|
||||
G4CascadParticle initializeCascad(G4InuclElementaryParticle* particle);
|
||||
|
||||
G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> > initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
|
||||
std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> > initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
|
||||
|
||||
G4std::pair<G4int, G4int> getTypesOfNucleonsInvolved() const {
|
||||
return G4std::pair<G4int, G4int>(current_nucl1, current_nucl2);
|
||||
std::pair<G4int, G4int> getTypesOfNucleonsInvolved() const {
|
||||
return std::pair<G4int, G4int>(current_nucl1, current_nucl2);
|
||||
};
|
||||
G4bool worthToPropagate(const G4CascadParticle& cparticle) const;
|
||||
|
||||
private:
|
||||
G4int verboseLevel; /*!< Each class has a verbosity level of its own. */
|
||||
G4bool passFermi(const G4std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4bool passFermi(const std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4int zone);
|
||||
|
||||
void boundaryTransition(G4CascadParticle& cparticle);
|
||||
@@ -195,15 +195,15 @@ private:
|
||||
|
||||
G4double getRatio(G4int ip) const;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > nucleon_densities;
|
||||
std::vector<std::vector<G4double> > nucleon_densities;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > zone_potentials;
|
||||
std::vector<std::vector<G4double> > zone_potentials;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > fermi_momenta;
|
||||
std::vector<std::vector<G4double> > fermi_momenta;
|
||||
|
||||
G4std::vector<G4double> zone_radii;
|
||||
std::vector<G4double> zone_radii;
|
||||
|
||||
G4std::vector<G4double> binding_energies;
|
||||
std::vector<G4double> binding_energies;
|
||||
|
||||
G4double nuclei_radius;
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
#ifndef G4BERTINIREGIONMODEL
|
||||
#define G4BERTINIREGIONMODEL
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/vector"
|
||||
#include <math.h>
|
||||
#include "globals.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "G4Neutron.hh"
|
||||
|
||||
|
||||
typedef G4std::vector<G4double>::const_iterator iterator;
|
||||
|
||||
class G4BertiniRegionModel /// :public G4VRegionModel
|
||||
{
|
||||
public:
|
||||
G4BertiniRegionModel(const G4int numberOfLayers, const G4int A, const G4int Z);
|
||||
~G4BertiniRegionModel();
|
||||
|
||||
/// instead of A and Z outer radius of the nucleus?
|
||||
/// void Init(const G4int numberOfLayers, const G4int A, const G4int Z);
|
||||
G4double GetDensity(G4double radius);
|
||||
G4double GetPotentialEnergy(G4double r, G4int particle);
|
||||
G4double GetMaximumNucleonMomentum(G4double radius, G4int nucleon);
|
||||
/// G4double NumberOfRegions();
|
||||
|
||||
private:
|
||||
|
||||
G4int massNumber;
|
||||
G4int protonNumber;
|
||||
G4std::vector<G4double> radius; /// contains the outer radiuses of the shells
|
||||
G4std::vector<G4double> density;
|
||||
G4std::vector<G4double> protonFermiEnergy;
|
||||
G4std::vector<G4double> neutronFermiEnergy;
|
||||
G4std::vector<G4double> protonFermiMomentum;
|
||||
G4std::vector<G4double> neutronFermiMomentum;
|
||||
|
||||
G4std::vector<G4double> protonPotentialEnergy;
|
||||
G4std::vector<G4double> neutronPotentialEnergy;
|
||||
|
||||
static const G4double radius0;
|
||||
static const G4double BE;
|
||||
/// static const G4double pi = 3.141592;
|
||||
|
||||
G4double GetFermiMomentum(G4double density, G4double mass);
|
||||
G4double GetFermiEnergy(G4double density, G4double mass);
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ public:
|
||||
private:
|
||||
|
||||
G4int verboseLevel;
|
||||
G4std::vector<G4InuclElementaryParticle> generateBangInSCM(G4double etot,
|
||||
std::vector<G4InuclElementaryParticle> generateBangInSCM(G4double etot,
|
||||
G4double a,
|
||||
G4double z,
|
||||
G4double mp,
|
||||
G4double mn) const;
|
||||
|
||||
G4std::vector<G4double> generateMomentumModules(G4double etot,
|
||||
std::vector<G4double> generateMomentumModules(G4double etot,
|
||||
G4double a,
|
||||
G4double z,
|
||||
G4double mp,
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
G4CascadParticle();
|
||||
|
||||
G4CascadParticle(const G4InuclElementaryParticle& particle,
|
||||
const G4std::vector<G4double>& pos,
|
||||
const std::vector<G4double>& pos,
|
||||
G4int izone,
|
||||
G4double cpath)
|
||||
|
||||
@@ -44,11 +44,11 @@ public:
|
||||
reflectionCounter = 0;
|
||||
};
|
||||
|
||||
void updateParticleMomentum(const G4std::vector<G4double>& mom) {
|
||||
void updateParticleMomentum(const std::vector<G4double>& mom) {
|
||||
theParticle.setMomentum(mom);
|
||||
};
|
||||
|
||||
void updatePosition(const G4std::vector<G4double>& pos) {
|
||||
void updatePosition(const std::vector<G4double>& pos) {
|
||||
position = pos;
|
||||
};
|
||||
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
G4double getPathToTheNextZone(G4double rz_in,
|
||||
G4double rz_out);
|
||||
|
||||
G4std::vector<G4double> getMomentum() const {
|
||||
std::vector<G4double> getMomentum() const {
|
||||
return theParticle.getMomentum();
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
return theParticle;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> getPosition() const {
|
||||
std::vector<G4double> getPosition() const {
|
||||
return position;
|
||||
};
|
||||
|
||||
@@ -126,7 +126,7 @@ private:
|
||||
|
||||
G4int verboseLevel;
|
||||
G4InuclElementaryParticle theParticle;
|
||||
G4std::vector<G4double> position;
|
||||
std::vector<G4double> position;
|
||||
G4int current_zone;
|
||||
G4double current_path;
|
||||
G4bool movingIn;
|
||||
|
||||
+5
-5
@@ -25,14 +25,14 @@
|
||||
#include "globals.hh"
|
||||
|
||||
#include <math.h>
|
||||
#include "g4std/algorithm"
|
||||
#include "g4std/vector"
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
namespace G4CascadSpecialFunctions {
|
||||
|
||||
G4std::pair<G4int, G4double> getPositionInEnergyScale2(G4double e);
|
||||
std::pair<G4int, G4double> getPositionInEnergyScale2(G4double e);
|
||||
|
||||
G4std::pair<G4int, G4double> getPositionInEnergyScale1(G4double e);
|
||||
std::pair<G4int, G4double> getPositionInEnergyScale1(G4double e);
|
||||
|
||||
G4double absorptionCrosSection(G4double e,
|
||||
G4int type);
|
||||
@@ -40,7 +40,7 @@ namespace G4CascadSpecialFunctions {
|
||||
G4double crossSection(G4double e,
|
||||
G4int is);
|
||||
|
||||
G4std::pair<G4int, G4double> getPositionInEnergyScaleEMS(G4double e);
|
||||
std::pair<G4int, G4double> getPositionInEnergyScaleEMS(G4double e);
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
#ifndef G4COLLISION_OUTPUT_HH
|
||||
#define G4COLLISION_OUTPUT_HH
|
||||
|
||||
#include "g4std/iostream"
|
||||
#include <iostream>
|
||||
|
||||
#include "G4InuclElementaryParticle.hh"
|
||||
#include "G4InuclNuclei.hh"
|
||||
|
||||
#include "g4std/algorithm"
|
||||
#include "g4std/vector"
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
class G4CollisionOutput {
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
outgoingParticles.push_back(particle);
|
||||
};
|
||||
|
||||
void addOutgoingParticles(const G4std::vector<G4InuclElementaryParticle>& particles) {
|
||||
void addOutgoingParticles(const std::vector<G4InuclElementaryParticle>& particles) {
|
||||
for(G4int i = 0; i < G4int(particles.size()); i++)
|
||||
outgoingParticles.push_back(particles[i]);
|
||||
};
|
||||
@@ -55,12 +55,12 @@ public:
|
||||
nucleiFragments.push_back(nuclei);
|
||||
};
|
||||
|
||||
void addTargetFragments(const G4std::vector<G4InuclNuclei>& nuclea) {
|
||||
void addTargetFragments(const std::vector<G4InuclNuclei>& nuclea) {
|
||||
for(G4int i = 0; i < G4int(nuclea.size()); i++)
|
||||
nucleiFragments.push_back(nuclea[i]);
|
||||
};
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> getOutgoingParticles() const {
|
||||
std::vector<G4InuclElementaryParticle> getOutgoingParticles() const {
|
||||
return outgoingParticles;
|
||||
};
|
||||
|
||||
@@ -68,20 +68,20 @@ public:
|
||||
return nucleiFragments.size();
|
||||
};
|
||||
|
||||
G4std::vector<G4InuclNuclei> getNucleiFragments() const {
|
||||
std::vector<G4InuclNuclei> getNucleiFragments() const {
|
||||
return nucleiFragments;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> getTotalOutputMomentum() const {
|
||||
G4std::vector<G4double> tot_mom(4, 0.0);
|
||||
std::vector<G4double> getTotalOutputMomentum() const {
|
||||
std::vector<G4double> tot_mom(4, 0.0);
|
||||
double eex_r = 0.0;
|
||||
G4int i(0);
|
||||
for(i = 0; i < G4int(outgoingParticles.size()); i++) {
|
||||
G4std::vector<G4double> mom = outgoingParticles[i].getMomentum();
|
||||
std::vector<G4double> mom = outgoingParticles[i].getMomentum();
|
||||
for(G4int j = 0; j < 4; j++) tot_mom[j] += mom[j];
|
||||
};
|
||||
for(i = 0; i < G4int(nucleiFragments.size()); i++) {
|
||||
G4std::vector<G4double> mom = nucleiFragments[i].getMomentum();
|
||||
std::vector<G4double> mom = nucleiFragments[i].getMomentum();
|
||||
for(G4int j = 0; j < 4; j++) tot_mom[j] += mom[j];
|
||||
eex_r += 0.001 * nucleiFragments[i].getExitationEnergy();
|
||||
};
|
||||
@@ -142,13 +142,13 @@ public:
|
||||
private:
|
||||
|
||||
G4int verboseLevel;
|
||||
G4std::vector<G4InuclElementaryParticle> outgoingParticles;
|
||||
std::vector<G4InuclElementaryParticle> outgoingParticles;
|
||||
|
||||
G4std::vector<G4InuclNuclei> nucleiFragments;
|
||||
std::vector<G4InuclNuclei> nucleiFragments;
|
||||
|
||||
G4double eex_rest;
|
||||
|
||||
G4std::pair<G4std::pair<G4int, G4int>, G4int> selectPairToTune(G4double de) const;
|
||||
std::pair<std::pair<G4int, G4int>, G4int> selectPairToTune(G4double de) const;
|
||||
|
||||
G4bool on_shell;
|
||||
|
||||
|
||||
+9
-9
@@ -45,13 +45,13 @@ private:
|
||||
G4int generateMultiplicity(G4int is,
|
||||
G4double ekin) const;
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> generateSCMfinalState(G4double ekin,
|
||||
std::vector<G4InuclElementaryParticle> generateSCMfinalState(G4double ekin,
|
||||
G4double etot_scm, G4double pscm,
|
||||
G4InuclElementaryParticle* particle1,
|
||||
G4InuclElementaryParticle* particle2,
|
||||
G4LorentzConvertor* toSCM) const;
|
||||
|
||||
G4std::vector<G4double> generateMomModules(const G4std::vector<G4int>& kinds,
|
||||
std::vector<G4double> generateMomModules(const std::vector<G4int>& kinds,
|
||||
G4int mult,
|
||||
G4int is,
|
||||
G4double ekin,
|
||||
@@ -60,7 +60,7 @@ private:
|
||||
G4bool reChargering(G4double ekin,
|
||||
G4int is) const;
|
||||
|
||||
G4std::vector<G4double> particleSCMmomentumFor2to2(G4int is,
|
||||
std::vector<G4double> particleSCMmomentumFor2to2(G4int is,
|
||||
G4int kw,
|
||||
G4double ekin,
|
||||
G4double pscm) const;
|
||||
@@ -69,7 +69,7 @@ private:
|
||||
G4int kw,
|
||||
G4double ekin) const;
|
||||
|
||||
G4std::vector<G4int> generateOutgoingKindsFor2toMany(G4int is,
|
||||
std::vector<G4int> generateOutgoingKindsFor2toMany(G4int is,
|
||||
G4int mult,
|
||||
G4double ekin) const;
|
||||
|
||||
@@ -78,9 +78,9 @@ private:
|
||||
G4int knd,
|
||||
G4double ekin) const;
|
||||
|
||||
G4bool satisfyTriangle(const G4std::vector<G4double>& modules) const;
|
||||
G4bool satisfyTriangle(const std::vector<G4double>& modules) const;
|
||||
|
||||
G4std::vector<G4double> particleSCMmomentumFor2to3(G4int is,
|
||||
std::vector<G4double> particleSCMmomentumFor2to3(G4int is,
|
||||
G4int knd,
|
||||
G4double ekin,
|
||||
G4double pmod) const;
|
||||
@@ -88,15 +88,15 @@ private:
|
||||
G4int getIL(G4int is,
|
||||
G4int mult) const;
|
||||
|
||||
G4std::pair<G4double, G4double> adjustIntervalForElastic(G4double ekin,
|
||||
std::pair<G4double, G4double> adjustIntervalForElastic(G4double ekin,
|
||||
G4double ak,
|
||||
G4double ae,
|
||||
G4int k,
|
||||
G4int l,
|
||||
const G4std::vector<G4double>& ssv,
|
||||
const std::vector<G4double>& ssv,
|
||||
G4double st) const;
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle>
|
||||
std::vector<G4InuclElementaryParticle>
|
||||
generateSCMpionAbsorption(G4double etot_scm,
|
||||
G4InuclElementaryParticle* particle1,
|
||||
G4InuclElementaryParticle* particle2) const;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#define G4FISSION_CONFIGURATION_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4std/iostream"
|
||||
#include <iostream>
|
||||
|
||||
class G4FissionConfiguration {
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "G4FissionConfiguration.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4FissionStore {
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
private:
|
||||
G4int verboseLevel;
|
||||
|
||||
G4std::vector<G4FissionConfiguration> configurations;
|
||||
std::vector<G4FissionConfiguration> configurations;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -52,14 +52,14 @@ G4int verboseLevel;
|
||||
G4double R12) const;
|
||||
|
||||
void potentialMinimization(G4double& VP,
|
||||
G4std::vector<G4double>& ED,
|
||||
std::vector<G4double>& ED,
|
||||
G4double& VC,
|
||||
G4double AF,
|
||||
G4double AS,
|
||||
G4double ZF,
|
||||
G4double ZS,
|
||||
G4std::vector<G4double>& AL1,
|
||||
G4std::vector<G4double>& BET1,
|
||||
std::vector<G4double>& AL1,
|
||||
std::vector<G4double>& BET1,
|
||||
G4double& R12) const;
|
||||
|
||||
};
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
#include "G4InuclParticle.hh"
|
||||
//#endif
|
||||
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
class G4InteractionCase {
|
||||
|
||||
public:
|
||||
|
||||
G4InteractionCase() {
|
||||
bultag = G4std::pair<G4InuclParticle*, G4InuclParticle*>(0, 0);
|
||||
bultag = std::pair<G4InuclParticle*, G4InuclParticle*>(0, 0);
|
||||
inter_case = 0;
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
|
||||
void setBulletTarget(G4InuclParticle* part1,
|
||||
G4InuclParticle* part2) {
|
||||
bultag = G4std::pair<G4InuclParticle*, G4InuclParticle*>(part1, part2);
|
||||
bultag = std::pair<G4InuclParticle*, G4InuclParticle*>(part1, part2);
|
||||
};
|
||||
|
||||
void setInterCase(G4int ic) {
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
G4std::pair<G4InuclParticle*, G4InuclParticle*> bultag;
|
||||
std::pair<G4InuclParticle*, G4InuclParticle*> bultag;
|
||||
|
||||
G4int inter_case;
|
||||
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ public:
|
||||
valid_particle = false;
|
||||
};
|
||||
|
||||
G4InuclElementaryParticle(const G4std::vector<G4double>& mom,
|
||||
G4InuclElementaryParticle(const std::vector<G4double>& mom,
|
||||
G4int type)
|
||||
: G4InuclParticle(mom),
|
||||
particleType(type) {
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
particleMass = getParticleMass(ityp);
|
||||
};
|
||||
|
||||
void setMomentum(const G4std::vector<G4double>& mom) {
|
||||
void setMomentum(const std::vector<G4double>& mom) {
|
||||
|
||||
momentum = mom;
|
||||
momentum[0] = sqrt(momentum[1] * momentum[1] + momentum[2] * momentum[2] +
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
exitationEnergy = 0.0;
|
||||
};
|
||||
|
||||
G4InuclNuclei(const G4std::vector<G4double>& mom,
|
||||
G4InuclNuclei(const std::vector<G4double>& mom,
|
||||
G4double a,
|
||||
G4double z)
|
||||
: G4InuclParticle(mom),
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
Z(z) {
|
||||
|
||||
setNucleiMass();
|
||||
G4std::vector<G4double> mom(4, 0.0);
|
||||
std::vector<G4double> mom(4, 0.0);
|
||||
mom[0] = ekin + nucleiMass;
|
||||
mom[3] = sqrt(mom[0] * mom[0] - nucleiMass * nucleiMass);
|
||||
G4InuclParticle::setMomentum(mom);
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
#include "globals.hh"
|
||||
#endif
|
||||
|
||||
#include "g4std/iostream"
|
||||
#include "g4std/vector"
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
class G4InuclParticle {
|
||||
|
||||
@@ -37,17 +37,17 @@ public:
|
||||
|
||||
virtual ~G4InuclParticle() { };
|
||||
|
||||
G4InuclParticle(const G4std::vector<G4double>& mom) {
|
||||
G4InuclParticle(const std::vector<G4double>& mom) {
|
||||
|
||||
setMomentum(mom);
|
||||
};
|
||||
|
||||
void setMomentum(const G4std::vector<G4double>& mom) {
|
||||
void setMomentum(const std::vector<G4double>& mom) {
|
||||
|
||||
momentum = mom;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> getMomentum() const {
|
||||
std::vector<G4double> getMomentum() const {
|
||||
|
||||
return momentum;
|
||||
};
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
G4std::vector<G4double> momentum;
|
||||
std::vector<G4double> momentum;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include <math.h>
|
||||
#include "g4std/algorithm"
|
||||
#include "g4std/vector"
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace G4InuclSpecialFunctions {
|
||||
@@ -46,9 +46,9 @@ namespace G4InuclSpecialFunctions {
|
||||
G4double Z,
|
||||
G4int ntype);
|
||||
|
||||
G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> > paraMaker(G4double Z);
|
||||
std::pair<std::vector<G4double>, std::vector<G4double> > paraMaker(G4double Z);
|
||||
|
||||
G4std::pair<G4double, G4double> paraMakerTruncated(G4double Z);
|
||||
std::pair<G4double, G4double> paraMakerTruncated(G4double Z);
|
||||
|
||||
G4double getAL(G4double A);
|
||||
|
||||
@@ -62,11 +62,11 @@ namespace G4InuclSpecialFunctions {
|
||||
|
||||
G4double randomPHI();
|
||||
|
||||
G4std::pair<G4double, G4double> randomCOS_SIN();
|
||||
std::pair<G4double, G4double> randomCOS_SIN();
|
||||
|
||||
G4double nucleiLevelDensity(G4double a);
|
||||
|
||||
G4std::vector<G4double> generateWithFixedTheta(G4double ct,
|
||||
std::vector<G4double> generateWithFixedTheta(G4double ct,
|
||||
G4double p);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "globals.hh"
|
||||
#endif
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4LorentzConvertor {
|
||||
|
||||
@@ -34,9 +34,9 @@ public:
|
||||
|
||||
G4LorentzConvertor();
|
||||
|
||||
G4LorentzConvertor(const G4std::vector<G4double>& bmom,
|
||||
G4LorentzConvertor(const std::vector<G4double>& bmom,
|
||||
G4double bmass,
|
||||
const G4std::vector<G4double>& tmom,
|
||||
const std::vector<G4double>& tmom,
|
||||
G4double tmass) {
|
||||
|
||||
setBullet(bmom, bmass);
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
degenerated = false;
|
||||
};
|
||||
|
||||
void setBullet(const G4std::vector<G4double>& bmom,
|
||||
void setBullet(const std::vector<G4double>& bmom,
|
||||
G4double bmass) {
|
||||
|
||||
bullet_mom = bmom;
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
// G4cout << " bullet: e " << bmom[0] << " mass " << bmass << G4endl;
|
||||
};
|
||||
|
||||
void setTarget(const G4std::vector<G4double>& tmom,
|
||||
void setTarget(const std::vector<G4double>& tmom,
|
||||
G4double tmass) {
|
||||
|
||||
target_mom = tmom;
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
|
||||
void toTheTargetRestFrame();
|
||||
|
||||
G4std::vector<G4double> backToTheLab(const G4std::vector<G4double>& mom) const;
|
||||
std::vector<G4double> backToTheLab(const std::vector<G4double>& mom) const;
|
||||
|
||||
G4double getKinEnergyInTheTRS() const {
|
||||
|
||||
@@ -91,10 +91,10 @@ public:
|
||||
return plab;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> rotate(const G4std::vector<G4double> mom) const;
|
||||
std::vector<G4double> rotate(const std::vector<G4double> mom) const;
|
||||
|
||||
G4std::vector<G4double> rotate(const G4std::vector<G4double> mom1,
|
||||
const G4std::vector<G4double> mom) const;
|
||||
std::vector<G4double> rotate(const std::vector<G4double> mom1,
|
||||
const std::vector<G4double> mom) const;
|
||||
|
||||
G4bool reflectionNeeded() const;
|
||||
|
||||
@@ -104,15 +104,15 @@ public:
|
||||
|
||||
private:
|
||||
G4int verboseLevel;
|
||||
G4std::vector<G4double> bullet_mom;
|
||||
std::vector<G4double> bullet_mom;
|
||||
G4double bullet_mass;
|
||||
|
||||
G4std::vector<G4double> target_mom;
|
||||
std::vector<G4double> target_mom;
|
||||
G4double target_mass;
|
||||
|
||||
G4std::vector<G4double> velocity;
|
||||
std::vector<G4double> velocity;
|
||||
|
||||
G4std::vector<G4double> scm_momentum;
|
||||
std::vector<G4double> scm_momentum;
|
||||
|
||||
G4double ecm_tot;
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
#include "globals.hh"
|
||||
#endif
|
||||
|
||||
#include "g4std/algorithm"
|
||||
#include "g4std/vector"
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
#include <math.h>
|
||||
|
||||
class G4NuclWatcher {
|
||||
@@ -35,9 +35,9 @@ class G4NuclWatcher {
|
||||
public:
|
||||
|
||||
G4NuclWatcher(G4double z,
|
||||
G4std::vector<G4double> expa,
|
||||
G4std::vector<G4double> expcs,
|
||||
G4std::vector<G4double> experr,
|
||||
std::vector<G4double> expa,
|
||||
std::vector<G4double> expcs,
|
||||
std::vector<G4double> experr,
|
||||
G4bool check,
|
||||
G4bool nucl)
|
||||
: nuclz(z),
|
||||
@@ -89,12 +89,12 @@ public:
|
||||
return izotop_chsq;
|
||||
};
|
||||
|
||||
G4std::pair<G4double, G4double> getAverageRatio() const {
|
||||
std::pair<G4double, G4double> getAverageRatio() const {
|
||||
|
||||
return G4std::pair<G4double, G4double>(average_ratio, aver_rat_err);
|
||||
return std::pair<G4double, G4double>(average_ratio, aver_rat_err);
|
||||
};
|
||||
|
||||
G4std::pair<G4double, G4double> getExpCs() const {
|
||||
std::pair<G4double, G4double> getExpCs() const {
|
||||
|
||||
G4double cs = 0.0;
|
||||
G4double err = 0.0;
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
err += exper_err[iz];
|
||||
};
|
||||
|
||||
return G4std::pair<G4double, G4double>(cs, err);
|
||||
return std::pair<G4double, G4double>(cs, err);
|
||||
};
|
||||
|
||||
G4bool to_check() const {
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
return nucleable;
|
||||
};
|
||||
|
||||
G4std::pair<G4double, G4double> getInuclCs() const {
|
||||
std::pair<G4double, G4double> getInuclCs() const {
|
||||
|
||||
G4double cs = 0.0;
|
||||
G4double err = 0.0;
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
err += simulated_errors[iz];
|
||||
};
|
||||
|
||||
return G4std::pair<G4double, G4double>(cs, err);
|
||||
return std::pair<G4double, G4double>(cs, err);
|
||||
};
|
||||
|
||||
void print() {
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
G4double exp_cs_err = 0.0;
|
||||
G4double inucl_cs = 0.0;
|
||||
G4double inucl_cs_err = 0.0;
|
||||
G4std::vector<G4bool> not_used(simulated_cs.size(), true);
|
||||
std::vector<G4bool> not_used(simulated_cs.size(), true);
|
||||
G4int nmatched = exper_as.size();
|
||||
G4int nused = simulated_cs.size();
|
||||
G4double lhood = 0.0;
|
||||
@@ -253,19 +253,19 @@ private:
|
||||
|
||||
G4double aver_matched;
|
||||
|
||||
G4std::vector<G4double> exper_as;
|
||||
std::vector<G4double> exper_as;
|
||||
|
||||
G4std::vector<G4double> exper_cs;
|
||||
std::vector<G4double> exper_cs;
|
||||
|
||||
G4std::vector<G4double> exper_err;
|
||||
std::vector<G4double> exper_err;
|
||||
|
||||
G4std::vector<G4double> simulated_as;
|
||||
std::vector<G4double> simulated_as;
|
||||
|
||||
G4std::vector<G4double> simulated_cs;
|
||||
std::vector<G4double> simulated_cs;
|
||||
|
||||
G4std::vector<G4double> simulated_errors;
|
||||
std::vector<G4double> simulated_errors;
|
||||
|
||||
G4std::vector<G4double> simulated_prob;
|
||||
std::vector<G4double> simulated_prob;
|
||||
|
||||
G4bool checkable;
|
||||
|
||||
|
||||
@@ -32,15 +32,15 @@
|
||||
#include "G4CascadSpecialFunctions.hh"
|
||||
#include "G4ElementaryParticleCollider.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4InuclNuclei;
|
||||
|
||||
using namespace G4InuclSpecialFunctions;
|
||||
using namespace G4CascadSpecialFunctions;
|
||||
|
||||
typedef G4std::pair<G4InuclElementaryParticle, G4double> partner;
|
||||
typedef G4std::vector<partner> partners;
|
||||
typedef std::pair<G4InuclElementaryParticle, G4double> partner;
|
||||
typedef std::vector<partner> partners;
|
||||
|
||||
class G4NucleiModel {
|
||||
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
return izone < number_of_zones ? zone_potentials[ip0][izone] : 0.0;
|
||||
};
|
||||
|
||||
G4std::vector<G4CascadParticle>
|
||||
std::vector<G4CascadParticle>
|
||||
generateParticleFate(G4CascadParticle& cparticle,
|
||||
G4ElementaryParticleCollider* theElementaryParticleCollider);
|
||||
|
||||
@@ -125,10 +125,10 @@ public:
|
||||
|
||||
G4CascadParticle initializeCascad(G4InuclElementaryParticle* particle);
|
||||
|
||||
G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> > initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
|
||||
std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> > initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
|
||||
|
||||
G4std::pair<G4int, G4int> getTypesOfNucleonsInvolved() const {
|
||||
return G4std::pair<G4int, G4int>(current_nucl1, current_nucl2);
|
||||
std::pair<G4int, G4int> getTypesOfNucleonsInvolved() const {
|
||||
return std::pair<G4int, G4int>(current_nucl1, current_nucl2);
|
||||
};
|
||||
G4bool worthToPropagate(const G4CascadParticle& cparticle) const;
|
||||
|
||||
@@ -137,7 +137,7 @@ public:
|
||||
|
||||
private:
|
||||
G4int verboseLevel;
|
||||
G4bool passFermi(const G4std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4bool passFermi(const std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4int zone);
|
||||
|
||||
void boundaryTransition(G4CascadParticle& cparticle);
|
||||
@@ -159,15 +159,15 @@ G4int verboseLevel;
|
||||
|
||||
G4double getRatio(G4int ip) const;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > nucleon_densities;
|
||||
std::vector<std::vector<G4double> > nucleon_densities;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > zone_potentials;
|
||||
std::vector<std::vector<G4double> > zone_potentials;
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > fermi_momenta;
|
||||
std::vector<std::vector<G4double> > fermi_momenta;
|
||||
|
||||
G4std::vector<G4double> zone_radii;
|
||||
std::vector<G4double> zone_radii;
|
||||
|
||||
G4std::vector<G4double> binding_energies;
|
||||
std::vector<G4double> binding_energies;
|
||||
|
||||
G4double nuclei_radius;
|
||||
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
#ifndef G4REGIONMODEL
|
||||
#define G4REGIONMODEL
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/vector"
|
||||
#include <math.h>
|
||||
#include "globals.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "G4Neutron.hh"
|
||||
//#include "G4NucleusModel.hh"
|
||||
|
||||
|
||||
typedef G4std::vector<G4double>::const_iterator iterator;
|
||||
|
||||
class G4RegionModel //:public G4VRegionModel
|
||||
{
|
||||
public:
|
||||
G4RegionModel(const G4int numberOfLayers, const G4int A, const G4int Z);
|
||||
~G4RegionModel();
|
||||
|
||||
//instead of A and Z outer radius of the nucleus?
|
||||
//void Init(const G4int numberOfLayers, const G4int A, const G4int Z);
|
||||
G4double GetDensity(G4double radius);
|
||||
G4double GetPotentialEnergy(G4double r, G4int particle);
|
||||
G4double GetMaximumNucleonMomentum(G4double radius, G4int nucleon);
|
||||
// G4double NumberOfRegions();
|
||||
|
||||
private:
|
||||
|
||||
G4int massNumber;
|
||||
G4int protonNumber;
|
||||
G4std::vector<G4double> radius; //contains the outer radiuses of the shells
|
||||
G4std::vector<G4double> density;
|
||||
G4std::vector<G4double> protonFermiEnergy;
|
||||
G4std::vector<G4double> neutronFermiEnergy;
|
||||
G4std::vector<G4double> protonFermiMomentum;
|
||||
G4std::vector<G4double> neutronFermiMomentum;
|
||||
|
||||
G4std::vector<G4double> protonPotentialEnergy;
|
||||
G4std::vector<G4double> neutronPotentialEnergy;
|
||||
|
||||
static const G4double radius0;
|
||||
static const G4double BE;
|
||||
//static const G4double pi = 3.141592;
|
||||
|
||||
G4double GetFermiMomentum(G4double density, G4double mass);
|
||||
G4double GetFermiEnergy(G4double density, G4double mass);
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#define G4WATCHER_GUN_HH
|
||||
|
||||
#include "G4NuclWatcher.hh"
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4WatcherGun {
|
||||
|
||||
@@ -32,14 +32,14 @@ public:
|
||||
G4WatcherGun();
|
||||
void setWatchers();
|
||||
|
||||
G4std::vector<G4NuclWatcher> getWatchers() const {
|
||||
std::vector<G4NuclWatcher> getWatchers() const {
|
||||
return watchers;
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
G4int verboseLevel;
|
||||
G4std::vector<G4NuclWatcher> watchers;
|
||||
std::vector<G4NuclWatcher> watchers;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ void G4Analyser::setInelCsec(G4double csec,
|
||||
}
|
||||
}
|
||||
|
||||
void G4Analyser::setWatchers(const G4std::vector<G4NuclWatcher>& watchers) {
|
||||
void G4Analyser::setWatchers(const std::vector<G4NuclWatcher>& watchers) {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4Analyser::setWatchers" << G4endl;
|
||||
@@ -106,7 +106,7 @@ void G4Analyser::analyse(const G4CollisionOutput& output) {
|
||||
}
|
||||
|
||||
if (withNuclei) {
|
||||
G4std::vector<G4InuclNuclei> nucleus = output.getNucleiFragments();
|
||||
std::vector<G4InuclNuclei> nucleus = output.getNucleiFragments();
|
||||
|
||||
if (nucleus.size() >= 0) {
|
||||
G4int nbig = 0;
|
||||
@@ -129,7 +129,7 @@ void G4Analyser::analyse(const G4CollisionOutput& output) {
|
||||
|
||||
if (nbig > 1) fissy_prob += 1.0;
|
||||
eventNumber += 1.0;
|
||||
G4std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
averageMultiplicity += particles.size();
|
||||
|
||||
for (G4int i = 0; i < G4int(particles.size()); i++) {
|
||||
@@ -176,7 +176,7 @@ void G4Analyser::analyse(const G4CollisionOutput& output) {
|
||||
|
||||
} else {
|
||||
eventNumber += 1.0;
|
||||
G4std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
averageMultiplicity += particles.size();
|
||||
|
||||
for (G4int i = 0; i < G4int(particles.size()); i++) {
|
||||
@@ -294,14 +294,14 @@ void G4Analyser::handleWatcherStatistics() {
|
||||
ana_watchers[iw].print();
|
||||
|
||||
if (ana_watchers[iw].to_check()) {
|
||||
G4std::pair<G4double, G4double> rat_err = ana_watchers[iw].getAverageRatio();
|
||||
std::pair<G4double, G4double> rat_err = ana_watchers[iw].getAverageRatio();
|
||||
averat += rat_err.first;
|
||||
ave_err += rat_err.second;
|
||||
gl_chsq += ana_watchers[iw].getChsq();
|
||||
G4std::pair<G4double, G4double> cs_err = ana_watchers[iw].getExpCs();
|
||||
std::pair<G4double, G4double> cs_err = ana_watchers[iw].getExpCs();
|
||||
tot_exper += cs_err.first;
|
||||
tot_exper_err += cs_err.second;
|
||||
G4std::pair<G4double, G4double> inucl_cs_err = ana_watchers[iw].getInuclCs();
|
||||
std::pair<G4double, G4double> inucl_cs_err = ana_watchers[iw].getInuclCs();
|
||||
tot_inucl += inucl_cs_err.first;
|
||||
tot_inucl_err += inucl_cs_err.second;
|
||||
G4double iz_checked = ana_watchers[iw].getNmatched();
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include "G4LorentzConvertor.hh"
|
||||
#include "G4CollisionOutput.hh"
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4BertiniNucleiModel::G4BertiniNucleiModel()
|
||||
: verboseLevel(2) {
|
||||
@@ -75,7 +75,7 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
G4double CU2 = 0.0;
|
||||
|
||||
if (a > 3.5) { /// a > 3
|
||||
G4std::vector<G4double> ur;
|
||||
std::vector<G4double> ur;
|
||||
G4int icase = 0;
|
||||
|
||||
if (a > 11.5) { /// a > 11
|
||||
@@ -106,8 +106,8 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
};
|
||||
|
||||
G4double tot_vol = 0.0;
|
||||
G4std::vector<G4double> v;
|
||||
G4std::vector<G4double> v1;
|
||||
std::vector<G4double> v;
|
||||
std::vector<G4double> v1;
|
||||
G4int i(0);
|
||||
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
@@ -130,9 +130,9 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
|
||||
/// proton
|
||||
G4double dd0 = 3.0 * z * oneBypiTimes4 / tot_vol;
|
||||
G4std::vector<G4double> rod;
|
||||
G4std::vector<G4double> pf;
|
||||
G4std::vector<G4double> vz;
|
||||
std::vector<G4double> rod;
|
||||
std::vector<G4double> pf;
|
||||
std::vector<G4double> vz;
|
||||
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
G4double rd = dd0 * v[i] / v1[i];
|
||||
@@ -164,7 +164,7 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
zone_potentials.push_back(vz);
|
||||
fermi_momenta.push_back(pf);
|
||||
/// pion
|
||||
G4std::vector<G4double> vp(number_of_zones, pion_vp);
|
||||
std::vector<G4double> vp(number_of_zones, pion_vp);
|
||||
zone_potentials.push_back(vp);
|
||||
|
||||
} else { /// a < 4
|
||||
@@ -172,9 +172,9 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
number_of_zones = 1;
|
||||
zone_radii.push_back(radForSmall);
|
||||
G4double vol = 1.0 / piTimes4thirds / pow(zone_radii[0], 3);
|
||||
G4std::vector<G4double> rod;
|
||||
G4std::vector<G4double> pf;
|
||||
G4std::vector<G4double> vz;
|
||||
std::vector<G4double> rod;
|
||||
std::vector<G4double> pf;
|
||||
std::vector<G4double> vz;
|
||||
G4int i(0);
|
||||
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
@@ -207,7 +207,7 @@ void G4BertiniNucleiModel::generateModel(G4double a,
|
||||
fermi_momenta.push_back(pf);
|
||||
|
||||
/// pion
|
||||
G4std::vector<G4double> vp(number_of_zones, pion_vp_small);
|
||||
std::vector<G4double> vp(number_of_zones, pion_vp_small);
|
||||
zone_potentials.push_back(vp);
|
||||
};
|
||||
|
||||
@@ -355,8 +355,8 @@ G4InuclElementaryParticle G4BertiniNucleiModel::generateNucleon(G4int type,
|
||||
const G4double one_third = 1.0 / 3.0;
|
||||
///G4double pmod = getFermiMomentum(type, zone) * pow(inuclRndm(), one_third);
|
||||
G4double pmod = fermi_momenta[type - 1][zone] * pow(inuclRndm(), one_third);
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double pt = pmod * COS_SIN.second;
|
||||
mom[1] = pt * cos(FI);
|
||||
@@ -374,11 +374,11 @@ G4InuclElementaryParticle G4BertiniNucleiModel::generateQuasiDeutron(G4int type1
|
||||
G4cout << " >>> G4BertiniNucleiModel::generateQuasiDeutron" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom = generateNucleon(type1, zone).getMomentum();
|
||||
std::vector<G4double> mom = generateNucleon(type1, zone).getMomentum();
|
||||
|
||||
G4std::vector<G4double> mom1 = generateNucleon(type2, zone).getMomentum();
|
||||
std::vector<G4double> mom1 = generateNucleon(type2, zone).getMomentum();
|
||||
|
||||
G4std::vector<G4double> dmom(4);
|
||||
std::vector<G4double> dmom(4);
|
||||
|
||||
for(G4int i = 1; i < 4; i++) dmom[i] = mom[i] + mom1[i];
|
||||
|
||||
@@ -422,7 +422,7 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa
|
||||
G4int ptype = cparticle.getParticle().type();
|
||||
G4int zone = cparticle.getCurrentZone();
|
||||
G4double pmass = cparticle.getParticle().getMass();
|
||||
G4std::vector<G4double> pmom = cparticle.getParticle().getMomentum();
|
||||
std::vector<G4double> pmom = cparticle.getParticle().getMomentum();
|
||||
G4double r_in;
|
||||
G4double r_out;
|
||||
|
||||
@@ -460,7 +460,7 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa
|
||||
|
||||
} else { /// normal case
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
G4LorentzConvertor dummy_convertor;
|
||||
|
||||
dummy_convertor.setBullet(pmom, pmass);
|
||||
@@ -509,8 +509,8 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa
|
||||
}
|
||||
|
||||
if (cparticle.getParticle().pion()) { /// absorption possible
|
||||
G4std::vector<G4InuclElementaryParticle> qdeutrons;
|
||||
G4std::vector<G4double> acsecs;
|
||||
std::vector<G4InuclElementaryParticle> qdeutrons;
|
||||
std::vector<G4double> acsecs;
|
||||
G4double tot_abs_csec = 0.0;
|
||||
G4double abs_sec;
|
||||
G4double vol = pow(zone_radii[zone], 3);
|
||||
@@ -650,14 +650,14 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa
|
||||
return thePartners;
|
||||
}
|
||||
|
||||
G4std::vector<G4CascadParticle> G4BertiniNucleiModel::generateParticleFate(G4CascadParticle& cparticle,
|
||||
std::vector<G4CascadParticle> G4BertiniNucleiModel::generateParticleFate(G4CascadParticle& cparticle,
|
||||
G4ElementaryParticleCollider* theElementaryParticleCollider) {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4BertiniNucleiModel::generateParticleFate" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4CascadParticle> outgouing_cparticles;
|
||||
std::vector<G4CascadParticle> outgouing_cparticles;
|
||||
|
||||
partners thePartners = generateInteractionPartners(cparticle);
|
||||
|
||||
@@ -682,7 +682,7 @@ G4std::vector<G4CascadParticle> G4BertiniNucleiModel::generateParticleFate(G4Cas
|
||||
|
||||
} else { /// there are possible interactions
|
||||
|
||||
G4std::vector<G4double> old_position = cparticle.getPosition();
|
||||
std::vector<G4double> old_position = cparticle.getPosition();
|
||||
G4InuclElementaryParticle bullet = cparticle.getParticle();
|
||||
G4bool no_interaction = true;
|
||||
G4int zone = cparticle.getCurrentZone();
|
||||
@@ -705,13 +705,13 @@ G4std::vector<G4CascadParticle> G4BertiniNucleiModel::generateParticleFate(G4Cas
|
||||
output.printCollisionOutput();
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> outgoing_particles =
|
||||
std::vector<G4InuclElementaryParticle> outgoing_particles =
|
||||
|
||||
output.getOutgoingParticles();
|
||||
if(passFermi(outgoing_particles, zone)) { /// interaction
|
||||
cparticle.propagateAlongThePath(thePartners[i].second);
|
||||
|
||||
G4std::vector<G4double> new_position = cparticle.getPosition();
|
||||
std::vector<G4double> new_position = cparticle.getPosition();
|
||||
|
||||
for (G4int ip = 0; ip < G4int(outgoing_particles.size()); ip++)
|
||||
outgouing_cparticles.push_back(G4CascadParticle(outgoing_particles[ip],
|
||||
@@ -783,7 +783,7 @@ G4std::vector<G4CascadParticle> G4BertiniNucleiModel::generateParticleFate(G4Cas
|
||||
return outgouing_cparticles;
|
||||
}
|
||||
|
||||
G4bool G4BertiniNucleiModel::passFermi(const G4std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4bool G4BertiniNucleiModel::passFermi(const std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4int zone) {
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4BertiniNucleiModel::passFermi" << G4endl;
|
||||
@@ -825,8 +825,8 @@ void G4BertiniNucleiModel::boundaryTransition(G4CascadParticle& cparticle) {
|
||||
|
||||
} else {
|
||||
|
||||
G4std::vector<G4double> mom = cparticle.getMomentum();
|
||||
G4std::vector<G4double> pos = cparticle.getPosition();
|
||||
std::vector<G4double> mom = cparticle.getMomentum();
|
||||
std::vector<G4double> pos = cparticle.getPosition();
|
||||
G4int type = cparticle.getParticle().type();
|
||||
G4double pr = 0.0;
|
||||
G4double r = 0.0;
|
||||
@@ -926,7 +926,7 @@ G4CascadParticle G4BertiniNucleiModel::initializeCascad(G4InuclElementaryParticl
|
||||
G4double s1 = sqrt(inuclRndm());
|
||||
G4double phi = randomPHI();
|
||||
G4double rz = nuclei_radius * s1;
|
||||
G4std::vector<G4double> pos(3);
|
||||
std::vector<G4double> pos(3);
|
||||
pos[0] = rz * cos(phi);
|
||||
pos[1] = rz * sin(phi);
|
||||
pos[2] = -nuclei_radius * sqrt(1.0 - s1 * s1);
|
||||
@@ -940,7 +940,7 @@ G4CascadParticle G4BertiniNucleiModel::initializeCascad(G4InuclElementaryParticl
|
||||
return cpart;
|
||||
}
|
||||
|
||||
G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4InuclNuclei* target) {
|
||||
|
||||
@@ -960,8 +960,8 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
const G4double s4max = 7.0;
|
||||
const G4int itry_max = 100;
|
||||
|
||||
G4std::vector<G4CascadParticle> casparticles;
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4CascadParticle> casparticles;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
|
||||
|
||||
G4double ab = bullet->getA();
|
||||
@@ -983,14 +983,14 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
if (itryg > 0) particles.resize(0);
|
||||
|
||||
|
||||
G4std::vector<G4std::vector<G4double> > coordinates; /// nucleons coordinates in nuclei rest frame
|
||||
G4std::vector<G4std::vector<G4double> > momentums;
|
||||
std::vector<std::vector<G4double> > coordinates; /// nucleons coordinates in nuclei rest frame
|
||||
std::vector<std::vector<G4double> > momentums;
|
||||
|
||||
if (ab < 3.0) { /// deutron, simplest case
|
||||
G4double r = 2.214 - 3.4208 * log(1.0 - 0.981 * inuclRndm());
|
||||
G4double s = 2.0 * inuclRndm() - 1.0;
|
||||
G4double r1 = r * sqrt(1.0 - s * s);
|
||||
G4std::vector<G4double> coord1(3);
|
||||
std::vector<G4double> coord1(3);
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = r1 * cos(phi);
|
||||
coord1[1] = r1 * sin(phi);
|
||||
@@ -1026,8 +1026,8 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4cout << " p nuc " << p << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = p * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
@@ -1041,7 +1041,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
} else {
|
||||
G4int ia = G4int(ab + 0.5);
|
||||
G4std::vector<G4double> coord1(3);
|
||||
std::vector<G4double> coord1(3);
|
||||
G4bool badco = true;
|
||||
G4int itry = 0;
|
||||
|
||||
@@ -1068,7 +1068,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if (sqrt(s) * exp(-s) > u && s < s3max) {
|
||||
s = r0forAeq3 * sqrt(s);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
u = s * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = u * cos(phi);
|
||||
@@ -1156,7 +1156,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if (sqrt(s) * exp(-s) * (1.0 + b * s) > u && s < s4max) {
|
||||
s = r0forAeq4 * sqrt(s);
|
||||
G4std::pair<double, double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<double, double> COS_SIN = randomCOS_SIN();
|
||||
u = s * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = u * cos(phi);
|
||||
@@ -1227,14 +1227,14 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4cout << " can not generate the nucleons coordinates for a " << ab <<
|
||||
G4endl;
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
|
||||
} else { /// momentums
|
||||
G4double p;
|
||||
G4double u;
|
||||
G4double x;
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
/// G4bool badp = True;
|
||||
G4int i(0);
|
||||
|
||||
@@ -1248,7 +1248,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if (x > inuclRndm()) {
|
||||
p = sqrt(0.01953 * u);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double pt = p * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
mom[1] = pt * cos(phi);
|
||||
@@ -1263,7 +1263,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
if (itry == itry_max) {
|
||||
G4cout << " can not generate proper momentum for a " << ab << G4endl;
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
};
|
||||
};
|
||||
@@ -1292,7 +1292,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4double s1 = sqrt(inuclRndm());
|
||||
G4double phi = randomPHI();
|
||||
G4double rz = (nuclei_radius + rb) * s1;
|
||||
G4std::vector<double> global_pos(3);
|
||||
std::vector<double> global_pos(3);
|
||||
global_pos[0] = rz * cos(phi);
|
||||
global_pos[1] = rz * sin(phi);
|
||||
global_pos[2] = -(nuclei_radius + rb) * sqrt(1.0 - s1 * s1);
|
||||
@@ -1304,7 +1304,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
};
|
||||
|
||||
/// all nucleons at rest
|
||||
G4std::vector<G4InuclElementaryParticle> raw_particles;
|
||||
std::vector<G4InuclElementaryParticle> raw_particles;
|
||||
G4int ia = G4int(ab + 0.5);
|
||||
G4int iz = G4int(zb + 0.5);
|
||||
|
||||
@@ -1325,7 +1325,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
particleIterator ipart;
|
||||
|
||||
for (ipart = raw_particles.begin(); ipart != raw_particles.end(); ipart++) {
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
toTheBulletRestFrame.backToTheLab(ipart->getMomentum());
|
||||
|
||||
ipart->setMomentum(mom);
|
||||
@@ -1333,7 +1333,7 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
/// fill cascad particles and outgoing particles
|
||||
for (G4int ip = 0; ip < G4int(raw_particles.size()); ip++) {
|
||||
G4std::vector<G4double> mom = raw_particles[ip].getMomentum();
|
||||
std::vector<G4double> mom = raw_particles[ip].getMomentum();
|
||||
G4double pmod = sqrt(mom[1] * mom[1] + mom[2] * mom[2] + mom[3] * mom[3]);
|
||||
G4double t0 = -(mom[1] * coordinates[ip][0] + mom[2] * coordinates[ip][1] +
|
||||
mom[3] * coordinates[ip][2]) / pmod;
|
||||
@@ -1407,6 +1407,6 @@ G4BertiniNucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
particles[ip].printParticle();
|
||||
}
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
}
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
|
||||
#include "G4BertiniRegionModel.hh"
|
||||
|
||||
const G4double G4BertiniRegionModel::radius0 = 1.0E-15;
|
||||
const G4double G4BertiniRegionModel::BE = 7;
|
||||
|
||||
G4BertiniRegionModel::G4BertiniRegionModel(const G4int numberOfLayers, const G4int A, const G4int Z)
|
||||
{
|
||||
//count the radiuses, densities and fermi momenta with A and Z
|
||||
G4double r = radius0*pow(A, 1/3);
|
||||
|
||||
if(numberOfLayers==1){
|
||||
radius.push_back(r);
|
||||
|
||||
G4double rho = A / (4/3*pi*pow(r,3));
|
||||
density.push_back(rho);
|
||||
|
||||
G4double protonMass = G4Proton::Proton()->GetPDGMass();
|
||||
G4double neutronMass = G4Neutron::Neutron()->GetPDGMass();
|
||||
G4double protonDensity = Z / (4/3*pi*pow(r,3));
|
||||
G4double neutronDensity = (A-Z) / (4/3*pi*pow(r,3));
|
||||
|
||||
protonFermiEnergy.push_back(GetFermiEnergy(protonDensity, protonMass));
|
||||
neutronFermiEnergy.push_back(GetFermiEnergy(neutronDensity, neutronMass));
|
||||
|
||||
protonFermiMomentum.push_back(GetFermiMomentum(protonDensity, protonMass));
|
||||
neutronFermiMomentum.push_back(GetFermiMomentum(neutronDensity, neutronMass));
|
||||
|
||||
G4double fermiEP = *protonFermiEnergy.begin();
|
||||
G4double fermiEN = *neutronFermiEnergy.begin();
|
||||
protonPotentialEnergy.push_back(-(fermiEP + BE));
|
||||
neutronPotentialEnergy.push_back(-(fermiEN + BE));
|
||||
}
|
||||
else{
|
||||
if(numberOfLayers==3){
|
||||
radius.push_back(0.1*r);
|
||||
radius.push_back(0.2*r);
|
||||
radius.push_back(0.9*r);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
G4BertiniRegionModel::~G4BertiniRegionModel(){}
|
||||
|
||||
/*
|
||||
void G4BertiniRegionModel::Init(const G4int numberOfLayers, const G4int A, const G4int Z){
|
||||
//count the radiuses, densities and fermi momenta with A and Z
|
||||
G4double r = radius0*pow(A, 1/3);
|
||||
|
||||
if(numberOfLayers==1){
|
||||
radius.push_back(r);
|
||||
|
||||
G4double rho = A / (4/3*pi*pow(r,3));
|
||||
density.push_back(rho);
|
||||
|
||||
G4double protonMass = G4Proton::Proton()->GetPDGMass()/MeV;
|
||||
G4double neutronMass = G4Neutron::Neutron()->GetPDGMass()/MeV ;
|
||||
G4double protonDensity = Z / (4/3*pi*pow(r,3));
|
||||
G4double neutronDensity = (A-Z) / (4/3*pi*pow(r,3));
|
||||
|
||||
protonFermiEnergy.push_back(GetFermiEnergy(protonDensity, protonMass));
|
||||
neutronFermiEnergy.push_back(GetFermiEnergy(neutronDensity, neutronMass));
|
||||
|
||||
protonFermiMomentum.push_back(GetFermiMomentum(protonDensity, protonMass));
|
||||
neutronFermiMomentum.push_back(GetFermiMomentum(neutronDensity, neutronMass));
|
||||
|
||||
G4double fermiEP = *protonFermiEnergy.begin();
|
||||
G4double fermiEN = *neutronFermiEnergy.begin();
|
||||
protonPotentialEnergy.push_back(-(fermiEP + BE));
|
||||
neutronPotentialEnergy.push_back(-(fermiEN + BE));
|
||||
}
|
||||
else{
|
||||
if(numberOfLayers==3){
|
||||
radius.push_back(0.1*r);
|
||||
radius.push_back(0.2*r);
|
||||
radius.push_back(0.9*r);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//--------------------------------------------------------------
|
||||
|
||||
G4double G4BertiniRegionModel::GetDensity(G4double r){
|
||||
iterator j=density.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
G4double G4BertiniRegionModel::GetPotentialEnergy(G4double r, G4int particle){
|
||||
if(particle == 0){ //proton
|
||||
iterator j=protonPotentialEnergy.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(particle == 1){ //neutron
|
||||
iterator j=neutronPotentialEnergy.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
G4double G4BertiniRegionModel::GetMaximumNucleonMomentum(G4double r,
|
||||
G4int nucleon){
|
||||
|
||||
if(nucleon == 0){
|
||||
iterator j=protonFermiMomentum.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
if(nucleon==1){
|
||||
iterator j=neutronFermiMomentum.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
G4Exception("G4BertiniRegionModel::GetMaximumNucleonMomentum - return value undefined");
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
G4double G4BertiniRegionModel::GetFermiMomentum(G4double aDensity,
|
||||
G4double aMass){
|
||||
|
||||
return sqrt(2*aMass*GetFermiEnergy(aDensity, aMass));
|
||||
|
||||
|
||||
}
|
||||
|
||||
G4double G4BertiniRegionModel::GetFermiEnergy(G4double aDensity,
|
||||
G4double aMass){
|
||||
|
||||
//G4double hbar = 1.0E-6;
|
||||
return (pow(hbar_Planck,2)/(2*aMass)*pow((3*pi2*aDensity),2/3));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
#include "G4InuclNuclei.hh"
|
||||
#include "G4ParticleLargerEkin.hh"
|
||||
#include "G4LorentzConvertor.hh"
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4BigBanger::G4BigBanger()
|
||||
: verboseLevel(1) {
|
||||
@@ -47,14 +47,14 @@ G4CollisionOutput G4BigBanger::collide(G4InuclParticle* bullet,
|
||||
const G4double small_ekin = 1.0e-6;
|
||||
|
||||
G4CollisionOutput output;
|
||||
G4std::vector<G4double> totscm;
|
||||
G4std::vector<G4double> totlab;
|
||||
std::vector<G4double> totscm;
|
||||
std::vector<G4double> totlab;
|
||||
|
||||
if(G4InuclNuclei* nuclei_target = dynamic_cast<G4InuclNuclei*>(target)) {
|
||||
|
||||
G4double A = nuclei_target->getA();
|
||||
G4double Z = nuclei_target->getZ();
|
||||
G4std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
G4double EEXS = nuclei_target->getExitationEnergy();
|
||||
G4InuclElementaryParticle dummy(small_ekin, 1);
|
||||
G4LorentzConvertor toTheNucleiSystemRestFrame;
|
||||
@@ -72,7 +72,7 @@ G4CollisionOutput G4BigBanger::collide(G4InuclParticle* bullet,
|
||||
etot << " nm " << nuclei_target->getMass() << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> particles =
|
||||
std::vector<G4InuclElementaryParticle> particles =
|
||||
generateBangInSCM(etot, A, Z, dummy.getParticleMass(1), dummy.getParticleMass(2));
|
||||
|
||||
if (verboseLevel > 2) {
|
||||
@@ -82,18 +82,18 @@ G4CollisionOutput G4BigBanger::collide(G4InuclParticle* bullet,
|
||||
}
|
||||
if(!particles.empty()) { // convert back to Lab
|
||||
if (verboseLevel > 2) {
|
||||
G4std::vector<G4double> totscm(4, 0.0);
|
||||
G4std::vector<G4double> totlab(4, 0.0);
|
||||
std::vector<G4double> totscm(4, 0.0);
|
||||
std::vector<G4double> totlab(4, 0.0);
|
||||
}
|
||||
particleIterator ipart;
|
||||
|
||||
for(ipart = particles.begin(); ipart != particles.end(); ipart++) {
|
||||
if (verboseLevel > 2) {
|
||||
G4std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
|
||||
for(G4int i = 0; i < 4; i++) totscm[i] += mom_scm[i];
|
||||
}
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(ipart->getMomentum());
|
||||
ipart->setMomentum(mom);
|
||||
|
||||
@@ -102,7 +102,7 @@ G4CollisionOutput G4BigBanger::collide(G4InuclParticle* bullet,
|
||||
for(G4int i = 0; i < 4; i++) totlab[i] += mom[i];
|
||||
}
|
||||
};
|
||||
G4std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
if (verboseLevel > 2) {
|
||||
G4cout << " In SCM: total outgoing momentum " << G4endl
|
||||
<< " E " << totscm[0] << " px " << totscm[1]
|
||||
@@ -123,7 +123,7 @@ G4CollisionOutput G4BigBanger::collide(G4InuclParticle* bullet,
|
||||
return output;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle>
|
||||
std::vector<G4InuclElementaryParticle>
|
||||
G4BigBanger::generateBangInSCM(G4double etot,
|
||||
G4double a,
|
||||
G4double z,
|
||||
@@ -143,14 +143,14 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
if (verboseLevel > 2) {
|
||||
G4cout << " ia " << ia << " iz " << iz << G4endl;
|
||||
}
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
|
||||
if(ia == 1) {
|
||||
// abnormal situation
|
||||
G4double m = iz > 0 ? mp : mn;
|
||||
G4double pmod = sqrt((etot + 2.0 * m) * etot);
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double Pt = pmod * COS_SIN.second;
|
||||
|
||||
@@ -165,18 +165,18 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
return particles;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> pmod = generateMomentumModules(etot, a, z, mp, mn);
|
||||
std::vector<G4double> pmod = generateMomentumModules(etot, a, z, mp, mn);
|
||||
G4bool bad = true;
|
||||
G4int itry = 0;
|
||||
|
||||
while(bad && itry < itry_max) {
|
||||
itry++;
|
||||
G4std::vector<G4std::vector<G4double> > scm_momentums;
|
||||
G4std::vector<G4double> tot_mom(4);
|
||||
std::vector<std::vector<G4double> > scm_momentums;
|
||||
std::vector<G4double> tot_mom(4);
|
||||
|
||||
if(ia == 2) {
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
double FI = randomPHI();
|
||||
double Pt = pmod[0] * COS_SIN.second;
|
||||
|
||||
@@ -188,7 +188,7 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
|
||||
scm_momentums.push_back(mom);
|
||||
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
|
||||
for(G4int i = 1; i < 4; i++) mom1[i] = - mom[i];
|
||||
|
||||
@@ -197,8 +197,8 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
}
|
||||
else {
|
||||
for(G4int i = 0; i < ia - 2; i++) {
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double Pt = pmod[i] * COS_SIN.second;
|
||||
|
||||
@@ -223,19 +223,19 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
}
|
||||
|
||||
if(fabs(ct) < ang_cut) {
|
||||
G4std::vector<G4double> mom2 = generateWithFixedTheta(ct, pmod[ia - 2]);
|
||||
std::vector<G4double> mom2 = generateWithFixedTheta(ct, pmod[ia - 2]);
|
||||
// rotate to the normal system
|
||||
G4std::vector<G4double> apr = tot_mom;
|
||||
std::vector<G4double> apr = tot_mom;
|
||||
G4int i;
|
||||
for(i = 1; i < 4; i++) apr[i] /= tot_mod;
|
||||
G4double a_tr = sqrt(apr[1] * apr[1] + apr[2] * apr[2]);
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
mom[1] = mom2[3] * apr[1] + ( mom2[1] * apr[2] + mom2[2] * apr[3] * apr[1]) / a_tr; // ::: replace with clhep tools?
|
||||
mom[2] = mom2[3] * apr[2] + (-mom2[1] * apr[1] + mom2[2] * apr[3] * apr[2]) / a_tr;
|
||||
mom[3] = mom2[3] * apr[3] - mom2[2] * a_tr;
|
||||
scm_momentums.push_back(mom);
|
||||
// and the last one
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
for(i = 1; i < 4; i++) mom1[i] = - mom[i] - tot_mom[i];
|
||||
scm_momentums.push_back(mom1);
|
||||
bad = false;
|
||||
@@ -257,7 +257,7 @@ G4BigBanger::generateBangInSCM(G4double etot,
|
||||
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4BigBanger::generateMomentumModules(G4double etot,
|
||||
std::vector<G4double> G4BigBanger::generateMomentumModules(G4double etot,
|
||||
G4double a,
|
||||
G4double z,
|
||||
G4double mp,
|
||||
@@ -270,7 +270,7 @@ G4std::vector<G4double> G4BigBanger::generateMomentumModules(G4double etot,
|
||||
|
||||
G4int ia = int(a + 0.1);
|
||||
G4int iz = int(z + 0.1);
|
||||
G4std::vector<G4double> pmod;
|
||||
std::vector<G4double> pmod;
|
||||
G4double xtot = 0.0;
|
||||
G4double promax = maxProbability(a);
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ G4double G4CascadParticle::getPathToTheNextZone(G4double rz_in,
|
||||
G4double rp = 0.0;
|
||||
G4double rr = 0.0;
|
||||
G4double pp = 0.0;
|
||||
G4std::vector<G4double> mom = theParticle.getMomentum();
|
||||
std::vector<G4double> mom = theParticle.getMomentum();
|
||||
|
||||
for (G4int i = 1; i < 4; i++) {
|
||||
rp += mom[i] * position[i - 1];
|
||||
@@ -87,7 +87,7 @@ void G4CascadParticle::propagateAlongThePath(G4double path) {
|
||||
G4cout << " >>> G4CascadParticle::propagateAlongThePath" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom = theParticle.getMomentum();
|
||||
std::vector<G4double> mom = theParticle.getMomentum();
|
||||
G4double pmod = theParticle.getMomModule();
|
||||
|
||||
for(G4int i = 0; i < 3; i++) position[i] += mom[i + 1] * path / pmod;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "G4CascadSpecialFunctions.hh"
|
||||
|
||||
G4std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScale2(G4double e) {
|
||||
std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScale2(G4double e) {
|
||||
G4int verboseLevel = 2;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -48,10 +48,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
return G4std::pair<G4int, G4double>(ik, sk);
|
||||
return std::pair<G4int, G4double>(ik, sk);
|
||||
}
|
||||
|
||||
G4std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScale1(G4double e) {
|
||||
std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScale1(G4double e) {
|
||||
G4int verboseLevel = 2;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -92,7 +92,7 @@ G4std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScale1
|
||||
G4cout << " e " << e << " ik " << ik << " sk " << sk << G4endl;
|
||||
}
|
||||
|
||||
return G4std::pair<G4int, G4double>(ik, sk);
|
||||
return std::pair<G4int, G4double>(ik, sk);
|
||||
}
|
||||
|
||||
G4double G4CascadSpecialFunctions::absorptionCrosSection(G4double e,
|
||||
@@ -122,7 +122,7 @@ G4double G4CascadSpecialFunctions::absorptionCrosSection(G4double e,
|
||||
return corr_fac * csec;
|
||||
}
|
||||
|
||||
G4std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScaleEMS(G4double e) {
|
||||
std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScaleEMS(G4double e) {
|
||||
G4int verboseLevel = 2;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -162,7 +162,7 @@ G4std::pair<G4int, G4double> G4CascadSpecialFunctions::getPositionInEnergyScaleE
|
||||
sk = 1.0;
|
||||
};
|
||||
|
||||
return G4std::pair<G4int, G4double>(ik, sk);
|
||||
return std::pair<G4int, G4double>(ik, sk);
|
||||
}
|
||||
|
||||
G4double G4CascadSpecialFunctions::crossSection(G4double e,
|
||||
@@ -347,7 +347,7 @@ G4double G4CascadSpecialFunctions::crossSection(G4double e,
|
||||
};
|
||||
|
||||
} else {
|
||||
G4std::pair<G4int, G4double> iksk = getPositionInEnergyScaleEMS(e);
|
||||
std::pair<G4int, G4double> iksk = getPositionInEnergyScaleEMS(e);
|
||||
G4int ik = iksk.first;
|
||||
G4double sk = iksk.second;
|
||||
|
||||
@@ -363,7 +363,7 @@ G4double G4CascadSpecialFunctions::crossSection(G4double e,
|
||||
};
|
||||
|
||||
} else {
|
||||
G4std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(e);
|
||||
std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(e);
|
||||
G4int ik = iksk.first;
|
||||
G4double sk = iksk.second;
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
#include "G4LorentzRotation.hh"
|
||||
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef G4std::vector<G4InuclNuclei>::iterator nucleiIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclNuclei>::iterator nucleiIterator;
|
||||
|
||||
G4CascadeInterface::G4CascadeInterface()
|
||||
:verboseLevel(0) {
|
||||
@@ -106,7 +106,7 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
toZ.rotateY(-projectileMomentum.theta());
|
||||
G4LorentzRotation toLabFrame = toZ.inverse();
|
||||
|
||||
G4std::vector<G4double> momentumBullet(4);
|
||||
std::vector<G4double> momentumBullet(4);
|
||||
momentumBullet[0] =0.;
|
||||
momentumBullet[1] =0;
|
||||
momentumBullet[2] =0;
|
||||
@@ -123,7 +123,7 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
G4InuclNuclei* target = NULL;
|
||||
G4InuclParticle* targetH = NULL;
|
||||
|
||||
G4std::vector<G4double> targetMomentum(4, 0.0);
|
||||
std::vector<G4double> targetMomentum(4, 0.0);
|
||||
|
||||
G4double theNucleusA = theNucleus.GetN();
|
||||
|
||||
@@ -135,9 +135,9 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
theNucleus.GetZ());
|
||||
target->setEnergy();
|
||||
|
||||
G4std::vector<G4double> bmom = bullet->getMomentum();
|
||||
std::vector<G4double> bmom = bullet->getMomentum();
|
||||
eInit = sqrt(bmom[0] * bmom[0]);
|
||||
G4std::vector<G4double> tmom = target->getMomentum();
|
||||
std::vector<G4double> tmom = target->getMomentum();
|
||||
eInit += sqrt(tmom[0] * tmom[0]);
|
||||
|
||||
sumBaryon += theNucleusA;
|
||||
@@ -177,9 +177,9 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
|
||||
sumBaryon += 1;
|
||||
|
||||
G4std::vector<G4double> bmom = bullet->getMomentum();
|
||||
std::vector<G4double> bmom = bullet->getMomentum();
|
||||
eInit = sqrt(bmom[0] * bmom[0]);
|
||||
G4std::vector<G4double> tmom = targetH->getMomentum();
|
||||
std::vector<G4double> tmom = targetH->getMomentum();
|
||||
eInit += sqrt(tmom[0] * tmom[0]);
|
||||
|
||||
if (verboseLevel > 2) {
|
||||
@@ -206,8 +206,8 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
|
||||
// Convert cascade data to use hadronics interface
|
||||
|
||||
G4std::vector<G4InuclNuclei> nucleiFragments = output.getNucleiFragments();
|
||||
G4std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
std::vector<G4InuclNuclei> nucleiFragments = output.getNucleiFragments();
|
||||
std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles();
|
||||
|
||||
G4int numSecondaries = nucleiFragments.size()+particles.size();
|
||||
theResult.SetStatusChange(fStopAndKill);
|
||||
@@ -219,7 +219,7 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
|
||||
for (ipart = particles.begin(); ipart != particles.end(); ipart++) {
|
||||
outgoingParticle = ipart->type();
|
||||
G4std::vector<G4double> mom = ipart->getMomentum();
|
||||
std::vector<G4double> mom = ipart->getMomentum();
|
||||
eTot += sqrt(mom[0] * mom[0]);
|
||||
|
||||
G4double ekin = ipart->getKineticEnergy() * GeV;
|
||||
@@ -305,7 +305,7 @@ G4VParticleChange* G4CascadeInterface::ApplyYourself(const G4Track& aTrack,
|
||||
for (ifrag = nucleiFragments.begin(); ifrag != nucleiFragments.end(); ifrag++)
|
||||
{
|
||||
G4double eKin = ifrag->getKineticEnergy() * GeV;
|
||||
G4std::vector<G4double> mom = ifrag->getMomentum();
|
||||
std::vector<G4double> mom = ifrag->getMomentum();
|
||||
eTot += sqrt(mom[0] * mom[0]);
|
||||
|
||||
G4ThreeVector aMom(mom[1], mom[2], mom[3]);
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
|
||||
#include "G4CollisionOutput.hh"
|
||||
#include "G4ParticleLargerEkin.hh"
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4CollisionOutput::G4CollisionOutput()
|
||||
: verboseLevel(0) {
|
||||
@@ -45,14 +45,14 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
|
||||
on_shell = false;
|
||||
|
||||
G4std::vector<G4double> ini_mom = bullet->getMomentum();
|
||||
G4std::vector<G4double> momt = target->getMomentum();
|
||||
std::vector<G4double> ini_mom = bullet->getMomentum();
|
||||
std::vector<G4double> momt = target->getMomentum();
|
||||
|
||||
G4int i;
|
||||
for(i = 0; i < 4; i++) ini_mom[i] += momt[i];
|
||||
|
||||
G4std::vector<G4double> out_mom = getTotalOutputMomentum();
|
||||
G4std::vector<G4double> mon_non_cons(4);
|
||||
std::vector<G4double> out_mom = getTotalOutputMomentum();
|
||||
std::vector<G4double> mon_non_cons(4);
|
||||
if(verboseLevel > 2){
|
||||
G4cout << " bullet momentum = " << ini_mom[0]<<", "<< ini_mom[1]<<", "<< ini_mom[2]<<", "<< ini_mom[3]<<G4endl;
|
||||
G4cout << " target momentum = " << momt[0]<<", "<< momt[1]<<", "<< momt[2]<<", "<< momt[3]<<G4endl;
|
||||
@@ -80,7 +80,7 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
|
||||
if(npart > 0) {
|
||||
|
||||
G4std::vector<G4double> last_mom = outgoingParticles[npart - 1].getMomentum();
|
||||
std::vector<G4double> last_mom = outgoingParticles[npart - 1].getMomentum();
|
||||
|
||||
for(G4int i = 1; i < 4; i++) last_mom[i] += mon_non_cons[i];
|
||||
outgoingParticles[npart - 1].setMomentum(last_mom);
|
||||
@@ -91,7 +91,7 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
|
||||
if(nnuc > 0) {
|
||||
|
||||
G4std::vector<G4double> last_mom = nucleiFragments[nnuc - 1].getMomentum();
|
||||
std::vector<G4double> last_mom = nucleiFragments[nnuc - 1].getMomentum();
|
||||
|
||||
for(G4int i = 1; i < 4; i++) last_mom[i] += mon_non_cons[i];
|
||||
nucleiFragments[nnuc - 1].setMomentum(last_mom);
|
||||
@@ -130,8 +130,8 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
|
||||
if(need_hard_tuning) {
|
||||
|
||||
G4std::pair<G4std::pair<G4int, G4int>, G4int> tune_par = selectPairToTune(mon_non_cons[0]);
|
||||
G4std::pair<G4int, G4int> tune_particles = tune_par.first;
|
||||
std::pair<std::pair<G4int, G4int>, G4int> tune_par = selectPairToTune(mon_non_cons[0]);
|
||||
std::pair<G4int, G4int> tune_particles = tune_par.first;
|
||||
G4int mom_ind = tune_par.second;
|
||||
|
||||
if(verboseLevel > 2) {
|
||||
@@ -141,8 +141,8 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
if(tune_particles.first >= 0 && tune_particles.second >= 0 &&
|
||||
mom_ind >= 1) { // tunning possible
|
||||
|
||||
G4std::vector<G4double> mom1 = outgoingParticles[tune_particles.first].getMomentum();
|
||||
G4std::vector<G4double> mom2 = outgoingParticles[tune_particles.second].getMomentum();
|
||||
std::vector<G4double> mom1 = outgoingParticles[tune_particles.first].getMomentum();
|
||||
std::vector<G4double> mom2 = outgoingParticles[tune_particles.second].getMomentum();
|
||||
G4double newE12 = mom1[0] + mom2[0] + mon_non_cons[0];
|
||||
G4double R = 0.5 * (newE12 * newE12 + mom2[0] * mom2[0] - mom1[0] * mom1[0]) / newE12;
|
||||
G4double Q = -(mom1[mom_ind] + mom2[mom_ind]) / newE12;
|
||||
@@ -193,7 +193,7 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
outgoingParticles[tune_particles.first ].setMomentum(mom1);
|
||||
outgoingParticles[tune_particles.second].setMomentum(mom2);
|
||||
out_mom = getTotalOutputMomentum();
|
||||
G4std::sort(outgoingParticles.begin(), outgoingParticles.end(), G4ParticleLargerEkin());
|
||||
std::sort(outgoingParticles.begin(), outgoingParticles.end(), G4ParticleLargerEkin());
|
||||
for(G4int i = 0; i < 4; i++) mon_non_cons[i] = ini_mom[i] - out_mom[i];
|
||||
pnc = sqrt(mon_non_cons[1] * mon_non_cons[1] +
|
||||
mon_non_cons[2] * mon_non_cons[2] +
|
||||
@@ -232,15 +232,15 @@ void G4CollisionOutput::setOnShell(G4InuclParticle* bullet,
|
||||
|
||||
}
|
||||
|
||||
G4std::pair<G4std::pair<G4int, G4int>, G4int> G4CollisionOutput::selectPairToTune(G4double de) const {
|
||||
std::pair<std::pair<G4int, G4int>, G4int> G4CollisionOutput::selectPairToTune(G4double de) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4CollisionOutput::selectPairToTune" << G4endl;
|
||||
}
|
||||
|
||||
G4std::pair<G4int, G4int> tup(-1, -1);
|
||||
std::pair<G4int, G4int> tup(-1, -1);
|
||||
G4int i3 = -1;
|
||||
G4std::pair<G4std::pair<G4int, G4int>, G4int> badp(tup, i3);
|
||||
std::pair<std::pair<G4int, G4int>, G4int> badp(tup, i3);
|
||||
|
||||
if(outgoingParticles.size() < 2) {
|
||||
|
||||
@@ -257,11 +257,11 @@ G4std::pair<G4std::pair<G4int, G4int>, G4int> G4CollisionOutput::selectPairToTun
|
||||
|
||||
for(G4int i = 0; i < G4int(outgoingParticles.size()) - 1; i++) {
|
||||
|
||||
G4std::vector<G4double> mom1 = outgoingParticles[i].getMomentum();
|
||||
std::vector<G4double> mom1 = outgoingParticles[i].getMomentum();
|
||||
|
||||
for(G4int j = i+1; j < G4int(outgoingParticles.size()); j++) {
|
||||
|
||||
G4std::vector<G4double> mom2 = outgoingParticles[j].getMomentum();
|
||||
std::vector<G4double> mom2 = outgoingParticles[j].getMomentum();
|
||||
|
||||
for(G4int l = 1; l < 4; l++) {
|
||||
if(mom1[l] * mom2[l] < 0.0) {
|
||||
@@ -304,7 +304,7 @@ G4std::pair<G4std::pair<G4int, G4int>, G4int> G4CollisionOutput::selectPairToTun
|
||||
};
|
||||
};
|
||||
|
||||
return G4std::pair<G4std::pair<G4int, G4int>, G4int>(tup, i3);
|
||||
return std::pair<std::pair<G4int, G4int>, G4int>(tup, i3);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+55
-55
@@ -23,9 +23,9 @@
|
||||
#include "G4Collider.hh"
|
||||
#include "G4ElementaryParticleCollider.hh"
|
||||
#include "G4ParticleLargerEkin.hh"
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4ElementaryParticleCollider::G4ElementaryParticleCollider()
|
||||
: verboseLevel(1) {
|
||||
@@ -43,8 +43,8 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
G4cout << " >>> G4ElementaryParticleCollider::collide" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> totscm(4, 0.0); //::: fix
|
||||
G4std::vector<G4double> totlab(4, 0.0);
|
||||
std::vector<G4double> totscm(4, 0.0); //::: fix
|
||||
std::vector<G4double> totlab(4, 0.0);
|
||||
|
||||
// generate nucleon or pion collission with NUCLEON
|
||||
// or pion with quasideutron
|
||||
@@ -70,8 +70,8 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
particle1->printParticle();
|
||||
particle2->printParticle();
|
||||
|
||||
G4std::vector<G4double> momb = particle1->getMomentum();
|
||||
G4std::vector<G4double> momt = particle2->getMomentum();
|
||||
std::vector<G4double> momb = particle1->getMomentum();
|
||||
std::vector<G4double> momt = particle2->getMomentum();
|
||||
|
||||
for(G4int i = 0; i < 4; i++) momb[i] += momt[i];
|
||||
G4cout << " total input: px " << momb[1] << " py " << momb[2]
|
||||
@@ -102,7 +102,7 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
pscm << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> particles =
|
||||
std::vector<G4InuclElementaryParticle> particles =
|
||||
generateSCMfinalState(ekin, etot_scm, pscm, particle1, particle2, &convertToSCM);
|
||||
|
||||
if(verboseLevel > 2){
|
||||
@@ -120,7 +120,7 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
for(ipart = particles.begin(); ipart != particles.end(); ipart++) {
|
||||
|
||||
if(verboseLevel > 2){
|
||||
G4std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
G4cout << mom_scm[0] << " " << mom_scm[1] << " "
|
||||
<< mom_scm[2] << " " << mom_scm[3] << G4endl;
|
||||
|
||||
@@ -131,7 +131,7 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
convertToSCM.backToTheLab(ipart->getMomentum());
|
||||
|
||||
if(verboseLevel > 2){
|
||||
@@ -141,7 +141,7 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
ipart->setMomentum(mom);
|
||||
};
|
||||
|
||||
G4std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
|
||||
if(verboseLevel > 2){
|
||||
G4cout << " In SCM: total outgoing momentum " << G4endl
|
||||
@@ -180,7 +180,7 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
G4cout << " etot_scm " << etot_scm << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> particles =
|
||||
std::vector<G4InuclElementaryParticle> particles =
|
||||
generateSCMpionAbsorption(etot_scm, particle1, particle2);
|
||||
|
||||
if(verboseLevel > 2){
|
||||
@@ -197,19 +197,19 @@ G4CollisionOutput G4ElementaryParticleCollider::collide(G4InuclParticle* bullet
|
||||
for(ipart = particles.begin(); ipart != particles.end(); ipart++) {
|
||||
|
||||
if(verboseLevel > 2){
|
||||
G4std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
std::vector<G4double> mom_scm = ipart->getMomentum();
|
||||
|
||||
for(G4int i = 0; i < 4; i++) totscm[i] += mom_scm[i];
|
||||
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
convertToSCM.backToTheLab(ipart->getMomentum());
|
||||
|
||||
ipart->setMomentum(mom);
|
||||
};
|
||||
|
||||
G4std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
|
||||
if(verboseLevel > 2){
|
||||
G4cout << " In SCM: total outgoing momentum " << G4endl
|
||||
@@ -350,7 +350,7 @@ G4int G4ElementaryParticleCollider::generateMultiplicity(G4int is,
|
||||
};
|
||||
|
||||
const G4double large_cut = 4.0;
|
||||
G4std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(ekin);
|
||||
std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(ekin);
|
||||
G4int ik = iksk.first;
|
||||
G4double sk = iksk.second;
|
||||
G4int l = is;
|
||||
@@ -359,7 +359,7 @@ G4int G4ElementaryParticleCollider::generateMultiplicity(G4int is,
|
||||
if (l == 10) l = 3;
|
||||
if (l == 5 || l == 6) l = 4;
|
||||
|
||||
G4std::vector<G4double> sigm(5);
|
||||
std::vector<G4double> sigm(5);
|
||||
G4double stot = 0.0;
|
||||
|
||||
if (l == 7 || l == 14) { // pi0 P or pi0 N
|
||||
@@ -404,7 +404,7 @@ G4int G4ElementaryParticleCollider::generateMultiplicity(G4int is,
|
||||
return mul + 2;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> G4ElementaryParticleCollider::
|
||||
std::vector<G4InuclElementaryParticle> G4ElementaryParticleCollider::
|
||||
generateSCMfinalState(G4double ekin,
|
||||
G4double etot_scm,
|
||||
G4double pscm,
|
||||
@@ -420,8 +420,8 @@ generateSCMfinalState(G4double ekin,
|
||||
const G4double difr_const = 0.3678794;
|
||||
const G4int itry_max = 10;
|
||||
G4InuclElementaryParticle dummy;
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
G4std::vector<G4int> particle_kinds;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4int> particle_kinds;
|
||||
G4int type1 = particle1->type();
|
||||
G4int type2 = particle2->type();
|
||||
G4int is = type1 * type2;
|
||||
@@ -487,7 +487,7 @@ generateSCMfinalState(G4double ekin,
|
||||
particle_kinds.push_back(type2);
|
||||
};
|
||||
|
||||
G4std::vector<G4double> mom;
|
||||
std::vector<G4double> mom;
|
||||
|
||||
if (kw == 2) { // need to rescale momentum
|
||||
G4double m1 = dummy.getParticleMass(particle_kinds[0]);
|
||||
@@ -514,7 +514,7 @@ generateSCMfinalState(G4double ekin,
|
||||
G4cout << " after rotation px " << mom[1] << " py " << mom[2] <<
|
||||
" pz " << mom[3] << G4endl;
|
||||
}
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) mom1[i] = -mom[i];
|
||||
|
||||
@@ -542,13 +542,13 @@ generateSCMfinalState(G4double ekin,
|
||||
G4cout << " itry in while " << itry << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> modules =
|
||||
std::vector<G4double> modules =
|
||||
generateMomModules(particle_kinds, multiplicity, is, ekin, etot_scm);
|
||||
|
||||
if (G4int(modules.size()) == multiplicity) {
|
||||
|
||||
if (multiplicity == 3) {
|
||||
G4std::vector<G4double> mom3 =
|
||||
std::vector<G4double> mom3 =
|
||||
particleSCMmomentumFor2to3(is, knd_last, ekin, modules[2]);
|
||||
|
||||
mom3 = toSCM->rotate(mom3);
|
||||
@@ -565,11 +565,11 @@ generateSCMfinalState(G4double ekin,
|
||||
G4cout << " ok for mult " << multiplicity << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom1 = generateWithFixedTheta(ct, modules[0]);
|
||||
std::vector<G4double> mom1 = generateWithFixedTheta(ct, modules[0]);
|
||||
|
||||
mom1 = toSCM->rotate(mom3, mom1);
|
||||
|
||||
G4std::vector<G4double> mom2(4);
|
||||
std::vector<G4double> mom2(4);
|
||||
|
||||
for(G4int i = 1; i < 4; i++) mom2[i] = - (mom3[i] + mom1[i]);
|
||||
|
||||
@@ -584,8 +584,8 @@ generateSCMfinalState(G4double ekin,
|
||||
} else { // multiplicity > 3
|
||||
|
||||
// generate first mult - 2 momentums
|
||||
G4std::vector<G4std::vector<G4double> > scm_momentums;
|
||||
G4std::vector<G4double> tot_mom(4);
|
||||
std::vector<std::vector<G4double> > scm_momentums;
|
||||
std::vector<G4double> tot_mom(4);
|
||||
|
||||
for (G4int i = 0; i < multiplicity - 2; i++) {
|
||||
G4double p0 = particle_kinds[i] < 3 ? 0.36 : 0.25;
|
||||
@@ -628,7 +628,7 @@ generateSCMfinalState(G4double ekin,
|
||||
G4double pt = modules[i]*st;
|
||||
G4double phi = randomPHI();
|
||||
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
|
||||
mom[1] = pt * cos(phi);
|
||||
mom[2] = pt * sin(phi);
|
||||
@@ -659,14 +659,14 @@ generateSCMfinalState(G4double ekin,
|
||||
|
||||
tot_mom = toSCM->rotate(tot_mom);
|
||||
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
generateWithFixedTheta(ct, modules[multiplicity - 2]);
|
||||
|
||||
mom = toSCM->rotate(tot_mom, mom);
|
||||
scm_momentums.push_back(mom);
|
||||
|
||||
// and the last one
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
|
||||
for (i = 1; i < 4; i++) mom1[i] = -mom[i] - tot_mom[i];
|
||||
|
||||
@@ -705,9 +705,9 @@ generateSCMfinalState(G4double ekin,
|
||||
return particles;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4ElementaryParticleCollider::
|
||||
std::vector<G4double> G4ElementaryParticleCollider::
|
||||
generateMomModules(
|
||||
const G4std::vector<G4int>& kinds,
|
||||
const std::vector<G4int>& kinds,
|
||||
G4int mult,
|
||||
G4int is,
|
||||
G4double ekin,
|
||||
@@ -727,8 +727,8 @@ generateMomModules(
|
||||
G4InuclElementaryParticle dummy;
|
||||
G4int itry = 0;
|
||||
|
||||
G4std::vector<G4double> modules(mult);
|
||||
G4std::vector<G4double> masses2(mult);
|
||||
std::vector<G4double> modules(mult);
|
||||
std::vector<G4double> masses2(mult);
|
||||
|
||||
for (G4int i = 0; i < mult; i++) {
|
||||
G4double mass = dummy.getParticleMass(kinds[i]);
|
||||
@@ -801,7 +801,7 @@ generateMomModules(
|
||||
}
|
||||
|
||||
G4bool G4ElementaryParticleCollider::satisfyTriangle(
|
||||
const G4std::vector<G4double>& modules) const {
|
||||
const std::vector<G4double>& modules) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4ElementaryParticleCollider::satisfyTriangle" << G4endl;
|
||||
@@ -852,7 +852,7 @@ G4int G4ElementaryParticleCollider::getIL(G4int is,
|
||||
return ifdef[mult - 3][l - 1];
|
||||
}
|
||||
|
||||
G4std::vector<G4int> G4ElementaryParticleCollider::
|
||||
std::vector<G4int> G4ElementaryParticleCollider::
|
||||
generateOutgoingKindsFor2toMany(
|
||||
G4int is,
|
||||
G4int mult,
|
||||
@@ -1085,7 +1085,7 @@ generateOutgoingKindsFor2toMany(
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
|
||||
};
|
||||
|
||||
G4std::vector<G4int> kinds;
|
||||
std::vector<G4int> kinds;
|
||||
|
||||
G4int l = is;
|
||||
|
||||
@@ -1102,7 +1102,7 @@ generateOutgoingKindsFor2toMany(
|
||||
};
|
||||
|
||||
G4int il = getIL(is, mult);
|
||||
G4std::pair<G4int, G4double> iksk = getPositionInEnergyScale1(ekin);
|
||||
std::pair<G4int, G4double> iksk = getPositionInEnergyScale1(ekin);
|
||||
G4int ik = iksk.first;
|
||||
G4double sk = iksk.second;
|
||||
G4int n;
|
||||
@@ -1130,7 +1130,7 @@ generateOutgoingKindsFor2toMany(
|
||||
n = 13;
|
||||
};
|
||||
|
||||
G4std::vector<G4double> sig;
|
||||
std::vector<G4double> sig;
|
||||
G4double stot = 0.0;
|
||||
|
||||
if(l == 7 || l == 14) {
|
||||
@@ -1303,7 +1303,7 @@ G4double G4ElementaryParticleCollider::getMomModuleFor2toMany(
|
||||
return fabs(PRA);
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4ElementaryParticleCollider::
|
||||
std::vector<G4double> G4ElementaryParticleCollider::
|
||||
particleSCMmomentumFor2to3(
|
||||
G4int is,
|
||||
G4int knd,
|
||||
@@ -1367,7 +1367,7 @@ particleSCMmomentumFor2to3(
|
||||
G4double pt = pmod * sqrt(1.0 - ct * ct);
|
||||
G4double phi = randomPHI();
|
||||
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
|
||||
mom[1] = pt * cos(phi);
|
||||
mom[2] = pt * sin(phi);
|
||||
@@ -1490,7 +1490,7 @@ G4bool G4ElementaryParticleCollider::reChargering(G4double ekin,
|
||||
G4bool rech = false;
|
||||
|
||||
if (is == 6 || is == 5 || is == 7 || is == 14) {
|
||||
G4std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(ekin);
|
||||
std::pair<G4int, G4double> iksk = getPositionInEnergyScale2(ekin);
|
||||
G4int ik = iksk.first;
|
||||
G4double sk = iksk.second;
|
||||
G4double chrg;
|
||||
@@ -1509,14 +1509,14 @@ G4bool G4ElementaryParticleCollider::reChargering(G4double ekin,
|
||||
return rech;
|
||||
}
|
||||
|
||||
G4std::pair<G4double, G4double> G4ElementaryParticleCollider::
|
||||
std::pair<G4double, G4double> G4ElementaryParticleCollider::
|
||||
adjustIntervalForElastic(
|
||||
G4double ekin,
|
||||
G4double ak,
|
||||
G4double ae,
|
||||
G4int k,
|
||||
G4int l,
|
||||
const G4std::vector<G4double>& ssv,
|
||||
const std::vector<G4double>& ssv,
|
||||
G4double st) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -1645,10 +1645,10 @@ adjustIntervalForElastic(
|
||||
};
|
||||
};
|
||||
|
||||
return G4std::pair<G4double, G4double>(a, b);
|
||||
return std::pair<G4double, G4double>(a, b);
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4ElementaryParticleCollider::
|
||||
std::vector<G4double> G4ElementaryParticleCollider::
|
||||
particleSCMmomentumFor2to2(
|
||||
G4int is,
|
||||
G4int kw,
|
||||
@@ -1727,7 +1727,7 @@ particleSCMmomentumFor2to2(
|
||||
|
||||
G4int k1 = k - 1;
|
||||
// first set all coefficients
|
||||
G4std::vector<G4double> ssv(4);
|
||||
std::vector<G4double> ssv(4);
|
||||
G4double st = 0.0;
|
||||
|
||||
for(G4int i = 0; i < 4; i++) {
|
||||
@@ -1742,7 +1742,7 @@ particleSCMmomentumFor2to2(
|
||||
G4double b = 0.0;
|
||||
|
||||
if(k <= 3) {
|
||||
G4std::pair<G4double, G4double> ab = adjustIntervalForElastic(ekin, ak, ae, k, is, ssv, st);
|
||||
std::pair<G4double, G4double> ab = adjustIntervalForElastic(ekin, ak, ae, k, is, ssv, st);
|
||||
|
||||
a = ab.first;
|
||||
b = ab.second;
|
||||
@@ -1771,7 +1771,7 @@ particleSCMmomentumFor2to2(
|
||||
|
||||
G4double pt = pscm * sqrt(1.0 - ct * ct);
|
||||
G4double phi = randomPHI();
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
|
||||
mom[1] = pt * cos(phi);
|
||||
mom[2] = pt * sin(phi);
|
||||
@@ -1870,7 +1870,7 @@ G4int G4ElementaryParticleCollider::getElasticCase(G4int is,
|
||||
return k;
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> G4ElementaryParticleCollider::
|
||||
std::vector<G4InuclElementaryParticle> G4ElementaryParticleCollider::
|
||||
generateSCMpionAbsorption(G4double etot_scm,
|
||||
G4InuclElementaryParticle* particle1,
|
||||
G4InuclElementaryParticle* particle2) const {
|
||||
@@ -1883,8 +1883,8 @@ generateSCMpionAbsorption(G4double etot_scm,
|
||||
// the nucleon distribution assumed to be isotropic in SCM
|
||||
|
||||
G4InuclElementaryParticle dummy;
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
G4std::vector<G4int> particle_kinds;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4int> particle_kinds;
|
||||
G4int type1 = particle1->type();
|
||||
G4int type2 = particle2->type();
|
||||
|
||||
@@ -1949,8 +1949,8 @@ generateSCMpionAbsorption(G4double etot_scm,
|
||||
G4double a = 0.5 * (etot_scm * etot_scm - m1 - m2);
|
||||
|
||||
G4double pmod = sqrt((a * a - m1 * m2) / (m1 + m2 + 2.0 * a));
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double pt = pmod * COS_SIN.second;
|
||||
|
||||
@@ -1958,7 +1958,7 @@ generateSCMpionAbsorption(G4double etot_scm,
|
||||
mom[2] = pt * sin(FI);
|
||||
mom[3] = pmod * COS_SIN.first;
|
||||
|
||||
G4std::vector<G4double> mom1 = mom;
|
||||
std::vector<G4double> mom1 = mom;
|
||||
|
||||
for(G4int i = 1; i < 4; i++) mom1[i] *= -1.0;
|
||||
particles.push_back(G4InuclElementaryParticle(mom , particle_kinds[0]));
|
||||
|
||||
@@ -65,12 +65,12 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
const G4double small_ekin = 1.0e-6;
|
||||
const G4int itry_gam_max = 100;
|
||||
|
||||
G4std::vector<G4double> W(8);
|
||||
G4std::vector<G4double> A1(6);
|
||||
G4std::vector<G4double> Z1(6);
|
||||
G4std::vector<G4double> u(6);
|
||||
G4std::vector<G4double> V(6);
|
||||
G4std::vector<G4double> TM(6);
|
||||
std::vector<G4double> W(8);
|
||||
std::vector<G4double> A1(6);
|
||||
std::vector<G4double> Z1(6);
|
||||
std::vector<G4double> u(6);
|
||||
std::vector<G4double> V(6);
|
||||
std::vector<G4double> TM(6);
|
||||
|
||||
G4double coul_coeff;
|
||||
G4CollisionOutput output;
|
||||
@@ -78,7 +78,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
if (G4InuclNuclei* nuclei_target = dynamic_cast<G4InuclNuclei*>(target)) {
|
||||
G4double A = nuclei_target->getA();
|
||||
G4double Z = nuclei_target->getZ();
|
||||
G4std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
G4double EEXS = nuclei_target->getExitationEnergy();
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -88,7 +88,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
G4InuclElementaryParticle dummy(small_ekin, 1);
|
||||
G4LorentzConvertor toTheNucleiSystemRestFrame;
|
||||
toTheNucleiSystemRestFrame.setBullet(dummy.getMomentum(), dummy.getMass());
|
||||
G4std::vector<G4double> ppout(4, 0.0);
|
||||
std::vector<G4double> ppout(4, 0.0);
|
||||
|
||||
if (timeToBigBang(A, Z, EEXS)) {
|
||||
|
||||
@@ -109,7 +109,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
|
||||
G4InuclNuclei dummy_nuc;
|
||||
G4double EEXS_new;
|
||||
G4std::vector<G4double> pin = PEX;
|
||||
std::vector<G4double> pin = PEX;
|
||||
pin[0] += 0.001 * EEXS;
|
||||
G4bool try_again = true;
|
||||
G4bool fission_open = true;
|
||||
@@ -154,9 +154,9 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
G4double E0 = getE0(A);
|
||||
G4double parlev = getPARLEVDEN(A, Z);
|
||||
G4double u1 = parlev * A;
|
||||
G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> > parms = paraMaker(Z);
|
||||
G4std::vector<G4double> AK = parms.first;
|
||||
G4std::vector<G4double> CPA = parms.second;
|
||||
std::pair<std::vector<G4double>, std::vector<G4double> > parms = paraMaker(Z);
|
||||
std::vector<G4double> AK = parms.first;
|
||||
std::vector<G4double> CPA = parms.second;
|
||||
G4double DM0 = bindingEnergy(A, Z);
|
||||
G4int i(0);
|
||||
|
||||
@@ -281,15 +281,15 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
// new photon escape
|
||||
G4InuclElementaryParticle particle(10);
|
||||
G4double pmod = 0.001 * S;
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = pmod * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
mom[2] = P1 * sin(FI);
|
||||
mom[3] = pmod * COS_SIN.first;
|
||||
mom[0] = pmod;
|
||||
G4std::vector<G4double> mom_at_rest(4);
|
||||
std::vector<G4double> mom_at_rest(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) mom_at_rest[i] = -mom[i];
|
||||
mom_at_rest[0] = sqrt(mom_at_rest[1] * mom_at_rest[1] +
|
||||
@@ -297,14 +297,14 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
mom_at_rest[3] * mom_at_rest[3] +
|
||||
nuc_mass * nuc_mass);
|
||||
|
||||
G4std::vector<G4double> part_mom =
|
||||
std::vector<G4double> part_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom);
|
||||
|
||||
part_mom[0] = sqrt(part_mom[1] * part_mom[1] +
|
||||
part_mom[2] * part_mom[2] +
|
||||
part_mom[3] * part_mom[3]);
|
||||
|
||||
G4std::vector<G4double> ex_mom =
|
||||
std::vector<G4double> ex_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom_at_rest);
|
||||
|
||||
ex_mom[0] = sqrt(ex_mom[1] * ex_mom[1] +
|
||||
@@ -377,14 +377,14 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
G4double mass = particle.getMass();
|
||||
// generate particle momentum
|
||||
G4double pmod = sqrt((2.0 * mass + S) * S);
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = pmod * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
mom[2] = P1 * sin(FI);
|
||||
mom[3] = pmod * COS_SIN.first;
|
||||
G4std::vector<G4double> mom_at_rest(4);
|
||||
std::vector<G4double> mom_at_rest(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) mom_at_rest[i] = -mom[i];
|
||||
G4double new_nuc_mass = dummy_nuc.getNucleiMass(A1[icase],
|
||||
@@ -396,13 +396,13 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
mom[0] = sqrt(mom[1] * mom[1] + mom[2] * mom[2] +
|
||||
mom[3] * mom[3] + mass * mass);
|
||||
|
||||
G4std::vector<G4double> part_mom =
|
||||
std::vector<G4double> part_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom);
|
||||
part_mom[0] = sqrt(part_mom[1] * part_mom[1] +
|
||||
part_mom[2] * part_mom[2] +
|
||||
part_mom[3] * part_mom[3] +
|
||||
mass * mass);
|
||||
G4std::vector<G4double> ex_mom =
|
||||
std::vector<G4double> ex_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom_at_rest);
|
||||
ex_mom[0] = sqrt(ex_mom[1] * ex_mom[1] +
|
||||
ex_mom[2] * ex_mom[2] +
|
||||
@@ -428,14 +428,14 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
G4double mass = nuclei.getMass();
|
||||
// generate particle momentum
|
||||
G4double pmod = sqrt((2.0 * mass + S) * S);
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = pmod * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
mom[2] = P1 * sin(FI);
|
||||
mom[3] = pmod * COS_SIN.first;
|
||||
G4std::vector<G4double> mom_at_rest(4);
|
||||
std::vector<G4double> mom_at_rest(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) mom_at_rest[i] = -mom[i];
|
||||
G4double new_nuc_mass = dummy_nuc.getNucleiMass(A1[icase],
|
||||
@@ -448,13 +448,13 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
mom[2] * mom[2] +
|
||||
mom[3] * mom[3] +
|
||||
mass * mass);
|
||||
G4std::vector<G4double> part_mom =
|
||||
std::vector<G4double> part_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom);
|
||||
part_mom[0] = sqrt(part_mom[1] * part_mom[1] +
|
||||
part_mom[2] * part_mom[2] +
|
||||
part_mom[3] * part_mom[3] +
|
||||
mass * mass);
|
||||
G4std::vector<G4double> ex_mom =
|
||||
std::vector<G4double> ex_mom =
|
||||
toTheNucleiSystemRestFrame.backToTheLab(mom_at_rest);
|
||||
ex_mom[0] = sqrt(ex_mom[1] * ex_mom[1] +
|
||||
ex_mom[2] * ex_mom[2] +
|
||||
@@ -492,13 +492,13 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
}
|
||||
|
||||
G4CollisionOutput foutput = theFissioner->collide(0, &nuclei);
|
||||
G4std::vector<G4InuclNuclei> nuclea = foutput.getNucleiFragments();
|
||||
std::vector<G4InuclNuclei> nuclea = foutput.getNucleiFragments();
|
||||
|
||||
if (nuclea.size() == 2) { // fission o'k
|
||||
// convert back to the lab
|
||||
|
||||
for(G4int i = 0; i < 2; i++) {
|
||||
G4std::vector<G4double> mom = nuclea[i].getMomentum();
|
||||
std::vector<G4double> mom = nuclea[i].getMomentum();
|
||||
mom = toTheNucleiSystemRestFrame.backToTheLab(mom);
|
||||
nuclea[i].setMomentum(mom);
|
||||
nuclea[i].setEnergy();
|
||||
@@ -537,7 +537,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
|
||||
}
|
||||
|
||||
G4std::vector<G4double> pnuc(4);
|
||||
std::vector<G4double> pnuc(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) pnuc[i] = pin[i] - ppout[i];
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ G4FissionConfiguration G4FissionStore::generateConfiguration(G4double amax,
|
||||
const G4double small = -30.0;
|
||||
|
||||
G4double totProb = 0.0;
|
||||
G4std::vector<G4double> probs(configurations.size());
|
||||
std::vector<G4double> probs(configurations.size());
|
||||
|
||||
// G4cout << " amax " << amax << " ic " << configurations.size() << G4endl;
|
||||
|
||||
|
||||
@@ -77,8 +77,8 @@ G4CollisionOutput G4Fissioner::collide(G4InuclParticle* bullet,
|
||||
|
||||
TEM += DTEM;
|
||||
|
||||
G4std::vector<G4double> AL1(2, -0.15);
|
||||
G4std::vector<G4double> BET1(2, 0.05);
|
||||
std::vector<G4double> AL1(2, -0.15);
|
||||
std::vector<G4double> BET1(2, 0.05);
|
||||
G4FissionStore fissionStore;
|
||||
G4double R12 = pow(A1, one_third) + pow(A2, one_third);
|
||||
|
||||
@@ -88,7 +88,7 @@ G4CollisionOutput G4Fissioner::collide(G4InuclParticle* bullet,
|
||||
G4double X3 = 1.0 / pow(A1, one_third);
|
||||
G4double X4 = 1.0 / pow(A2, one_third);
|
||||
Z1 = G4int(getZopt(A1, A2, Z, X3, X4, R12)) - 1.0;
|
||||
G4std::vector<G4double> EDEF1(2);
|
||||
std::vector<G4double> EDEF1(2);
|
||||
G4double Z2 = Z - Z1;
|
||||
G4double VPOT, VCOUL;
|
||||
|
||||
@@ -140,11 +140,11 @@ G4CollisionOutput G4Fissioner::collide(G4InuclParticle* bullet,
|
||||
G4double mass2 = nuclei2.getMass();
|
||||
G4double EK = config.ekin;
|
||||
G4double pmod = sqrt(0.001 * EK * mass1 * mass2 / mass_in);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double Fi = randomPHI();
|
||||
G4double P1 = pmod * COS_SIN.second;
|
||||
G4std::vector<G4double> mom1(4);
|
||||
G4std::vector<G4double> mom2(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom2(4);
|
||||
|
||||
mom1[1] = P1 * cos(Fi);
|
||||
mom1[2] = P1 * sin(Fi);
|
||||
@@ -220,14 +220,14 @@ G4double G4Fissioner::getZopt(G4double A1,
|
||||
}
|
||||
|
||||
void G4Fissioner::potentialMinimization(G4double& VP,
|
||||
G4std::vector<G4double> & ED,
|
||||
std::vector<G4double> & ED,
|
||||
G4double& VC,
|
||||
G4double AF,
|
||||
G4double AS,
|
||||
G4double ZF,
|
||||
G4double ZS,
|
||||
G4std::vector<G4double>& AL1,
|
||||
G4std::vector<G4double>& BET1,
|
||||
std::vector<G4double>& AL1,
|
||||
std::vector<G4double>& BET1,
|
||||
G4double& R12) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
#include "G4ParticleLargerEkin.hh"
|
||||
#include "G4NucleiModel.hh"
|
||||
#include "G4CascadParticle.hh"
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4IntraNucleiCascader::G4IntraNucleiCascader()
|
||||
: verboseLevel(1) {
|
||||
@@ -64,7 +64,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
G4InuclNuclei* bnuclei = dynamic_cast<G4InuclNuclei*>(bullet);
|
||||
G4InuclElementaryParticle* bparticle = dynamic_cast<G4InuclElementaryParticle*>(bullet);
|
||||
G4NucleiModel model(tnuclei);
|
||||
G4std::vector<G4double> momentum_in = bullet->getMomentum();
|
||||
std::vector<G4double> momentum_in = bullet->getMomentum();
|
||||
|
||||
momentum_in[0] += tnuclei->getMass();
|
||||
|
||||
@@ -82,9 +82,9 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
itry++;
|
||||
model.reset();
|
||||
|
||||
G4std::vector<G4CascadParticle> cascad_particles;
|
||||
std::vector<G4CascadParticle> cascad_particles;
|
||||
G4ExitonConfiguration theExitonConfiguration;
|
||||
G4std::vector<G4InuclElementaryParticle> output_particles;
|
||||
std::vector<G4InuclElementaryParticle> output_particles;
|
||||
G4double afin = tnuclei->getA();
|
||||
G4double zfin = tnuclei->getZ();
|
||||
|
||||
@@ -104,7 +104,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
afin += ab;
|
||||
zfin += zb;
|
||||
|
||||
G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
all_particles = model.initializeCascad(bnuclei, tnuclei);
|
||||
|
||||
cascad_particles = all_particles.first;
|
||||
@@ -131,7 +131,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
};
|
||||
};
|
||||
|
||||
G4std::vector<G4CascadParticle> new_cascad_particles;
|
||||
std::vector<G4CascadParticle> new_cascad_particles;
|
||||
G4int iloop = 0;
|
||||
|
||||
while (!cascad_particles.empty() && !model.empty()) {
|
||||
@@ -194,7 +194,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
for (G4int i = 0; i < G4int(new_cascad_particles.size()); i++)
|
||||
cascad_particles.push_back(new_cascad_particles[i]);
|
||||
|
||||
G4std::pair<G4int, G4int> holes = model.getTypesOfNucleonsInvolved();
|
||||
std::pair<G4int, G4int> holes = model.getTypesOfNucleonsInvolved();
|
||||
|
||||
theExitonConfiguration.incrementHoles(holes.first);
|
||||
|
||||
@@ -210,12 +210,12 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
<< " output_particles " << output_particles.size() << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> momentum_out(4, 0.0);
|
||||
std::vector<G4double> momentum_out(4, 0.0);
|
||||
particleIterator ipart;
|
||||
|
||||
for (ipart = output_particles.begin(); ipart != output_particles.end(); ipart++) {
|
||||
|
||||
G4std::vector<G4double> mom = ipart->getMomentum();
|
||||
std::vector<G4double> mom = ipart->getMomentum();
|
||||
|
||||
for (G4int j = 0; j < 4; j++) momentum_out[j] += mom[j];
|
||||
|
||||
@@ -253,7 +253,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
}
|
||||
|
||||
if (goodCase(afin, zfin, Eex, ekin_in)) { // ok, exitation energy > cut
|
||||
G4std::sort(output_particles.begin(), output_particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(output_particles.begin(), output_particles.end(), G4ParticleLargerEkin());
|
||||
output.addOutgoingParticles(output_particles);
|
||||
outgoing_nuclei.setMomentum(momentum_out);
|
||||
outgoing_nuclei.setEnergy();
|
||||
@@ -285,7 +285,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
output_particles.push_back(last_particle);
|
||||
};
|
||||
|
||||
G4std::sort(output_particles.begin(), output_particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(output_particles.begin(), output_particles.end(), G4ParticleLargerEkin());
|
||||
output.addOutgoingParticles(output_particles);
|
||||
|
||||
return output;
|
||||
@@ -296,7 +296,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet,
|
||||
|
||||
// special branch to avoid the cascad generation but to get the input for evaporation etc
|
||||
|
||||
G4std::vector<G4double> momentum_out(4, 0.0);
|
||||
std::vector<G4double> momentum_out(4, 0.0);
|
||||
G4InuclNuclei outgoing_nuclei(169, 69);
|
||||
|
||||
outgoing_nuclei.setMomentum(momentum_out);
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
#include "G4InuclElementaryParticle.hh"
|
||||
#include "G4LorentzConvertor.hh"
|
||||
#include "G4ParticleLargerEkin.hh"
|
||||
#include "g4std/algorithm"
|
||||
#include <algorithm>
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef G4std::vector<G4InuclNuclei>::iterator nucleiIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclNuclei>::iterator nucleiIterator;
|
||||
|
||||
G4InuclCollider::G4InuclCollider()
|
||||
: verboseLevel(2) {
|
||||
@@ -122,12 +122,12 @@ G4CollisionOutput G4InuclCollider::collide(G4InuclParticle* bullet,
|
||||
G4cout << " degenerated? " << convertToTargetRestFrame.trivial() << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> bmom(4, 0.0);
|
||||
std::vector<G4double> bmom(4, 0.0);
|
||||
|
||||
bmom[3] = convertToTargetRestFrame.getTRSMomentum();
|
||||
|
||||
G4InuclNuclei ntarget(at, zt);
|
||||
G4std::vector<G4double> tmom(4, 0.0);
|
||||
std::vector<G4double> tmom(4, 0.0);
|
||||
|
||||
ntarget.setMomentum(tmom);
|
||||
ntarget.setEnergy();
|
||||
@@ -208,14 +208,14 @@ G4CollisionOutput G4InuclCollider::collide(G4InuclParticle* bullet,
|
||||
|
||||
// convert to the LAB
|
||||
G4bool withReflection = convertToTargetRestFrame.reflectionNeeded();
|
||||
G4std::vector<G4InuclElementaryParticle> particles =
|
||||
std::vector<G4InuclElementaryParticle> particles =
|
||||
TRFoutput.getOutgoingParticles();
|
||||
|
||||
if(!particles.empty()) {
|
||||
particleIterator ipart;
|
||||
for(ipart = particles.begin(); ipart != particles.end(); ipart++) {
|
||||
|
||||
G4std::vector<G4double> mom = ipart->getMomentum();
|
||||
std::vector<G4double> mom = ipart->getMomentum();
|
||||
|
||||
if(withReflection) mom[3] = -mom[3];
|
||||
mom = convertToTargetRestFrame.rotate(mom);
|
||||
@@ -223,15 +223,15 @@ G4CollisionOutput G4InuclCollider::collide(G4InuclParticle* bullet,
|
||||
mom = convertToTargetRestFrame.backToTheLab(ipart->getMomentum());
|
||||
ipart->setMomentum(mom);
|
||||
};
|
||||
G4std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin());
|
||||
};
|
||||
|
||||
G4std::vector<G4InuclNuclei> nucleus = TRFoutput.getNucleiFragments();
|
||||
std::vector<G4InuclNuclei> nucleus = TRFoutput.getNucleiFragments();
|
||||
|
||||
if(!nucleus.empty()) {
|
||||
nucleiIterator inuc;
|
||||
for(inuc = nucleus.begin(); inuc != nucleus.end(); inuc++) {
|
||||
G4std::vector<G4double> mom = inuc->getMomentum();
|
||||
std::vector<G4double> mom = inuc->getMomentum();
|
||||
if(withReflection) mom[3] = -mom[3];
|
||||
mom = convertToTargetRestFrame.rotate(mom);
|
||||
inuc->setMomentum(mom);
|
||||
|
||||
@@ -134,7 +134,7 @@ G4double G4InuclSpecialFunctions::randomPHI() {
|
||||
return twopi * inuclRndm();
|
||||
}
|
||||
|
||||
G4std::pair<G4double, G4double> G4InuclSpecialFunctions::randomCOS_SIN() {
|
||||
std::pair<G4double, G4double> G4InuclSpecialFunctions::randomCOS_SIN() {
|
||||
G4int verboseLevel = 2;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -143,10 +143,10 @@ G4std::pair<G4double, G4double> G4InuclSpecialFunctions::randomCOS_SIN() {
|
||||
|
||||
G4double CT = 1.0 - 2.0 * inuclRndm();
|
||||
|
||||
return G4std::pair<G4double, G4double>(CT, sqrt(1.0 - CT * CT));
|
||||
return std::pair<G4double, G4double>(CT, sqrt(1.0 - CT * CT));
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4InuclSpecialFunctions::generateWithFixedTheta(G4double ct,
|
||||
std::vector<G4double> G4InuclSpecialFunctions::generateWithFixedTheta(G4double ct,
|
||||
G4double p) {
|
||||
G4int verboseLevel = 2;
|
||||
|
||||
@@ -154,10 +154,10 @@ G4std::vector<G4double> G4InuclSpecialFunctions::generateWithFixedTheta(G4double
|
||||
G4cout << " >>> G4InuclSpecialFunctions::generateWithFixedTheta" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> momr(4);
|
||||
std::vector<G4double> momr(4);
|
||||
G4double phi = randomPHI();
|
||||
G4double pt = p * sqrt(fabs(1.0 - ct * ct));
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
momr[1] = pt * cos(phi);
|
||||
momr[2] = pt * sin(phi);
|
||||
momr[3] = p * ct;
|
||||
|
||||
@@ -97,13 +97,13 @@ void G4LorentzConvertor::toTheCenterOfMass() {
|
||||
gapp = ga * pscm;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4LorentzConvertor::rotate(const G4std::vector<G4double> mom) const {
|
||||
std::vector<G4double> G4LorentzConvertor::rotate(const std::vector<G4double> mom) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4LorentzConvertor::rotate(G4std::vector<G4double>)" << G4endl;
|
||||
G4cout << " >>> G4LorentzConvertor::rotate(std::vector<G4double>)" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom_rot(4);
|
||||
std::vector<G4double> mom_rot(4);
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " ga " << ga << " gbpp " << gbpp << " gapp " << gapp << G4endl;
|
||||
@@ -134,16 +134,16 @@ G4std::vector<G4double> G4LorentzConvertor::rotate(const G4std::vector<G4double>
|
||||
return mom_rot;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4LorentzConvertor::rotate(const G4std::vector<G4double> mom1,
|
||||
const G4std::vector<G4double> mom) const {
|
||||
std::vector<G4double> G4LorentzConvertor::rotate(const std::vector<G4double> mom1,
|
||||
const std::vector<G4double> mom) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4LorentzConvertor::rotate(G4std::vector<G4double>,G4std::vector<G4double>)" << G4endl;
|
||||
G4cout << " >>> G4LorentzConvertor::rotate(std::vector<G4double>,std::vector<G4double>)" << G4endl;
|
||||
}
|
||||
|
||||
const G4double small = 1.0e-10;
|
||||
|
||||
G4std::vector<G4double> mom_rot(4);
|
||||
std::vector<G4double> mom_rot(4);
|
||||
|
||||
G4double pp = 0.0;
|
||||
|
||||
@@ -237,7 +237,7 @@ void G4LorentzConvertor::toTheTargetRestFrame() {
|
||||
gapp = ga * pscm;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> G4LorentzConvertor::backToTheLab(const G4std::vector<G4double>& mom) const {
|
||||
std::vector<G4double> G4LorentzConvertor::backToTheLab(const std::vector<G4double>& mom) const {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4LorentzConvertor::backToTheLab" << G4endl;
|
||||
@@ -251,7 +251,7 @@ G4std::vector<G4double> G4LorentzConvertor::backToTheLab(const G4std::vector<G4d
|
||||
G4cout << " v2 " << v2 << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom1(4);
|
||||
std::vector<G4double> mom1(4);
|
||||
|
||||
if(v2 < small) {
|
||||
mom1 = mom;
|
||||
|
||||
+11
-11
@@ -62,8 +62,8 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
// initialization
|
||||
G4double A = nuclei_target->getA();
|
||||
G4double Z = nuclei_target->getZ();
|
||||
G4std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
G4std::vector<G4double> pin = PEX;
|
||||
std::vector<G4double> PEX = nuclei_target->getMomentum();
|
||||
std::vector<G4double> pin = PEX;
|
||||
G4double EEXS = nuclei_target->getExitationEnergy();
|
||||
pin[0] += 0.001 * EEXS;
|
||||
G4InuclNuclei dummy_nuc;
|
||||
@@ -91,7 +91,7 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
G4double AR = A - QP;
|
||||
G4double ZR = Z - QPP;
|
||||
G4int NEX = G4int(QEX + 0.5);
|
||||
G4std::vector<G4double> ppout(4, 0.0);
|
||||
std::vector<G4double> ppout(4, 0.0);
|
||||
G4bool try_again = NEX > 0 ? true : false;
|
||||
|
||||
while (try_again) {
|
||||
@@ -116,7 +116,7 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
|
||||
if (QEX < sqrt(2.0 * EG)) { // ok
|
||||
|
||||
G4std::pair<G4double, G4double> parms = paraMakerTruncated(Z);
|
||||
std::pair<G4double, G4double> parms = paraMakerTruncated(Z);
|
||||
|
||||
G4double AK1 = parms.first;
|
||||
G4double CPA1 = parms.second;
|
||||
@@ -153,7 +153,7 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
if (F1 > 0.0 && F2 > 0.0) {
|
||||
G4double F = F2 / F1;
|
||||
G4double M1 = 2.77 * MELE * PL;
|
||||
G4std::vector<G4double> D(3, 0.0);
|
||||
std::vector<G4double> D(3, 0.0);
|
||||
D[0] = M1 * F2 * F2 * pow(F, NEX - 1) / (QEX + 1.0);
|
||||
|
||||
if (D[0] > 0.0) {
|
||||
@@ -286,14 +286,14 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
EPART *= 0.001; // to the GeV
|
||||
// generate particle momentum
|
||||
G4double pmod = sqrt(EPART * (2.0 * mass + EPART));
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = pmod * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
mom[2] = P1 * sin(FI);
|
||||
mom[3] = pmod * COS_SIN.first;
|
||||
G4std::vector<G4double> mom_at_rest(4);
|
||||
std::vector<G4double> mom_at_rest(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) mom_at_rest[i] = -mom[i];
|
||||
|
||||
@@ -319,14 +319,14 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
mom[0] = sqrt(mom[1] * mom[1] + mom[2] * mom[2] +
|
||||
mom[3] * mom[3] + mass * mass);
|
||||
|
||||
G4std::vector<G4double> part_mom =
|
||||
std::vector<G4double> part_mom =
|
||||
toTheExitonSystemRestFrame.backToTheLab(mom);
|
||||
|
||||
part_mom[0] = sqrt(part_mom[1] * part_mom[1] +
|
||||
part_mom[2] * part_mom[2] + part_mom[3] * part_mom[3] +
|
||||
mass * mass);
|
||||
|
||||
G4std::vector<G4double> ex_mom =
|
||||
std::vector<G4double> ex_mom =
|
||||
toTheExitonSystemRestFrame.backToTheLab(mom_at_rest);
|
||||
|
||||
ex_mom[0] = sqrt(ex_mom[1] * ex_mom[1] + ex_mom[2] * ex_mom[2]
|
||||
@@ -416,7 +416,7 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* bullet,
|
||||
// the exitation energy has to be re-set properly for the energy
|
||||
// conservation
|
||||
|
||||
G4std::vector<G4double> pnuc(4);
|
||||
std::vector<G4double> pnuc(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) pnuc[i] = pin[i] - ppout[i];
|
||||
G4InuclNuclei nuclei(pnuc, A, Z);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "G4LorentzConvertor.hh"
|
||||
#include "G4CollisionOutput.hh"
|
||||
|
||||
typedef G4std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
typedef std::vector<G4InuclElementaryParticle>::iterator particleIterator;
|
||||
|
||||
G4NucleiModel::G4NucleiModel()
|
||||
: verboseLevel(2) {
|
||||
@@ -82,7 +82,7 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
|
||||
if (a > 3.5) { // a > 3
|
||||
|
||||
G4std::vector<G4double> ur;
|
||||
std::vector<G4double> ur;
|
||||
|
||||
G4int icase = 0;
|
||||
|
||||
@@ -115,9 +115,9 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
|
||||
G4double tot_vol = 0.0;
|
||||
|
||||
G4std::vector<G4double> v;
|
||||
std::vector<G4double> v;
|
||||
|
||||
G4std::vector<G4double> v1;
|
||||
std::vector<G4double> v1;
|
||||
|
||||
G4int i(0);
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
@@ -139,9 +139,9 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
// proton
|
||||
G4double dd0 = 3.0 * z * oneBypiTimes4 / tot_vol;
|
||||
|
||||
G4std::vector<G4double> rod;
|
||||
G4std::vector<G4double> pf;
|
||||
G4std::vector<G4double> vz;
|
||||
std::vector<G4double> rod;
|
||||
std::vector<G4double> pf;
|
||||
std::vector<G4double> vz;
|
||||
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
G4double rd = dd0 * v[i] / v1[i];
|
||||
@@ -173,7 +173,7 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
fermi_momenta.push_back(pf);
|
||||
|
||||
// pion stuff (primitive)
|
||||
G4std::vector<G4double> vp(number_of_zones, pion_vp);
|
||||
std::vector<G4double> vp(number_of_zones, pion_vp);
|
||||
zone_potentials.push_back(vp);
|
||||
|
||||
} else { // a < 4
|
||||
@@ -181,9 +181,9 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
number_of_zones = 1;
|
||||
zone_radii.push_back(radForSmall);
|
||||
G4double vol = 1.0 / piTimes4thirds / pow(zone_radii[0], 3);
|
||||
G4std::vector<G4double> rod;
|
||||
G4std::vector<G4double> pf;
|
||||
G4std::vector<G4double> vz;
|
||||
std::vector<G4double> rod;
|
||||
std::vector<G4double> pf;
|
||||
std::vector<G4double> vz;
|
||||
|
||||
G4int i(0);
|
||||
for (i = 0; i < number_of_zones; i++) {
|
||||
@@ -216,7 +216,7 @@ void G4NucleiModel::generateModel(G4double a,
|
||||
fermi_momenta.push_back(pf);
|
||||
|
||||
// pion (primitive)
|
||||
G4std::vector<G4double> vp(number_of_zones, pion_vp_small);
|
||||
std::vector<G4double> vp(number_of_zones, pion_vp_small);
|
||||
zone_potentials.push_back(vp);
|
||||
};
|
||||
|
||||
@@ -366,9 +366,9 @@ G4InuclElementaryParticle G4NucleiModel::generateNucleon(G4int type,
|
||||
|
||||
G4double pmod = fermi_momenta[type - 1][zone] * pow(inuclRndm(), one_third);
|
||||
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
|
||||
G4double FI = randomPHI();
|
||||
|
||||
@@ -389,9 +389,9 @@ G4InuclElementaryParticle G4NucleiModel::generateQuasiDeutron(G4int type1,
|
||||
G4cout << " >>> G4NucleiModel::generateQuasiDeutron" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom = generateNucleon(type1, zone).getMomentum();
|
||||
G4std::vector<G4double> mom1 = generateNucleon(type2, zone).getMomentum();
|
||||
G4std::vector<G4double> dmom(4);
|
||||
std::vector<G4double> mom = generateNucleon(type1, zone).getMomentum();
|
||||
std::vector<G4double> mom1 = generateNucleon(type2, zone).getMomentum();
|
||||
std::vector<G4double> dmom(4);
|
||||
|
||||
for (G4int i = 1; i < 4; i++) dmom[i] = mom[i] + mom1[i];
|
||||
|
||||
@@ -437,7 +437,7 @@ partners G4NucleiModel::generateInteractionPartners(G4CascadParticle& cparticle)
|
||||
G4int ptype = cparticle.getParticle().type();
|
||||
G4int zone = cparticle.getCurrentZone();
|
||||
G4double pmass = cparticle.getParticle().getMass();
|
||||
G4std::vector<G4double> pmom = cparticle.getParticle().getMomentum();
|
||||
std::vector<G4double> pmom = cparticle.getParticle().getMomentum();
|
||||
G4double r_in;
|
||||
G4double r_out;
|
||||
|
||||
@@ -475,7 +475,7 @@ partners G4NucleiModel::generateInteractionPartners(G4CascadParticle& cparticle)
|
||||
|
||||
} else { // normal case
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
|
||||
G4LorentzConvertor dummy_convertor;
|
||||
|
||||
@@ -526,8 +526,8 @@ partners G4NucleiModel::generateInteractionPartners(G4CascadParticle& cparticle)
|
||||
|
||||
if (cparticle.getParticle().pion()) { // absorption possible
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> qdeutrons;
|
||||
G4std::vector<G4double> acsecs;
|
||||
std::vector<G4InuclElementaryParticle> qdeutrons;
|
||||
std::vector<G4double> acsecs;
|
||||
|
||||
G4double tot_abs_csec = 0.0;
|
||||
G4double abs_sec;
|
||||
@@ -674,14 +674,14 @@ partners G4NucleiModel::generateInteractionPartners(G4CascadParticle& cparticle)
|
||||
return thePartners;
|
||||
}
|
||||
|
||||
G4std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadParticle& cparticle,
|
||||
std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadParticle& cparticle,
|
||||
G4ElementaryParticleCollider* theElementaryParticleCollider) {
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4NucleiModel::generateParticleFate" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4CascadParticle> outgouing_cparticles;
|
||||
std::vector<G4CascadParticle> outgouing_cparticles;
|
||||
|
||||
partners thePartners = generateInteractionPartners(cparticle);
|
||||
|
||||
@@ -706,7 +706,7 @@ G4std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadPart
|
||||
|
||||
} else { // there are possible interactions
|
||||
|
||||
G4std::vector<G4double> old_position = cparticle.getPosition();
|
||||
std::vector<G4double> old_position = cparticle.getPosition();
|
||||
|
||||
G4InuclElementaryParticle bullet = cparticle.getParticle();
|
||||
|
||||
@@ -734,14 +734,14 @@ G4std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadPart
|
||||
output.printCollisionOutput();
|
||||
}
|
||||
|
||||
G4std::vector<G4InuclElementaryParticle> outgoing_particles =
|
||||
std::vector<G4InuclElementaryParticle> outgoing_particles =
|
||||
|
||||
output.getOutgoingParticles();
|
||||
|
||||
if (passFermi(outgoing_particles, zone)) { // interaction
|
||||
cparticle.propagateAlongThePath(thePartners[i].second);
|
||||
|
||||
G4std::vector<G4double> new_position = cparticle.getPosition();
|
||||
std::vector<G4double> new_position = cparticle.getPosition();
|
||||
|
||||
for (G4int ip = 0; ip < G4int(outgoing_particles.size()); ip++)
|
||||
outgouing_cparticles.push_back(G4CascadParticle(outgoing_particles[ip],
|
||||
@@ -810,7 +810,7 @@ G4std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadPart
|
||||
return outgouing_cparticles;
|
||||
}
|
||||
|
||||
G4bool G4NucleiModel::passFermi(const G4std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4bool G4NucleiModel::passFermi(const std::vector<G4InuclElementaryParticle>& particles,
|
||||
G4int zone) {
|
||||
if (verboseLevel > 3) {
|
||||
G4cout << " >>> G4NucleiModel::passFermi" << G4endl;
|
||||
@@ -852,9 +852,9 @@ void G4NucleiModel::boundaryTransition(G4CascadParticle& cparticle) {
|
||||
|
||||
} else {
|
||||
|
||||
G4std::vector<G4double> mom = cparticle.getMomentum();
|
||||
std::vector<G4double> mom = cparticle.getMomentum();
|
||||
|
||||
G4std::vector<G4double> pos = cparticle.getPosition();
|
||||
std::vector<G4double> pos = cparticle.getPosition();
|
||||
|
||||
G4int type = cparticle.getParticle().type();
|
||||
|
||||
@@ -972,7 +972,7 @@ G4CascadParticle G4NucleiModel::initializeCascad(G4InuclElementaryParticle* part
|
||||
|
||||
G4double rz = nuclei_radius * s1;
|
||||
|
||||
G4std::vector<G4double> pos(3);
|
||||
std::vector<G4double> pos(3);
|
||||
|
||||
pos[0] = rz * cos(phi);
|
||||
pos[1] = rz * sin(phi);
|
||||
@@ -987,7 +987,7 @@ G4CascadParticle G4NucleiModel::initializeCascad(G4InuclElementaryParticle* part
|
||||
return cpart;
|
||||
}
|
||||
|
||||
G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4InuclNuclei* target) {
|
||||
|
||||
@@ -1007,8 +1007,8 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
const G4double s4max = 7.0;
|
||||
const G4int itry_max = 100;
|
||||
|
||||
G4std::vector<G4CascadParticle> casparticles;
|
||||
G4std::vector<G4InuclElementaryParticle> particles;
|
||||
std::vector<G4CascadParticle> casparticles;
|
||||
std::vector<G4InuclElementaryParticle> particles;
|
||||
|
||||
// first decide whether it will be cascad or compound final nuclei
|
||||
|
||||
@@ -1033,15 +1033,15 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
if(itryg > 0) particles.resize(0);
|
||||
|
||||
// nucleons coordinates and momenta in nuclei rest frame
|
||||
G4std::vector<G4std::vector<G4double> > coordinates;
|
||||
G4std::vector<G4std::vector<G4double> > momentums;
|
||||
std::vector<std::vector<G4double> > coordinates;
|
||||
std::vector<std::vector<G4double> > momentums;
|
||||
|
||||
if (ab < 3.0) { // deutron, simplest case
|
||||
|
||||
G4double r = 2.214 - 3.4208 * log(1.0 - 0.981 * inuclRndm());
|
||||
G4double s = 2.0 * inuclRndm() - 1.0;
|
||||
G4double r1 = r * sqrt(1.0 - s * s);
|
||||
G4std::vector<G4double> coord1(3);
|
||||
std::vector<G4double> coord1(3);
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = r1 * cos(phi);
|
||||
coord1[1] = r1 * sin(phi);
|
||||
@@ -1077,8 +1077,8 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4cout << " p nuc " << p << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> mom(4);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::vector<G4double> mom(4);
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double FI = randomPHI();
|
||||
G4double P1 = p * COS_SIN.second;
|
||||
mom[1] = P1 * cos(FI);
|
||||
@@ -1093,7 +1093,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
G4int ia = int(ab + 0.5);
|
||||
|
||||
G4std::vector<G4double> coord1(3);
|
||||
std::vector<G4double> coord1(3);
|
||||
|
||||
G4bool badco = true;
|
||||
|
||||
@@ -1123,7 +1123,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if (sqrt(s) * exp(-s) > u && s < s3max) {
|
||||
s = r0forAeq3 * sqrt(s);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
u = s * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = u * cos(phi);
|
||||
@@ -1215,7 +1215,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if (sqrt(s) * exp(-s) * (1.0 + b * s) > u && s < s4max) {
|
||||
s = r0forAeq4 * sqrt(s);
|
||||
G4std::pair<double, double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<double, double> COS_SIN = randomCOS_SIN();
|
||||
u = s * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
coord1[0] = u*cos(phi);
|
||||
@@ -1291,7 +1291,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4cout << " can not generate the nucleons coordinates for a " << ab <<
|
||||
G4endl;
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
|
||||
} else { // momentums
|
||||
@@ -1299,7 +1299,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4double p;
|
||||
G4double u;
|
||||
G4double x;
|
||||
G4std::vector<G4double> mom(4);
|
||||
std::vector<G4double> mom(4);
|
||||
//G4bool badp = True;
|
||||
G4int i(0);
|
||||
|
||||
@@ -1313,7 +1313,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
|
||||
if(x > inuclRndm()) {
|
||||
p = sqrt(0.01953 * u);
|
||||
G4std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
std::pair<G4double, G4double> COS_SIN = randomCOS_SIN();
|
||||
G4double pt = p * COS_SIN.second;
|
||||
G4double phi = randomPHI();
|
||||
mom[1] = pt * cos(phi);
|
||||
@@ -1328,7 +1328,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
if(itry == itry_max) {
|
||||
G4cout << " can not generate proper momentum for a " << ab << G4endl;
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
};
|
||||
|
||||
@@ -1360,7 +1360,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
G4double s1 = sqrt(inuclRndm());
|
||||
G4double phi = randomPHI();
|
||||
G4double rz = (nuclei_radius + rb) * s1;
|
||||
G4std::vector<double> global_pos(3);
|
||||
std::vector<double> global_pos(3);
|
||||
global_pos[0] = rz * cos(phi);
|
||||
global_pos[1] = rz * sin(phi);
|
||||
global_pos[2] = -(nuclei_radius + rb) * sqrt(1.0 - s1 * s1);
|
||||
@@ -1372,7 +1372,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
};
|
||||
|
||||
// all nucleons at rest
|
||||
G4std::vector<G4InuclElementaryParticle> raw_particles;
|
||||
std::vector<G4InuclElementaryParticle> raw_particles;
|
||||
G4int ia = int(ab + 0.5);
|
||||
G4int iz = int(zb + 0.5);
|
||||
|
||||
@@ -1390,7 +1390,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
particleIterator ipart;
|
||||
|
||||
for (ipart = raw_particles.begin(); ipart != raw_particles.end(); ipart++) {
|
||||
G4std::vector<G4double> mom =
|
||||
std::vector<G4double> mom =
|
||||
toTheBulletRestFrame.backToTheLab(ipart->getMomentum());
|
||||
ipart->setMomentum(mom);
|
||||
};
|
||||
@@ -1398,7 +1398,7 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
// fill cascad particles and outgoing particles
|
||||
|
||||
for(G4int ip = 0; ip < G4int(raw_particles.size()); ip++) {
|
||||
G4std::vector<G4double> mom = raw_particles[ip].getMomentum();
|
||||
std::vector<G4double> mom = raw_particles[ip].getMomentum();
|
||||
G4double pmod = sqrt(mom[1] * mom[1] + mom[2] * mom[2] + mom[3] * mom[3]);
|
||||
G4double t0 = -(mom[1] * coordinates[ip][0] + mom[2] * coordinates[ip][1] +
|
||||
mom[3] * coordinates[ip][2]) / pmod;
|
||||
@@ -1477,6 +1477,6 @@ G4NucleiModel::initializeCascad(G4InuclNuclei* bullet,
|
||||
for(ip = 0; ip < G4int(particles.size()); ip++) particles[ip].printParticle();
|
||||
}
|
||||
|
||||
return G4std::pair<G4std::vector<G4CascadParticle>, G4std::vector<G4InuclElementaryParticle> >
|
||||
return std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
|
||||
(casparticles, particles);
|
||||
}
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
|
||||
#include "G4RegionModel.hh"
|
||||
|
||||
const G4double G4RegionModel::radius0 = 1.0E-15;
|
||||
const G4double G4RegionModel::BE = 7;
|
||||
|
||||
G4RegionModel::G4RegionModel(const G4int numberOfLayers, const G4int A, const G4int Z)
|
||||
{
|
||||
//count the radiuses, densities and fermi momenta with A and Z
|
||||
G4double r = radius0*pow(A, 1/3);
|
||||
|
||||
if(numberOfLayers==1){
|
||||
radius.push_back(r);
|
||||
|
||||
G4double rho = A / (4/3*pi*pow(r,3));
|
||||
density.push_back(rho);
|
||||
|
||||
G4double protonMass = G4Proton::Proton()->GetPDGMass();
|
||||
G4double neutronMass = G4Neutron::Neutron()->GetPDGMass();
|
||||
G4double protonDensity = Z / (4/3*pi*pow(r,3));
|
||||
G4double neutronDensity = (A-Z) / (4/3*pi*pow(r,3));
|
||||
|
||||
protonFermiEnergy.push_back(GetFermiEnergy(protonDensity, protonMass));
|
||||
neutronFermiEnergy.push_back(GetFermiEnergy(neutronDensity, neutronMass));
|
||||
|
||||
protonFermiMomentum.push_back(GetFermiMomentum(protonDensity, protonMass));
|
||||
neutronFermiMomentum.push_back(GetFermiMomentum(neutronDensity, neutronMass));
|
||||
|
||||
G4double fermiEP = *protonFermiEnergy.begin();
|
||||
G4double fermiEN = *neutronFermiEnergy.begin();
|
||||
protonPotentialEnergy.push_back(-(fermiEP + BE));
|
||||
neutronPotentialEnergy.push_back(-(fermiEN + BE));
|
||||
}
|
||||
else{
|
||||
if(numberOfLayers==3){
|
||||
radius.push_back(0.1*r);
|
||||
radius.push_back(0.2*r);
|
||||
radius.push_back(0.9*r);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
G4RegionModel::~G4RegionModel(){}
|
||||
|
||||
/*
|
||||
void G4RegionModel::Init(const G4int numberOfLayers, const G4int A, const G4int Z){
|
||||
//count the radiuses, densities and fermi momenta with A and Z
|
||||
G4double r = radius0*pow(A, 1/3);
|
||||
|
||||
if(numberOfLayers==1){
|
||||
radius.push_back(r);
|
||||
|
||||
G4double rho = A / (4/3*pi*pow(r,3));
|
||||
density.push_back(rho);
|
||||
|
||||
G4double protonMass = G4Proton::Proton()->GetPDGMass()/MeV;
|
||||
G4double neutronMass = G4Neutron::Neutron()->GetPDGMass()/MeV ;
|
||||
G4double protonDensity = Z / (4/3*pi*pow(r,3));
|
||||
G4double neutronDensity = (A-Z) / (4/3*pi*pow(r,3));
|
||||
|
||||
protonFermiEnergy.push_back(GetFermiEnergy(protonDensity, protonMass));
|
||||
neutronFermiEnergy.push_back(GetFermiEnergy(neutronDensity, neutronMass));
|
||||
|
||||
protonFermiMomentum.push_back(GetFermiMomentum(protonDensity, protonMass));
|
||||
neutronFermiMomentum.push_back(GetFermiMomentum(neutronDensity, neutronMass));
|
||||
|
||||
G4double fermiEP = *protonFermiEnergy.begin();
|
||||
G4double fermiEN = *neutronFermiEnergy.begin();
|
||||
protonPotentialEnergy.push_back(-(fermiEP + BE));
|
||||
neutronPotentialEnergy.push_back(-(fermiEN + BE));
|
||||
}
|
||||
else{
|
||||
if(numberOfLayers==3){
|
||||
radius.push_back(0.1*r);
|
||||
radius.push_back(0.2*r);
|
||||
radius.push_back(0.9*r);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//--------------------------------------------------------------
|
||||
|
||||
G4double G4RegionModel::GetDensity(G4double r){
|
||||
iterator j=density.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
G4double G4RegionModel::GetPotentialEnergy(G4double r, G4int particle){
|
||||
if(particle == 0){ //proton
|
||||
iterator j=protonPotentialEnergy.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(particle == 1){ //neutron
|
||||
iterator j=neutronPotentialEnergy.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
G4double G4RegionModel::GetMaximumNucleonMomentum(G4double r,
|
||||
G4int nucleon){
|
||||
|
||||
if(nucleon == 0){
|
||||
iterator j=protonFermiMomentum.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
if(nucleon==1){
|
||||
iterator j=neutronFermiMomentum.begin();
|
||||
for(iterator i=radius.begin(); i<radius.end(); i++){
|
||||
if(r <= *i) return *j;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
G4Exception("G4RegionModel::GetMaximumNucleonMomentum - return value undefined");
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
G4double G4RegionModel::GetFermiMomentum(G4double aDensity,
|
||||
G4double aMass){
|
||||
|
||||
return sqrt(2*aMass*GetFermiEnergy(aDensity, aMass));
|
||||
|
||||
|
||||
}
|
||||
|
||||
G4double G4RegionModel::GetFermiEnergy(G4double aDensity,
|
||||
G4double aMass){
|
||||
|
||||
//G4double hbar = 1.0E-6;
|
||||
return (pow(hbar_Planck,2)/(2*aMass)*pow((3*pi2*aDensity),2/3));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -38,9 +38,9 @@ void G4WatcherGun::setWatchers() {
|
||||
G4cout << " >>> G4WatcherGun::setWatchers" << G4endl;
|
||||
}
|
||||
|
||||
G4std::vector<G4double> as;
|
||||
G4std::vector<G4double> cs;
|
||||
G4std::vector<G4double> errs;
|
||||
std::vector<G4double> as;
|
||||
std::vector<G4double> cs;
|
||||
std::vector<G4double> errs;
|
||||
|
||||
// specific stuff to monitor the difference with fortran
|
||||
// particle type
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "G4InuclSpecialFunctions.hh"
|
||||
|
||||
#include "g4std/iostream"
|
||||
#include <iostream>
|
||||
|
||||
G4double G4InuclSpecialFunctions::bindingEnergyExact(G4double A,
|
||||
G4double Z) {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "G4InuclSpecialFunctions.hh"
|
||||
|
||||
G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> > G4InuclSpecialFunctions::paraMaker(G4double Z) {
|
||||
std::pair<std::vector<G4double>, std::vector<G4double> > G4InuclSpecialFunctions::paraMaker(G4double Z) {
|
||||
G4int verboseLevel = 1;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -37,8 +37,8 @@ G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> > G4InuclSpecialFun
|
||||
const G4double CP[5] = {0.50, 0.28, 0.20, 0.15, 0.10};
|
||||
const G4double AA[5] = {0.68, 0.82, 0.91, 0.97, 0.98};
|
||||
const G4double CA[5] = {0.10, 0.10, 0.10, 0.08, 0.06};
|
||||
G4std::vector<G4double> AK(6);
|
||||
G4std::vector<G4double> CPA(6);
|
||||
std::vector<G4double> AK(6);
|
||||
std::vector<G4double> CPA(6);
|
||||
AK[0] = 0.0;
|
||||
CPA[0] = 0.0;
|
||||
G4double AK2 = 0.0;
|
||||
@@ -87,10 +87,10 @@ G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> > G4InuclSpecialFun
|
||||
AK[4] = AK6 - 0.06;
|
||||
CPA[4] = 4.0 * CP6 / 3.0;
|
||||
|
||||
return G4std::pair<G4std::vector<G4double>, G4std::vector<G4double> >(AK, CPA);
|
||||
return std::pair<std::vector<G4double>, std::vector<G4double> >(AK, CPA);
|
||||
}
|
||||
|
||||
G4std::pair<G4double, G4double> G4InuclSpecialFunctions::paraMakerTruncated(G4double Z) {
|
||||
std::pair<G4double, G4double> G4InuclSpecialFunctions::paraMakerTruncated(G4double Z) {
|
||||
G4int verboseLevel = 1;
|
||||
|
||||
if (verboseLevel > 3) {
|
||||
@@ -126,5 +126,5 @@ G4std::pair<G4double, G4double> G4InuclSpecialFunctions::paraMakerTruncated(G4do
|
||||
};
|
||||
};
|
||||
|
||||
return G4std::pair<G4double, G4double>(AK2, CP2);
|
||||
return std::pair<G4double, G4double>(AK2, CP2);
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
all: # :::
|
||||
grep ":::" GNUmakefile
|
||||
|
||||
man: # ::: Make manual.
|
||||
make clean; latex manCascade; bibtex manCascade; latex manCascade; latex manCascade; dvips manCascade.dvi -o manCascade.ps; gv manCascade.ps
|
||||
|
||||
pub: # ::: Make publication.
|
||||
make clean; latex pubCascade; bibtex pubCascade; latex pubCascade; latex pubCascade; dvips pubCascade.dvi -o pubCascade.ps; gv pubCascade.ps
|
||||
|
||||
|
||||
clean: # ::: clean directory
|
||||
rm -f \#*.*\# \#*\# \#* .*~ .#* *.*~ *~ *.o; rm -f core tmp.txt *.blg *.bbl *.toc *.log *.aux *.dvi
|
||||
@@ -1,4 +0,0 @@
|
||||
Main document is manCascade.tex.
|
||||
Create documentation with 'gmake' or
|
||||
full release (ps, html and pdf-versions)
|
||||
with 'gmake release'.
|
||||
@@ -1,226 +0,0 @@
|
||||
%%%%%%%%%% espcrc2.sty %%%%%%%%%%
|
||||
% C(amera) R(eady) C(opy) document-style option. (two-column format).
|
||||
% Version 2.6: 24 November 1994
|
||||
% To be used with LaTeX version 2.09 (14 January 1992 or later), or LaTeX2e.
|
||||
%
|
||||
%
|
||||
% Copyright (C) 1992 by Elsevier Science Publishers. All rights reserved.
|
||||
%
|
||||
% IMPORTANT NOTICE:
|
||||
%
|
||||
% You are not allowed to change this file. You may however copy this file
|
||||
% to a file with a different name and then change the copy.
|
||||
%
|
||||
% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
|
||||
% to take money for the distribution or use of this file (or a changed
|
||||
% version) except for a nominal charge for copying etc.
|
||||
%
|
||||
% You are allowed to distribute this file under the condition that it is
|
||||
% distributed together with espcrc2.tex.
|
||||
%
|
||||
% If you receive only this file from someone, complain!
|
||||
%
|
||||
%
|
||||
%
|
||||
% Usage: \documentstyle[twoside,espcrc2]{article}
|
||||
%
|
||||
\def\fileversion{v2.6}
|
||||
\def\filedate{24 November 1993}
|
||||
|
||||
\typeout{Document-style option `espcrc2' \fileversion \space\space
|
||||
<\filedate>}
|
||||
|
||||
% SIDE MARGINS:
|
||||
\oddsidemargin -4mm % Left margin on odd-numbered pages.
|
||||
\evensidemargin 4mm % Left margin on even-numbered pages.
|
||||
|
||||
% VERTICAL SPACING:
|
||||
\topmargin 16mm % Nominal distance from top of page to top
|
||||
% of box containing running head.
|
||||
\headheight 13mm % No running headline, and no
|
||||
\headsep 21pt % space between running headline and text.
|
||||
\footskip 30pt % Baseline-baseline distance between
|
||||
% running footline and last line of text.
|
||||
|
||||
% DIMENSION OF TEXT:
|
||||
\textheight 202mm % Height of text part of page
|
||||
\textwidth 160mm % Width of text part of page, i.e of line
|
||||
|
||||
\columnsep 10mm % Horizontal space between columns
|
||||
\columnseprule 0pt % No vertical rule between columns
|
||||
|
||||
% PARAGRAPHING
|
||||
\parskip 0pt % No extra vertical space between paragraphs.
|
||||
\parindent 1em % Width of paragraph indentation.
|
||||
|
||||
% SECTIONAL UNITS:
|
||||
\newdimen\@bls % \@b(ase)l(ine)s(kip)
|
||||
\@bls=\baselineskip % \@bls ~= \baselineskip for \normalsize
|
||||
\advance\@bls -1ex % (fudge term)
|
||||
\newdimen\@eps %
|
||||
\@eps=0.0001pt % \eps = very small positive quantity
|
||||
|
||||
\def\section{\@startsection{section}{1}{\z@}
|
||||
{1.5\@bls plus 0.5\@bls}{1\@bls}{\normalsize\bf}}
|
||||
\def\subsection{\@startsection{subsection}{2}{\z@}
|
||||
{1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}}
|
||||
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}
|
||||
{1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}}
|
||||
\def\paragraph{\@startsection{paragraph}{4}{\parindent}
|
||||
{1\@bls plus 0.25\@bls}{0.5em}{\normalsize\bf}}
|
||||
\def\subparagraph{\@startsection{subparagraph}{4}{\parindent}
|
||||
{1\@bls plus 0.25\@bls}{0.5em}{\normalsize\bf}}
|
||||
|
||||
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
|
||||
\def\@svsec{}\else
|
||||
\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip0.5em}\fi
|
||||
\@tempskipa #5\relax
|
||||
\ifdim \@tempskipa>\z@
|
||||
\begingroup
|
||||
#6\relax
|
||||
\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
|
||||
\endgroup
|
||||
\csname #1mark\endcsname{#7}\addcontentsline
|
||||
{toc}{#1}{\ifnum #2>\c@secnumdepth \else
|
||||
\protect\numberline{\csname the#1\endcsname}\fi #7}%
|
||||
\else
|
||||
\def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
|
||||
{#7}\addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else
|
||||
\protect\numberline{\csname the#1\endcsname}\fi #7}}%
|
||||
\fi \@xsect{#5}}
|
||||
|
||||
% FIGURES AND TABLES
|
||||
\long\def\@makefigurecaption#1#2{\vskip 10mm #1. #2\par}
|
||||
|
||||
\long\def\@maketablecaption#1#2{\hbox to \hsize{\parbox[t]{\hsize}
|
||||
{#1 \\ #2}}\vskip 0.3ex}
|
||||
|
||||
\def\fnum@figure{Figure \thefigure}
|
||||
\def\figure{\let\@makecaption\@makefigurecaption \@float{figure}}
|
||||
\@namedef{figure*}{\let\@makecaption\@makefigurecaption \@dblfloat{figure}}
|
||||
|
||||
% \def\fnum@table{Table \thetable}
|
||||
\def\table{\let\@makecaption\@maketablecaption \@float{table}}
|
||||
\@namedef{table*}{\let\@makecaption\@maketablecaption \@dblfloat{table}}
|
||||
|
||||
\floatsep 10mm plus 4pt minus 4pt % Space between adjacent floats moved
|
||||
% to top or bottom of text page.
|
||||
\textfloatsep=\floatsep % Space between main text and floats
|
||||
% at top or bottom of page.
|
||||
\intextsep=\floatsep % Space between in-text figures and
|
||||
% text.
|
||||
|
||||
% FOOTNOTE
|
||||
\long\def\@makefntext#1{\parindent 1em\noindent\hbox{${}^{\@thefnmark}$}#1}
|
||||
|
||||
% EQUATION
|
||||
\mathindent=0em
|
||||
|
||||
% TITLE
|
||||
\def\maketitle{\begingroup % Initialize generation of front-matter
|
||||
% \let\thanks\@gobble
|
||||
\def\thefootnote{\fnsymbol{footnote}}%
|
||||
\newpage \global\@topnum\z@
|
||||
\@maketitle \@thanks
|
||||
\endgroup
|
||||
\let\maketitle\relax \let\@maketitle\relax
|
||||
\gdef\@thanks{}\let\thanks\relax
|
||||
\gdef\@address{}\gdef\@author{}\gdef\@title{}\let\address\relax}
|
||||
|
||||
\def\justify@on{\let\\=\@normalcr
|
||||
\leftskip\z@ \@rightskip\z@ \rightskip\@rightskip}
|
||||
|
||||
\newbox\fm@box % Box to capture front-matter in
|
||||
|
||||
\def\@maketitle{% % Actual formatting of \maketitle
|
||||
\global\setbox\fm@box=\vbox\bgroup
|
||||
\vskip 8mm % 930715: 8mm white space above title
|
||||
\raggedright % Front-matter text is ragged right
|
||||
\hyphenpenalty\@M % and is not hyphenated.
|
||||
{\Large \@title \par} % Title set in larger font.
|
||||
\vskip\@bls % One line of vertical space after title.
|
||||
{\normalsize % each author set in the normal
|
||||
\@author \par} % typeface size
|
||||
\vskip\@bls % One line of vertical space after author(s).
|
||||
\@address % all addresses
|
||||
\egroup
|
||||
\twocolumn[% % Front-matter text is over 2 columns.
|
||||
\unvbox\fm@box % Unwrap contents of front-matter box
|
||||
\vskip\@bls % add 1 line of vertical space,
|
||||
\unvbox\abstract@box % unwrap contents of abstract boxes,
|
||||
\vskip 2pc]} % and add 2pc of vertical space
|
||||
|
||||
\newcounter{address}
|
||||
\def\theaddress{\alph{address}}
|
||||
\def\@makeadmark#1{\hbox{$^{\rm #1}$}}
|
||||
|
||||
\def\address#1{\addressmark\begingroup
|
||||
\xdef\@tempa{\theaddress}\let\\=\relax
|
||||
\def\protect{\noexpand\protect\noexpand}\xdef\@address{\@address
|
||||
\protect\addresstext{\@tempa}{#1}}\endgroup}
|
||||
\def\@address{}
|
||||
|
||||
\def\addressmark{\stepcounter{address}%
|
||||
\xdef\@tempb{\theaddress}\@makeadmark{\@tempb}}
|
||||
|
||||
\def\addresstext#1#2{\leavevmode \begingroup
|
||||
\raggedright \hyphenpenalty\@M \@makeadmark{#1}#2\par \endgroup
|
||||
\vskip\@bls}
|
||||
|
||||
% ABSTRACT:
|
||||
\newbox\abstract@box % Box to capture abstract in
|
||||
|
||||
\def\abstract{%
|
||||
\global\setbox\abstract@box=\vbox\bgroup
|
||||
\small\rm
|
||||
\ignorespaces}
|
||||
\def\endabstract{\par \egroup}
|
||||
|
||||
% BIBLIOGRAPHY
|
||||
\def\thebibliography#1{\section*{REFERENCES}\list{\arabic{enumi}.}
|
||||
{\settowidth\labelwidth{#1.}\leftmargin=1.67em
|
||||
\labelsep\leftmargin \advance\labelsep-\labelwidth
|
||||
\itemsep\z@ \parsep\z@
|
||||
\usecounter{enumi}}\def\makelabel##1{\rlap{##1}\hss}%
|
||||
\def\newblock{\hskip 0.11em plus 0.33em minus -0.07em}
|
||||
\sloppy \clubpenalty=4000 \widowpenalty=4000 \sfcode`\.=1000\relax}
|
||||
|
||||
% Collapse citation numbers to ranges.
|
||||
\newcount\@tempcntc
|
||||
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
|
||||
\@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
|
||||
{\@ifundefined
|
||||
{b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea
|
||||
\def\@citea{,\penalty\@m\ }{\bf ?}\@warning
|
||||
{Citation `\@citeb' on page \thepage \space undefined}}%
|
||||
{\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
|
||||
\ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
|
||||
\@citea\def\@citea{,\penalty\@m}
|
||||
\hbox{\csname b@\@citeb\endcsname}%
|
||||
\else
|
||||
\advance\@tempcntb\@ne
|
||||
\ifnum\@tempcntb=\@tempcntc
|
||||
\else\advance\@tempcntb\m@ne\@citeo
|
||||
\@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
|
||||
|
||||
\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea
|
||||
\def\@citea{,\penalty\@m}%
|
||||
\ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
|
||||
{\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
|
||||
\def\@citea{--}\fi
|
||||
\advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
|
||||
|
||||
% PAGE STYLES
|
||||
\def\ps@crcplain{\let\@mkboth\@gobbletwo
|
||||
\def\@oddhead{\reset@font{\sl\rightmark}\hfil \rm\thepage}%
|
||||
\def\@evenhead{\reset@font\rm \thepage\hfil\sl\leftmark}%
|
||||
\let\@oddfoot\@empty
|
||||
\let\@evenfoot\@oddfoot}
|
||||
|
||||
% INITIALIZATION
|
||||
% \twocolumn % Formatting is in 2 columns, with
|
||||
\sloppy % paragraphs that can be loosely set,
|
||||
\emergencystretch=1pc % (with 1 pc extra for emergencies),
|
||||
\flushbottom % and pages of equal length
|
||||
\ps@crcplain % modified 'plain' page style
|
||||
|
||||
@@ -1,852 +0,0 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%BoundingBox: 39.0 40.0 564.0 765.0
|
||||
%%Creator: miheikki using rose_exe
|
||||
%%CreationDate: Tue Jul 24 18:31:00 2001
|
||||
%%Title: evaporationUml.eps
|
||||
%%EndComments
|
||||
|
||||
%%BeginProlog
|
||||
200 dict begin
|
||||
%%BeginResource: Units and resolution
|
||||
/cm { 300 mul 2.54 div } def
|
||||
/PageHeight 26.9 cm def
|
||||
/PageWidth 20.6 cm def
|
||||
/LineSpace 0.05 cm def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: PenBrush
|
||||
/TmpPenArray 5 array def
|
||||
/PenArray 5 array def
|
||||
/lpStyle 0 def
|
||||
/lpWidth 1 def
|
||||
/lpRed 2 def
|
||||
/lpGreen 3 def
|
||||
/lpBlue 4 def
|
||||
/BrushArray 6 array def
|
||||
/lbStyle 0 def
|
||||
/lbRed 1 def
|
||||
/lbGreen 2 def
|
||||
/lbBlue 3 def
|
||||
/lbHatchStyle 4 def
|
||||
/lpPattern 5 def
|
||||
/BkColorArray 5 array def
|
||||
/bkRed 0 def
|
||||
/bkGreen 1 def
|
||||
/bkBlue 2 def
|
||||
/TextColorArray 3 array def
|
||||
/TextRed 0 def
|
||||
/TextGreen 1 def
|
||||
/TextBlue 2 def
|
||||
/PenDashArray [ [] [0.2 cm 0.1 cm] [0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm] [] [] ] def
|
||||
|
||||
/HatchStyleArray [ {HS_HORIZ} {HS_VERT} {HS_BDIAG} {HS_FDIAG} {HS_CROSS} {HS_DIAGCROSS} ] def
|
||||
|
||||
/UpdatePen
|
||||
{/PenArray exch def /PenWidthMemo PenArray lpWidth get def } def
|
||||
/UpdateBrush
|
||||
{/BrushArray exch def} def
|
||||
|
||||
/UpdateBkColor
|
||||
{/BkColorArray exch def} def
|
||||
|
||||
/UpdateBkMode
|
||||
{/BkMode exch def} def
|
||||
|
||||
/UpdateTextColor
|
||||
{/TextColorArray exch def} def
|
||||
|
||||
/HS_HORIZ
|
||||
{0 LineSpace PageHeight { /i exch def 0 i MyMatrix itransform moveto PageWidth i MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_VERT
|
||||
{0 LineSpace PageWidth { /i exch def i 0 MyMatrix itransform moveto i PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_CROSS
|
||||
{ HS_HORIZ HS_VERT } def
|
||||
|
||||
/HS_FDIAG
|
||||
{0 PageHeight sub LineSpace 3.5 mul PageWidth
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight add PageHeight
|
||||
MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_BDIAG
|
||||
{0 LineSpace 3.5 mul PageWidth PageHeight add
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight sub
|
||||
PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_DIAGCROSS
|
||||
{ HS_FDIAG HS_BDIAG } def
|
||||
|
||||
/StrokeWithPen
|
||||
{/join exch def /Penwidth PenArray lpWidth get def
|
||||
Penwidth setlinewidth
|
||||
Penwidth 1 le
|
||||
{ 0 setlinecap }
|
||||
{ Penwidth 5 gt { 1 setlinecap } { 2 setlinecap } ifelse } ifelse
|
||||
join { Penwidth 5 le {0 setlinejoin 3 setmiterlimit}
|
||||
{ Penwidth 8 gt { 1 setlinejoin } { 2 setlinejoin } ifelse } ifelse } if
|
||||
join LineJoin -1 ne and {SetLineJoin setlinejoin} if
|
||||
join MiterLimit -1 ne and {MiterLimit miterlimit} if
|
||||
PenArray lpRed get 255 div PenArray lpGreen get 255 div PenArray lpBlue get 255 div setrgbcolor
|
||||
/PenStyle PenArray lpStyle get def
|
||||
PenStyle 5 lt { PenDashArray PenStyle get 0 setdash stroke }
|
||||
{ PenStyle 6 eq { [] 0 setdash stroke } {newpath} ifelse } ifelse
|
||||
join {0 setlinejoin 10 setmiterlimit} if } def
|
||||
|
||||
/FillWithBkColor
|
||||
{ gsave BkColorArray bkRed get 255 div
|
||||
BkColorArray bkGreen get 255 div BkColorArray bkBlue get
|
||||
255 div setrgbcolor fill grestore } def
|
||||
|
||||
/FillWithBrush
|
||||
{/BrushStyle BrushArray lbStyle get def
|
||||
BrushStyle 2 eq dup BrushStyle 0 eq or
|
||||
{ BrushArray lbRed get 255 div BrushArray lbGreen get 255 div BrushArray lbBlue get 255 div setrgbcolor
|
||||
{ gsave BkMode 2 eq {FillWithBkColor} if clip
|
||||
PenArray lpWidth get PenWidthMemo dup 0 ne {div} {pop} ifelse setlinewidth
|
||||
HatchStyleArray BrushArray lbHatchStyle get get exec
|
||||
grestore }
|
||||
{ fill } ifelse }
|
||||
{BrushStyle 3 eq {BrushArray 5 get p SHR
|
||||
gsave clip /Tmp save def pfill Tmp restore grestore} {pop}ifelse
|
||||
} ifelse } def
|
||||
|
||||
/Fill&Stroke
|
||||
{ gsave FillWithBrush grestore StrokeWithPen } def
|
||||
/patfont 10 dict def patfont begin
|
||||
/FontType 3 def
|
||||
/FontMatrix [1 0 0 -1 0 0] def
|
||||
/FontBBox [0 0 16 16]
|
||||
def/Encoding StandardEncoding def
|
||||
/BuildChar{pop pop 16 0 0 0 16 16
|
||||
setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bind def
|
||||
end
|
||||
/p{/pat 32 string def
|
||||
{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
|
||||
2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
|
||||
put 2 mul 17 add pat exch 2 index put pop}for}bind def
|
||||
|
||||
/AU{1 add cvi 15 or}bind def
|
||||
/AD{1 sub cvi -16 and}bind def
|
||||
/SHR{pathbbox
|
||||
AU/Y1 exch def AU/X1 exch def AD/Y0 exch def AD/X0 exch def}bind def
|
||||
|
||||
/M /moveto load def
|
||||
|
||||
/pfill{/PatFont patfont
|
||||
definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
|
||||
show}for pop}for}bind def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: LineTo
|
||||
/LineTo
|
||||
{ /y exch def /x exch def
|
||||
moveto x y lineto currentpoint false StrokeWithPen } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RectanglePath
|
||||
/RectanglePath
|
||||
{
|
||||
3 index 3 index moveto 3 index 1 index lineto
|
||||
1 index 1 index lineto 1 index 3 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
/RectanglePathBackwards
|
||||
{
|
||||
3 index 3 index moveto 1 index 3 index lineto
|
||||
1 index 1 index lineto 3 index 1 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: EllipticPath
|
||||
/EllipticPath
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 360 0 arcn closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
/EllipticPathBackwards
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 0 360 arc closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Rectangle
|
||||
/RectangleOutLine
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
false StrokeWithPen } def
|
||||
|
||||
/FillRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
/FrameRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
/x1 x1 0.5 sub def /x2 x2 0.5 add def /y2 y2 0.5 sub def /y1 y1 0.5 add def newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto x1 y1 lineto
|
||||
/x1 x1 1 add def /x2 x2 1 sub def /y2 y2 1 add def /y1 y1 1 sub def
|
||||
x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polygon
|
||||
/Polygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
true Fill&Stroke } def
|
||||
|
||||
/FillPolygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
FillWithBrush } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polyline
|
||||
/PolylineArray [ {DrawPolyline} {Bezier} ] def
|
||||
/Polyline
|
||||
{PolylineArray PolylineMode 1 sub get exec pop pop currentpoint true StrokeWithPen } def
|
||||
/Bezier
|
||||
{/nbPoint exch def /nbCurves nbPoint 1 sub 3 idiv def /nbLeft nbPoint 1 sub nbCurves 3 mul sub def
|
||||
moveto 1 1 nbCurves { pop 4 2 roll 6 -2 roll curveto } for
|
||||
nbLeft 1 eq { lineto } {nbLeft 2 eq { 4 2 roll 2 copy curveto } if } ifelse
|
||||
} def
|
||||
/DrawPolyline
|
||||
{/nbPoint exch def moveto
|
||||
1 1 nbPoint 1 sub { pop lineto } for
|
||||
} def
|
||||
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Ellipse
|
||||
/Ellipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false Fill&Stroke
|
||||
grestore } def
|
||||
|
||||
/FillEllipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
FillWithBrush
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Arc
|
||||
/Arc
|
||||
{ gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy
|
||||
scale 1 -1 scale
|
||||
newpath
|
||||
ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false StrokeWithPen
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Pie
|
||||
/Pie
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 moveto ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Chord
|
||||
/Chord
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RoundRectangle
|
||||
/min {1 index 1 index le { pop} {exch pop} ifelse } def
|
||||
/RoundRectangle
|
||||
{/r2 exch def /r1 exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
y2 2 div r2 min cvi /r2 exch def
|
||||
x2 2 div r1 min cvi /r1 exch def
|
||||
/width x2 r1 idiv def /height y2 r2 idiv def
|
||||
gsave
|
||||
x1 y1 translate r1 r2 scale
|
||||
1 -1 scale
|
||||
/MyMatrix r1 r2 matrix scale x1 y1 matrix translate matrix concatmatrix def
|
||||
newpath
|
||||
1 1 1 180 270 arc
|
||||
width 1 sub 0 lineto width 1 sub 1 1 270 0 arc
|
||||
width height 1 sub lineto width 1 sub height 1 sub 1 0 90 arc
|
||||
1 height lineto 1 height 1 sub 1 90 180 arc
|
||||
closepath
|
||||
PenArray TmpPenArray copy pop
|
||||
PenArray lpWidth PenArray lpWidth get r1 abs r2 abs add 2 div div put
|
||||
false Fill&Stroke
|
||||
TmpPenArray PenArray copy pop
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: TextOut
|
||||
/TextOut
|
||||
{TextColorArray 0 get 255 div TextColorArray 1 get 255 div TextColorArray 2 get 255 div setrgbcolor
|
||||
gsave translate rotate
|
||||
0 0 moveto /expwidth exch def dup stringwidth pop expwidth exch div -1 scale show pop pop currentpoint grestore} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: MwSetFont
|
||||
/EncodingDict 256 dict def
|
||||
EncodingDict begin
|
||||
0 [/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/space /exclam /quotedbl /numbersign
|
||||
/dollar /percent /ampersand /quotesingle
|
||||
/parenleft /parenright /asterisk /plus
|
||||
/comma /hyphen /period /slash /zero /one
|
||||
/two /three /four /five /six /seven
|
||||
/eight /nine /colon /semicolon /less
|
||||
/equal /greater /question /at /A /B /C
|
||||
/D /E /F /G /H /I /J /K /L /M /N /O /P
|
||||
/Q /R /S /T /U /V /W /X /Y /Z
|
||||
/bracketleft /backslash /bracketright
|
||||
/asciicircum /underscore /grave /a
|
||||
/b /c /d /e /f /g /h /i /j /k /l /m /n
|
||||
/o /p /q /r /s /t /u /v /w /x /y /z
|
||||
/braceleft /bar /braceright /asciitilde
|
||||
/.notdef /.notdef /.notdef /quotesinglbase
|
||||
/florin /quotedblbase /ellipsis /dagger
|
||||
/daggerdbl /circumflex /perthousand /Scaron
|
||||
/guilsinglleft /OE /.notdef /.notdef
|
||||
/.notdef /.notdef /quoteleft /quoteright
|
||||
/quotedblleft /quotedblright /bullet /endash
|
||||
/emdash /tilde /trademark /scaron
|
||||
/guilsinglright /oe /.notdef /.notdef
|
||||
/Ydieresis /.notdef /exclamdown /cent
|
||||
/sterling /currency /yen /brokenbar
|
||||
/section /dieresis /copyright
|
||||
/ordfeminine /guillemotleft /logicalnot
|
||||
/hyphen /registered /macron /degree
|
||||
/plusminus /twosuperior /threesuperior
|
||||
/acute /mu /paragraph /periodcentered
|
||||
/cedilla /onesuperior /ordmasculine
|
||||
/guillemotright /onequarter /onehalf
|
||||
/threequarters /questiondown /Agrave
|
||||
/Aacute /Acircumflex /Atilde /Adieresis
|
||||
/Aring /AE /Ccedilla /Egrave /Eacute
|
||||
/Ecircumflex /Edieresis /Igrave /Iacute
|
||||
/Icircumflex /Idieresis /Eth /Ntilde
|
||||
/Ograve /Oacute /Ocircumflex /Otilde
|
||||
/Odieresis /multiply /Oslash /Ugrave
|
||||
/Uacute /Ucircumflex /Udieresis /Yacute
|
||||
/Thorn /germandbls /agrave /aacute
|
||||
/acircumflex /atilde /adieresis /aring
|
||||
/ae /ccedilla /egrave /eacute
|
||||
/ecircumflex /edieresis /igrave /iacute
|
||||
/icircumflex /idieresis /eth /ntilde
|
||||
/ograve /oacute /ocircumflex /otilde
|
||||
/odieresis /divide /oslash /ugrave
|
||||
/uacute /ucircumflex /udieresis /yacute
|
||||
/thorn /ydieresis] def
|
||||
end
|
||||
/fntdict 100 dict def
|
||||
|
||||
/MwScaleAndSetFont
|
||||
{
|
||||
2 index findfont dup length dict begin
|
||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||
dup EncodingDict exch known
|
||||
{EncodingDict exch get /Encoding exch def} {pop} ifelse
|
||||
currentdict end /font0 exch definefont
|
||||
exch scalefont setfont pop
|
||||
} def
|
||||
|
||||
/MwSetFont
|
||||
{
|
||||
% look in cache of scaled fonts
|
||||
1 index /askedsize exch def
|
||||
2 index /askedname exch def
|
||||
fntdict askedname known
|
||||
{ % font name found in cache - what about the size
|
||||
/fntszdict fntdict askedname get def
|
||||
fntszdict askedsize known
|
||||
{
|
||||
% font size found in cache
|
||||
fntszdict askedsize get setfont pop pop pop
|
||||
}
|
||||
{
|
||||
MwScaleAndSetFont
|
||||
fntszdict askedsize currentfont put
|
||||
}
|
||||
ifelse
|
||||
}
|
||||
{ % not found in cache
|
||||
MwScaleAndSetFont
|
||||
/fntszdict 200 dict def
|
||||
fntszdict askedsize currentfont put
|
||||
fntdict askedname fntszdict put
|
||||
}
|
||||
ifelse
|
||||
} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: DisplayBB
|
||||
/DisplayBB {gsave initgraphics 72 300 div 72 300 div scale 0 3300 translate
|
||||
1 -1 scale 1 setlinewidth 1 0 0 setrgbcolor
|
||||
/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
stroke grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%EndProlog
|
||||
|
||||
%%BeginSetup
|
||||
[{
|
||||
%%BeginFeature: *InputSlot AUTO
|
||||
6 statusdict /setpapertray get exec
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
[{
|
||||
%%BeginFeature: *PageRegion LETTER
|
||||
LETTER
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
%%EndSetup
|
||||
|
||||
%%Page:
|
||||
%%BeginPageSetup
|
||||
/ClockWise false def /LineJoin -1 def /MiterLimit -1 def /PolylineMode 1 def /LineCap 0 def
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0] UpdateTextColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
0 0
|
||||
|
||||
% All the numbers (for positions, length or font size) given
|
||||
% in this file are expressed in pixels, but interpreted by
|
||||
% Postscript as points (1/72 inch)!
|
||||
% -->so scale accordingly!
|
||||
72 300 div 72 300 div scale
|
||||
|
||||
% So that (0, 0) is at top-left corner of paper sheet (takes postscript scaling into account too)
|
||||
0 3300 translate
|
||||
1 -1 scale
|
||||
|
||||
/Courier 38 0 MwSetFont
|
||||
gstate /Mwgstate exch def
|
||||
%%EndPageSetup:
|
||||
Mwgstate setgstate newpath
|
||||
16 16 2416 3054 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
904 556 1527 723 FillRectangle
|
||||
904 556 1527 723 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4EquilibriumEvaporator) 602 -0.00 915 602 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
904 616 1527 723 FillRectangle
|
||||
904 616 1527 723 RectangleOutLine
|
||||
904 639 1527 723 FillRectangle
|
||||
904 639 1527 723 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
889 114 1414 269 FillRectangle
|
||||
889 114 1414 269 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4VExitationHandler) 497 -0.00 903 160 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
889 222 1414 269 FillRectangle
|
||||
889 222 1414 269 RectangleOutLine
|
||||
889 245 1414 269 FillRectangle
|
||||
889 245 1414 269 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(\(from Geant4\)) 340 -0.00 982 211 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
pop pop 1203 555
|
||||
1163 270 LineTo
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
1149 332 1193 326 1163 270 3 Polygon
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
268 999 974 999 974 791 938 755 268 755 5 Polygon
|
||||
pop pop 268 755
|
||||
938 755 LineTo
|
||||
974 791 LineTo
|
||||
974 999 LineTo
|
||||
268 999 LineTo
|
||||
268 755 LineTo
|
||||
pop pop 938 755
|
||||
938 791 LineTo
|
||||
974 791 LineTo
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(evaporation and gamma ) 576 -0.00 280 796 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
(de-exitation should be ) 602 -0.00 280 842 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
(separated, but can locate ) 680 -0.00 280 888 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
(in same folder.) 392 -0.00 280 934 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1566 130 2017 285 FillRectangle
|
||||
1566 130 2017 285 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4FragmentVector) 419 -0.00 1582 176 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1566 238 2017 285 FillRectangle
|
||||
1566 238 2017 285 RectangleOutLine
|
||||
1566 261 2017 285 FillRectangle
|
||||
1566 261 2017 285 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(\(from Geant4\)) 340 -0.00 1622 227 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1894 322 2201 477 FillRectangle
|
||||
1894 322 2201 477 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4Fragment) 262 -0.00 1917 368 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1894 430 2201 477 FillRectangle
|
||||
1894 430 2201 477 RectangleOutLine
|
||||
1894 453 2201 477 FillRectangle
|
||||
1894 453 2201 477 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(\(from Geant4\)) 340 -0.00 1902 419 TextOut
|
||||
(\)) 26 -0.00 2143 419 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1591 623 1960 784 FillRectangle
|
||||
1591 623 1960 784 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4Fissioner) 288 -0.00 1632 669 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1591 731 1960 784 FillRectangle
|
||||
1591 731 1960 784 RectangleOutLine
|
||||
1591 754 1960 784 FillRectangle
|
||||
1591 754 1960 784 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(\(from cascade\)) 366 -0.00 1599 720 TextOut
|
||||
(\)) 26 -0.00 1902 720 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1657 1077 2145 1077 2145 969 2109 933 1657 933 5 Polygon
|
||||
pop pop 1657 933
|
||||
2109 933 LineTo
|
||||
2145 969 LineTo
|
||||
2145 1077 LineTo
|
||||
1657 1077 LineTo
|
||||
1657 933 LineTo
|
||||
pop pop 2109 933
|
||||
2109 969 LineTo
|
||||
2145 969 LineTo
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(here or in ) 288 -0.00 1669 974 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
(pre-equilibrium) 392 -0.00 1669 1020 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[1 0 128 128 128] UpdatePen
|
||||
pop pop 1872 932
|
||||
1810 785 LineTo
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop 166 3054
|
||||
766 3054 LineTo
|
||||
/Courier 35 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 35 0 MwSetFont
|
||||
(File: /afs/cern.ch/user/m/miheikki/public/html/inucl/doc/inucl.mdl Tue Jul 24 18:31:00 2001 Class ) 2188 -0.00 166 3089 TextOut
|
||||
(Diagram: evaporation / Main Page 1) 736 -0.00 166 3126 TextOut
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop % pop out coordinates for current pen position
|
||||
showpage
|
||||
end
|
||||
% end of the MainWin EPS file
|
||||
@@ -1,670 +0,0 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%BoundingBox: 13.0 40.0 575.0 776.0
|
||||
%%Creator: miheikki using rose_exe
|
||||
%%CreationDate: Fri Jun 8 10:08:56 2001
|
||||
%%Title: hetc.eps
|
||||
%%EndComments
|
||||
|
||||
%%BeginProlog
|
||||
200 dict begin
|
||||
%%BeginResource: Units and resolution
|
||||
/cm { 300 mul 2.54 div } def
|
||||
/PageHeight 26.9 cm def
|
||||
/PageWidth 20.6 cm def
|
||||
/LineSpace 0.05 cm def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: PenBrush
|
||||
/TmpPenArray 5 array def
|
||||
/PenArray 5 array def
|
||||
/lpStyle 0 def
|
||||
/lpWidth 1 def
|
||||
/lpRed 2 def
|
||||
/lpGreen 3 def
|
||||
/lpBlue 4 def
|
||||
/BrushArray 6 array def
|
||||
/lbStyle 0 def
|
||||
/lbRed 1 def
|
||||
/lbGreen 2 def
|
||||
/lbBlue 3 def
|
||||
/lbHatchStyle 4 def
|
||||
/lpPattern 5 def
|
||||
/BkColorArray 5 array def
|
||||
/bkRed 0 def
|
||||
/bkGreen 1 def
|
||||
/bkBlue 2 def
|
||||
/TextColorArray 3 array def
|
||||
/TextRed 0 def
|
||||
/TextGreen 1 def
|
||||
/TextBlue 2 def
|
||||
/PenDashArray [ [] [0.2 cm 0.1 cm] [0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm] [] [] ] def
|
||||
|
||||
/HatchStyleArray [ {HS_HORIZ} {HS_VERT} {HS_BDIAG} {HS_FDIAG} {HS_CROSS} {HS_DIAGCROSS} ] def
|
||||
|
||||
/UpdatePen
|
||||
{/PenArray exch def /PenWidthMemo PenArray lpWidth get def } def
|
||||
/UpdateBrush
|
||||
{/BrushArray exch def} def
|
||||
|
||||
/UpdateBkColor
|
||||
{/BkColorArray exch def} def
|
||||
|
||||
/UpdateBkMode
|
||||
{/BkMode exch def} def
|
||||
|
||||
/UpdateTextColor
|
||||
{/TextColorArray exch def} def
|
||||
|
||||
/HS_HORIZ
|
||||
{0 LineSpace PageHeight { /i exch def 0 i MyMatrix itransform moveto PageWidth i MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_VERT
|
||||
{0 LineSpace PageWidth { /i exch def i 0 MyMatrix itransform moveto i PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_CROSS
|
||||
{ HS_HORIZ HS_VERT } def
|
||||
|
||||
/HS_FDIAG
|
||||
{0 PageHeight sub LineSpace 3.5 mul PageWidth
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight add PageHeight
|
||||
MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_BDIAG
|
||||
{0 LineSpace 3.5 mul PageWidth PageHeight add
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight sub
|
||||
PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_DIAGCROSS
|
||||
{ HS_FDIAG HS_BDIAG } def
|
||||
|
||||
/StrokeWithPen
|
||||
{/join exch def /Penwidth PenArray lpWidth get def
|
||||
Penwidth setlinewidth
|
||||
Penwidth 1 le
|
||||
{ 0 setlinecap }
|
||||
{ Penwidth 5 gt { 1 setlinecap } { 2 setlinecap } ifelse } ifelse
|
||||
join { Penwidth 5 le {0 setlinejoin 3 setmiterlimit}
|
||||
{ Penwidth 8 gt { 1 setlinejoin } { 2 setlinejoin } ifelse } ifelse } if
|
||||
join LineJoin -1 ne and {SetLineJoin setlinejoin} if
|
||||
join MiterLimit -1 ne and {MiterLimit miterlimit} if
|
||||
PenArray lpRed get 255 div PenArray lpGreen get 255 div PenArray lpBlue get 255 div setrgbcolor
|
||||
/PenStyle PenArray lpStyle get def
|
||||
PenStyle 5 lt { PenDashArray PenStyle get 0 setdash stroke }
|
||||
{ PenStyle 6 eq { [] 0 setdash stroke } {newpath} ifelse } ifelse
|
||||
join {0 setlinejoin 10 setmiterlimit} if } def
|
||||
|
||||
/FillWithBkColor
|
||||
{ gsave BkColorArray bkRed get 255 div
|
||||
BkColorArray bkGreen get 255 div BkColorArray bkBlue get
|
||||
255 div setrgbcolor fill grestore } def
|
||||
|
||||
/FillWithBrush
|
||||
{/BrushStyle BrushArray lbStyle get def
|
||||
BrushStyle 2 eq dup BrushStyle 0 eq or
|
||||
{ BrushArray lbRed get 255 div BrushArray lbGreen get 255 div BrushArray lbBlue get 255 div setrgbcolor
|
||||
{ gsave BkMode 2 eq {FillWithBkColor} if clip
|
||||
PenArray lpWidth get PenWidthMemo dup 0 ne {div} {pop} ifelse setlinewidth
|
||||
HatchStyleArray BrushArray lbHatchStyle get get exec
|
||||
grestore }
|
||||
{ fill } ifelse }
|
||||
{BrushStyle 3 eq {BrushArray 5 get p SHR
|
||||
gsave clip /Tmp save def pfill Tmp restore grestore} {pop}ifelse
|
||||
} ifelse } def
|
||||
|
||||
/Fill&Stroke
|
||||
{ gsave FillWithBrush grestore StrokeWithPen } def
|
||||
/patfont 10 dict def patfont begin
|
||||
/FontType 3 def
|
||||
/FontMatrix [1 0 0 -1 0 0] def
|
||||
/FontBBox [0 0 16 16]
|
||||
def/Encoding StandardEncoding def
|
||||
/BuildChar{pop pop 16 0 0 0 16 16
|
||||
setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bind def
|
||||
end
|
||||
/p{/pat 32 string def
|
||||
{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
|
||||
2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
|
||||
put 2 mul 17 add pat exch 2 index put pop}for}bind def
|
||||
|
||||
/AU{1 add cvi 15 or}bind def
|
||||
/AD{1 sub cvi -16 and}bind def
|
||||
/SHR{pathbbox
|
||||
AU/Y1 exch def AU/X1 exch def AD/Y0 exch def AD/X0 exch def}bind def
|
||||
|
||||
/M /moveto load def
|
||||
|
||||
/pfill{/PatFont patfont
|
||||
definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
|
||||
show}for pop}for}bind def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: LineTo
|
||||
/LineTo
|
||||
{ /y exch def /x exch def
|
||||
moveto x y lineto currentpoint false StrokeWithPen } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RectanglePath
|
||||
/RectanglePath
|
||||
{
|
||||
3 index 3 index moveto 3 index 1 index lineto
|
||||
1 index 1 index lineto 1 index 3 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
/RectanglePathBackwards
|
||||
{
|
||||
3 index 3 index moveto 1 index 3 index lineto
|
||||
1 index 1 index lineto 3 index 1 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: EllipticPath
|
||||
/EllipticPath
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 360 0 arcn closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
/EllipticPathBackwards
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 0 360 arc closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Rectangle
|
||||
/RectangleOutLine
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
false StrokeWithPen } def
|
||||
|
||||
/FillRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
/FrameRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
/x1 x1 0.5 sub def /x2 x2 0.5 add def /y2 y2 0.5 sub def /y1 y1 0.5 add def newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto x1 y1 lineto
|
||||
/x1 x1 1 add def /x2 x2 1 sub def /y2 y2 1 add def /y1 y1 1 sub def
|
||||
x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polygon
|
||||
/Polygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
true Fill&Stroke } def
|
||||
|
||||
/FillPolygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
FillWithBrush } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polyline
|
||||
/PolylineArray [ {DrawPolyline} {Bezier} ] def
|
||||
/Polyline
|
||||
{PolylineArray PolylineMode 1 sub get exec pop pop currentpoint true StrokeWithPen } def
|
||||
/Bezier
|
||||
{/nbPoint exch def /nbCurves nbPoint 1 sub 3 idiv def /nbLeft nbPoint 1 sub nbCurves 3 mul sub def
|
||||
moveto 1 1 nbCurves { pop 4 2 roll 6 -2 roll curveto } for
|
||||
nbLeft 1 eq { lineto } {nbLeft 2 eq { 4 2 roll 2 copy curveto } if } ifelse
|
||||
} def
|
||||
/DrawPolyline
|
||||
{/nbPoint exch def moveto
|
||||
1 1 nbPoint 1 sub { pop lineto } for
|
||||
} def
|
||||
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Ellipse
|
||||
/Ellipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false Fill&Stroke
|
||||
grestore } def
|
||||
|
||||
/FillEllipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
FillWithBrush
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Arc
|
||||
/Arc
|
||||
{ gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy
|
||||
scale 1 -1 scale
|
||||
newpath
|
||||
ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false StrokeWithPen
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Pie
|
||||
/Pie
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 moveto ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Chord
|
||||
/Chord
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RoundRectangle
|
||||
/min {1 index 1 index le { pop} {exch pop} ifelse } def
|
||||
/RoundRectangle
|
||||
{/r2 exch def /r1 exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
y2 2 div r2 min cvi /r2 exch def
|
||||
x2 2 div r1 min cvi /r1 exch def
|
||||
/width x2 r1 idiv def /height y2 r2 idiv def
|
||||
gsave
|
||||
x1 y1 translate r1 r2 scale
|
||||
1 -1 scale
|
||||
/MyMatrix r1 r2 matrix scale x1 y1 matrix translate matrix concatmatrix def
|
||||
newpath
|
||||
1 1 1 180 270 arc
|
||||
width 1 sub 0 lineto width 1 sub 1 1 270 0 arc
|
||||
width height 1 sub lineto width 1 sub height 1 sub 1 0 90 arc
|
||||
1 height lineto 1 height 1 sub 1 90 180 arc
|
||||
closepath
|
||||
PenArray TmpPenArray copy pop
|
||||
PenArray lpWidth PenArray lpWidth get r1 abs r2 abs add 2 div div put
|
||||
false Fill&Stroke
|
||||
TmpPenArray PenArray copy pop
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: TextOut
|
||||
/TextOut
|
||||
{TextColorArray 0 get 255 div TextColorArray 1 get 255 div TextColorArray 2 get 255 div setrgbcolor
|
||||
gsave translate rotate
|
||||
0 0 moveto /expwidth exch def dup stringwidth pop expwidth exch div -1 scale show pop pop currentpoint grestore} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: MwSetFont
|
||||
/EncodingDict 256 dict def
|
||||
EncodingDict begin
|
||||
0 [/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/space /exclam /quotedbl /numbersign
|
||||
/dollar /percent /ampersand /quotesingle
|
||||
/parenleft /parenright /asterisk /plus
|
||||
/comma /hyphen /period /slash /zero /one
|
||||
/two /three /four /five /six /seven
|
||||
/eight /nine /colon /semicolon /less
|
||||
/equal /greater /question /at /A /B /C
|
||||
/D /E /F /G /H /I /J /K /L /M /N /O /P
|
||||
/Q /R /S /T /U /V /W /X /Y /Z
|
||||
/bracketleft /backslash /bracketright
|
||||
/asciicircum /underscore /grave /a
|
||||
/b /c /d /e /f /g /h /i /j /k /l /m /n
|
||||
/o /p /q /r /s /t /u /v /w /x /y /z
|
||||
/braceleft /bar /braceright /asciitilde
|
||||
/.notdef /.notdef /.notdef /quotesinglbase
|
||||
/florin /quotedblbase /ellipsis /dagger
|
||||
/daggerdbl /circumflex /perthousand /Scaron
|
||||
/guilsinglleft /OE /.notdef /.notdef
|
||||
/.notdef /.notdef /quoteleft /quoteright
|
||||
/quotedblleft /quotedblright /bullet /endash
|
||||
/emdash /tilde /trademark /scaron
|
||||
/guilsinglright /oe /.notdef /.notdef
|
||||
/Ydieresis /.notdef /exclamdown /cent
|
||||
/sterling /currency /yen /brokenbar
|
||||
/section /dieresis /copyright
|
||||
/ordfeminine /guillemotleft /logicalnot
|
||||
/hyphen /registered /macron /degree
|
||||
/plusminus /twosuperior /threesuperior
|
||||
/acute /mu /paragraph /periodcentered
|
||||
/cedilla /onesuperior /ordmasculine
|
||||
/guillemotright /onequarter /onehalf
|
||||
/threequarters /questiondown /Agrave
|
||||
/Aacute /Acircumflex /Atilde /Adieresis
|
||||
/Aring /AE /Ccedilla /Egrave /Eacute
|
||||
/Ecircumflex /Edieresis /Igrave /Iacute
|
||||
/Icircumflex /Idieresis /Eth /Ntilde
|
||||
/Ograve /Oacute /Ocircumflex /Otilde
|
||||
/Odieresis /multiply /Oslash /Ugrave
|
||||
/Uacute /Ucircumflex /Udieresis /Yacute
|
||||
/Thorn /germandbls /agrave /aacute
|
||||
/acircumflex /atilde /adieresis /aring
|
||||
/ae /ccedilla /egrave /eacute
|
||||
/ecircumflex /edieresis /igrave /iacute
|
||||
/icircumflex /idieresis /eth /ntilde
|
||||
/ograve /oacute /ocircumflex /otilde
|
||||
/odieresis /divide /oslash /ugrave
|
||||
/uacute /ucircumflex /udieresis /yacute
|
||||
/thorn /ydieresis] def
|
||||
end
|
||||
/fntdict 100 dict def
|
||||
|
||||
/MwScaleAndSetFont
|
||||
{
|
||||
2 index findfont dup length dict begin
|
||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||
dup EncodingDict exch known
|
||||
{EncodingDict exch get /Encoding exch def} {pop} ifelse
|
||||
currentdict end /font0 exch definefont
|
||||
exch scalefont setfont pop
|
||||
} def
|
||||
|
||||
/MwSetFont
|
||||
{
|
||||
% look in cache of scaled fonts
|
||||
1 index /askedsize exch def
|
||||
2 index /askedname exch def
|
||||
fntdict askedname known
|
||||
{ % font name found in cache - what about the size
|
||||
/fntszdict fntdict askedname get def
|
||||
fntszdict askedsize known
|
||||
{
|
||||
% font size found in cache
|
||||
fntszdict askedsize get setfont pop pop pop
|
||||
}
|
||||
{
|
||||
MwScaleAndSetFont
|
||||
fntszdict askedsize currentfont put
|
||||
}
|
||||
ifelse
|
||||
}
|
||||
{ % not found in cache
|
||||
MwScaleAndSetFont
|
||||
/fntszdict 200 dict def
|
||||
fntszdict askedsize currentfont put
|
||||
fntdict askedname fntszdict put
|
||||
}
|
||||
ifelse
|
||||
} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: DisplayBB
|
||||
/DisplayBB {gsave initgraphics 72 300 div 72 300 div scale 0 3300 translate
|
||||
1 -1 scale 1 setlinewidth 1 0 0 setrgbcolor
|
||||
/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
stroke grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%EndProlog
|
||||
|
||||
%%BeginSetup
|
||||
[{
|
||||
%%BeginFeature: *InputSlot AUTO
|
||||
6 statusdict /setpapertray get exec
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
[{
|
||||
%%BeginFeature: *PageRegion LETTER
|
||||
LETTER
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
%%EndSetup
|
||||
|
||||
%%Page:
|
||||
%%BeginPageSetup
|
||||
/ClockWise false def /LineJoin -1 def /MiterLimit -1 def /PolylineMode 1 def /LineCap 0 def
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0] UpdateTextColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
0 0
|
||||
|
||||
% All the numbers (for positions, length or font size) given
|
||||
% in this file are expressed in pixels, but interpreted by
|
||||
% Postscript as points (1/72 inch)!
|
||||
% -->so scale accordingly!
|
||||
72 300 div 72 300 div scale
|
||||
|
||||
% So that (0, 0) is at top-left corner of paper sheet (takes postscript scaling into account too)
|
||||
0 3300 translate
|
||||
1 -1 scale
|
||||
|
||||
/Courier 38 0 MwSetFont
|
||||
gstate /Mwgstate exch def
|
||||
%%EndPageSetup:
|
||||
Mwgstate setgstate newpath
|
||||
16 16 2416 3054 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
186 122 485 325 FillRectangle
|
||||
186 122 485 325 RectangleOutLine
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
186 68 306 122 FillRectangle
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
pop pop 186 122
|
||||
186 68 LineTo
|
||||
306 68 LineTo
|
||||
306 122 LineTo
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(cascade) 183 -0.00 244 163 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
594 178 973 365 FillRectangle
|
||||
594 178 973 365 RectangleOutLine
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
594 124 746 178 FillRectangle
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
pop pop 594 178
|
||||
594 124 LineTo
|
||||
746 124 LineTo
|
||||
746 178 LineTo
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(preequilibrium) 366 -0.00 601 219 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
1066 250 1365 453 FillRectangle
|
||||
1066 250 1365 453 RectangleOutLine
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
1066 196 1186 250 FillRectangle
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
pop pop 1066 250
|
||||
1066 196 LineTo
|
||||
1186 196 LineTo
|
||||
1186 250 LineTo
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(evaporation) 288 -0.00 1072 291 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 1 153 0 51] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 255 255 204 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
474 629 773 778 FillRectangle
|
||||
474 629 773 778 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
474 575 594 629 FillRectangle
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
pop pop 474 629
|
||||
474 575 LineTo
|
||||
594 575 LineTo
|
||||
594 629 LineTo
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(utils) 131 -0.00 558 670 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[1 0 128 128 128] UpdatePen
|
||||
pop pop 396 326
|
||||
546 574 LineTo
|
||||
[0 1 128 128 128] UpdatePen
|
||||
pop pop 546 574
|
||||
540 535 LineTo
|
||||
pop pop 546 574
|
||||
514 551 LineTo
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
58 629 357 778 FillRectangle
|
||||
58 629 357 778 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
58 575 178 629 FillRectangle
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
pop pop 58 629
|
||||
58 575 LineTo
|
||||
178 575 LineTo
|
||||
178 629 LineTo
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(crossection) 288 -0.00 64 670 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[1 0 128 128 128] UpdatePen
|
||||
pop pop 308 326
|
||||
242 574 LineTo
|
||||
[0 1 128 128 128] UpdatePen
|
||||
pop pop 242 574
|
||||
265 543 LineTo
|
||||
pop pop 242 574
|
||||
237 535 LineTo
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop 166 3054
|
||||
766 3054 LineTo
|
||||
/Courier 35 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 35 0 MwSetFont
|
||||
(File: /afs/cern.ch/user/m/miheikki/public/html/hetc/doc/hetc.mdl Fri Jun 8 10:08:56 2001 Component ) 2231 -0.00 166 3089 TextOut
|
||||
(Diagram: Component View / Main Page 1) 800 -0.00 166 3126 TextOut
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop % pop out coordinates for current pen position
|
||||
showpage
|
||||
end
|
||||
% end of the MainWin EPS file
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,53 +0,0 @@
|
||||
%\documentclass[epsf,twoside,fleqn,espcrc2]{article}
|
||||
%,a4paper,12pt,twoside
|
||||
\documentstyle[epsf,twoside,fleqn,espcrc2,epsfig,graphics,html]{article}
|
||||
%\usepackage[dvips]{epsfig}
|
||||
%eps-printing when clipping is needed -> use graphics-package
|
||||
%\usepackage{graphics}
|
||||
%\usepackage{html}
|
||||
%\def \AATOS {/afs/cern.ch/user/m/miheikki/public/html/}
|
||||
\def \AATOS {/home/miheikki/public/html/}
|
||||
\def \PIC {/afs/cern.ch/user/m/miheikki/public/html/inucl/doc/}
|
||||
\def \PIC {/home/miheikki/public/html/inucl/doc/}
|
||||
% put your own definitions here:
|
||||
% \newcommand{\cZ}{\cal{Z}}
|
||||
% \newtheorem{def}{Definition}[section]
|
||||
% ...
|
||||
\newcommand{\ttbs}{\char'134}
|
||||
\newcommand{\AmS}{{\protect\the\textfont2
|
||||
A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
|
||||
|
||||
|
||||
% declarations for front matter
|
||||
\title{HETC/INUCL++ manual - System for Modelling Hadronic Intranuclear Processes}
|
||||
|
||||
\author{Aatos Heikkinen, Nikita Stepanov
|
||||
\address{ Helsinki Institute of Physics,
|
||||
P.O.Box 9,\\
|
||||
FIN-00014 University of Helsinki, Finland }
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{abstract}
|
||||
HETC/INUCL is a simulation package and a model of intermediate energy nuclear
|
||||
reactions.
|
||||
INUCL consists of cascade, fission models, pre-equilibrium, and evaporation
|
||||
This manual describes the models used in INUCL++.
|
||||
This documet works as an manual, status report and working document for INUCL project. In accordance with this, we represent results acieved with INUCL. Comparison with measurement is made.
|
||||
We also descripe staus of Geant4 installation on INUCL software \cite{titarenko99a}.
|
||||
\end{abstract}
|
||||
\maketitle
|
||||
% uncomment main sections when needed
|
||||
|
||||
%\input{manIntro} % to be done
|
||||
%\input{manHetc}
|
||||
\input{manInucl}
|
||||
%\input{manWorkbook} % to be done
|
||||
%\input{manStatusReport} % to be done
|
||||
|
||||
\end{document}
|
||||
|
||||
% end of file
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,702 +0,0 @@
|
||||
%\documentstyle[epsf,twoside,fleqn,espcrc2]{article}
|
||||
%\def \AATOS {/afs/cern.ch/user/m/miheikki/public/html/}
|
||||
\def \AATOS {/home/miheikki/public/html/}
|
||||
\def \PIC {/afs/cern.ch/user/m/miheikki/public/html/inucl/doc/}
|
||||
\def \PIC {/home/miheikki/public/html/inucl/doc/}
|
||||
% put your own definitions here:
|
||||
% \newcommand{\cZ}{\cal{Z}}
|
||||
% \newtheorem{def}{Definition}[section]
|
||||
% ...
|
||||
%\newcommand{\ttbs}{\char'134}
|
||||
%\newcommand{\AmS}{{\protect\the\textfont2
|
||||
% A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
|
||||
|
||||
|
||||
% declarations for front matter
|
||||
%\title{HETC/INUCL++ manual - System for Modelling Hadronic Intranuclear Processes}
|
||||
|
||||
%\author{Aatos Heikkinen, Nikita Stepanov
|
||||
%\address{ Helsinki Institute of Physics,
|
||||
%P.O.Box 9,\\
|
||||
%FIN-00014 University of Helsinki, Finland }
|
||||
% }
|
||||
|
||||
%\begin{document}
|
||||
|
||||
%\begin{abstract}
|
||||
%HETC/INUCL is a simulation package and a model of intermediate energy nuclear
|
||||
%reactions.
|
||||
%INUCL consists of cascade, fission models, pre-equilibrium, and evaporation
|
||||
%This manual describes the models used in INUCL++.
|
||||
%This documet works as an manual, status report and working document for INUCL project. In accordance with this, we represent results acieved with INUCL. Comparison with measurement is made.
|
||||
%We also descripe staus of Geant4 installation on INUCL software \cite{titarenko99a}.
|
||||
%\end{abstract}
|
||||
%\maketitle
|
||||
|
||||
\section{VOCABULARY}
|
||||
\begin{itemize}
|
||||
\item {\it NR} Nuclear reaction
|
||||
\item {\it quasi-elastic reaction} NR where nucleon can be knocked out of its nuclear.
|
||||
\item {\it T-nucleus} Target nucleus
|
||||
\end{itemize}
|
||||
|
||||
\section{INTRODUCTION TO INTERMEDIATE-ENERGY NUCLEAR PHYSICS}
|
||||
|
||||
|
||||
Fig :::. Schematic nucleon structure.
|
||||
The central nucleon is shown as collection of three constituent quarks interacting via the color force.
|
||||
Closer views show a more complex picture.
|
||||
|
||||
At higher energies ($~200~MeV$) energy is high enough to momentarily exite a nucleon into the exited dalta-resonant state ($\Delta$-resonance).
|
||||
|
||||
\subsection{Classification of Cross-Sections of NRS}
|
||||
|
||||
Let us denote an incident particle and a nucleus under investigation by the symbols $a$ and $A$, respectively.
|
||||
Following final states following from $a + A$ are possible \cite{iljinov94}:
|
||||
|
||||
\begin{itemize}
|
||||
\item $a + A$ : elastic scattering
|
||||
\item $a^{*} + A$ : scattering with an exitation of the $a$ particle
|
||||
\item $a + A^{*}$ : scattering with an exitation of the nucleus
|
||||
\item $a^{*} + A^{*}$ : scattering in which both the particle and the nucleus are exited
|
||||
\item $a^{'} + A^{'}$ : reaction involving the production of a new particle and a new nucleus
|
||||
\item $a^{'} + a^{''} + A^{'}$ : reaction involving the production of two new particles and a new nucleus
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Quantum Formulation of Collision Problem}
|
||||
|
||||
\subsubsection{Reaction Channels}
|
||||
|
||||
Consider a collision of two complex particles. ::: \cite{iljinov94}
|
||||
|
||||
\subsubsection{Transition Probabilities and S-Matrix}
|
||||
|
||||
In accordance with general priciples of quantum theory, the probability
|
||||
::: \cite{iljinov94}
|
||||
|
||||
\subsubsection{S-Matrix and Cross-SectionsScattering Amplitude}
|
||||
|
||||
::: \cite{iljinov94}
|
||||
|
||||
|
||||
\subsection{Nuclear Structure Phase Diagram}
|
||||
|
||||
THe atomic nucleus with its $A$ nucleons is governed by a large number of degrees of freedom.
|
||||
|
||||
\subsection{Nuclear density}
|
||||
|
||||
Nuclear charge densities are usually well described using present-day effective two-body forces; it is also clear that saturation of the charge dencity indeed occurs.
|
||||
The central density barely varies when the nucleon number changes.
|
||||
\subsection{Nuclear radius}
|
||||
|
||||
\subsection{Mass formula}
|
||||
|
||||
A parametrization of the nuclear binding energy in the groud state,
|
||||
was first discussed by Bethe, Bacher and Weizs\"{a}cker.
|
||||
Parametrization conatains volume, surface, Coulomb and symmetry correction terms (we neglegt here typical shell model correction terms) and reads
|
||||
|
||||
$$B(E, A) = a_{\nu} A - a_{s} A^{2/3} - a_{c} Z(Z-1)A^{-1/3} -$$
|
||||
\begin{equation}
|
||||
a_{A}\frac{(A-2Z)^2}{A}
|
||||
\end{equation}
|
||||
|
||||
Nuclear charge radius turns out to be a rather well-defined quantity.
|
||||
|
||||
\subsection{Symmetry consepts in Nuclear Physics}
|
||||
The nuclear two-body force obeys quite a large number of basic invariances.
|
||||
Forexample invariance under interchange of the spatial coordinates, translation invariance, Galilean invariance, space reflection symmetry, time reversal invariance, rotation invariance in coordinate space and rotation invariance in charge space (isospin).
|
||||
|
||||
The symmetry consept (1932) of isospin symmetry,
|
||||
describing the charge independence of the nuclear forces by means of the isospin consept with the SU(2) group as the underlying mathematical group was suggested by Heisenberg.
|
||||
This (simplest of all dynamical symmetries) expresses the invariance of the Hamiltonian under the exchange of all proton and neutron coordinates \cite{heyde98}.
|
||||
|
||||
\subsection{Quantum effects}
|
||||
|
||||
On the level of the nucleons themselves, invariance of the total nuclear wave functions under the exchange of identical nucleons affects the possible models realized.
|
||||
The Pauli principle implies antisymmetry for the total fermionic wave function and this has very definite consequences for the types of collective motion that can be set up inside the nucleus.
|
||||
|
||||
|
||||
\subsection{INC-Model}
|
||||
|
||||
Widely used semiclassical miscroscopic description of a collision between a particle and a nucleus,
|
||||
was proposed by Serber \cite{serber47} and Goldberger \cite{goldberger48}.
|
||||
|
||||
\section{INTRODUCTION TO INUCL}
|
||||
|
||||
\subsection{BACKGROUND}
|
||||
Originally the INUCL code was published in 1983 \cite{stepanov}.
|
||||
This code, written with Fortran has been used in [:::] \cite{:::}.
|
||||
|
||||
Comprison of results between INCUL and LAHET, CEM95, HETC, CASCADE,
|
||||
YIELDX, and ALICE code are presented in Refs. \cite{titarenko99a}.
|
||||
|
||||
Year 2000 a aroject to implement INUCL into Geant4 hadronic physic
|
||||
module using C++ wal launched.
|
||||
|
||||
New now works also as standalone c++ software called INUCL++.
|
||||
|
||||
\subsection{SUMMARY OF INUCL MODEL FEATURES}
|
||||
\begin{itemize}
|
||||
\item Originally INUCL was designed as a particle - nucleus interaction simulation block for the particle - target interaction simulation program PHOENIX. It produces an exclusive approach to simulating events with reasonable performance.
|
||||
\item INUCL is based on N. Stepanov Ph.D. thesis, ITEP, Moscow, 1990.
|
||||
Also, contribution Vladimir D. Kazaritsky.
|
||||
\item Now we have standalone F77 based INUCL code and INUCL++ written in C++.
|
||||
INUCL++ is now written using Geant4 coding style and integration to hadronic models in in progress. Problem: speed is five times slower.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{INUCL models}
|
||||
\begin{itemize}
|
||||
\item Intranuclear cascade
|
||||
\item Precompound decay (exiton master equation)
|
||||
\item Evaporation (Weisskopf - Ewing)
|
||||
\item Fission (phenomenological model, incorporating some features of the fission statistical model)
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Particles treated}
|
||||
\begin{itemize}
|
||||
\item Range of targets allowed arbitrary.
|
||||
\item Range of projectiles allowed p, n, pi and nuclei.
|
||||
\item From a few Mev to 10 GeV for n, p, pi and up to about 100 MeV / nucleon for nuclei.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Cross sections}
|
||||
\begin{itemize}
|
||||
\item Total inelastic cross section has to be taken from outside to normalize all data.
|
||||
\item Total reaction cross-sections [mbarn] were calculated by J.R. Letaw's formulae
|
||||
|
||||
%$45 A^0.7 (1+0.016 sin(5.3-2.63 log10(A)))^(1-0.62 exp(-E / 200) sin(10.9 E^(-0.28)))$
|
||||
|
||||
\item Ref.: S. Pearlstein, The Astrophysical Journal, 346: 1049-1060, 1989 November 15
|
||||
\item Fermi energy calculated in a local density approximation.
|
||||
\end{itemize}
|
||||
|
||||
Nuclear density distribution are derived from the Re(Vopt( r)) distribution. In cascade part, nucleus is divided into a finite number of zones with constant density.
|
||||
|
||||
|
||||
%nuclear radius parameterization: By the definition R(A) is derived from eq. Den(R(A)) = 0.01*Den max
|
||||
\subsubsection{Nucleon nucleon cross-sections}
|
||||
\begin{itemize}
|
||||
\item Parametrizations based on the experimental data (ED) are used.
|
||||
\item They are energy and isospin dependent.
|
||||
\item The parameterizations described in ([1] Barashenkov V.S., Toneev V.D. High Energy interactions of particles and nuclei with nuclei. Moscow, 1972
|
||||
%(in Russian, but there is an English translation)) are used.
|
||||
|
||||
\item Pauli exclusion in the INC: Simulated particle-particle interaction is accepted only for secondary nucleons which have $E_n > E_f$.
|
||||
|
||||
\item Nuclear density effects are recalculated after each step
|
||||
|
||||
\item Cascade is stopped when all the particles, which can escape the nucleus, do it. Then conformity with the energy - conservation law is checked and the given event is accepted, if $E_{exitation} > E_{cut} \approx $a few $MeV$.
|
||||
|
||||
\item For nucleons binding energies are calculated using mass formula. For pions Vopt is taken to be constant (about 7 MeV).
|
||||
\end{itemize}
|
||||
|
||||
%What criteria for p-h excitation? is the next phase precompound or compound'? Only pions. The next phase is precompound. Initial conditions are defined during the cascad phase: p -number of "particles", i.e. nucleons, which can not escape the nucleus and have too small interaction probability; h - number of "holes" = number of nuclear nucleons involved in the cascade; energy - momentum of the exiton system derived from the conservation law.
|
||||
|
||||
\subsubsection{Precompound phase}
|
||||
%, describe the PE model used, parameters, i.e., partial state densities, transition rates?
|
||||
\begin{itemize}
|
||||
|
||||
\item Main parameters are taken from (Ribansky I. et al, Nucl.Phys.,1973, A205, p.545 (level densities); Kolbach.C., Z.Phys.,1978, A287, p.319 (matrix elements)).
|
||||
%(Only N -> N, N -> N + 2, N -> N -2, N -> N - 1 channels are treated.)
|
||||
\item The angular distribution is isotropic in the frame of rest of the exiton system.
|
||||
\end{itemize}
|
||||
|
||||
%Describe parameters used: level densities, inverse cross-sections or transmission coefficient, choice of optical model parameters if relevant (or reference to source), range of excitations allowed, inclusive or exclusive results? Weisskopf-Ewing evaporation in competition with fission. Emissions of n,p,d,t,He3,He4,gamma is allowed. Level densities derived from exp.data are used. Angular momentum and spin dependence are not included. Other parameters are the same as in ([1], see 5a.) Fermi breakup is allowed onlyin some extreme cases, i.e. for light nuclei and E(exitation) > 3.*Eb. Only the total nuleus decay into neutrons and protons is treated.
|
||||
|
||||
|
||||
\begin{verbatim}
|
||||
particles p, n, pi, D, T, He3, He4,\gamma
|
||||
(INUCLN with neutrino 31.3.98)
|
||||
pion aborption
|
||||
interaction crosssections
|
||||
(all data for (N, N) and (pi, N) interactions (dn/dsigma, d3sigma/d3p,
|
||||
partial multiplicity for npi<=5 error 10-20\%)
|
||||
pre-equilibrium exiton model
|
||||
\end{verbatim}
|
||||
|
||||
\section{INUCL MANUAL PAGES}
|
||||
|
||||
\subsection{Reaction initial state simulation}
|
||||
\subsubsection{Projectiles and enery range of model}
|
||||
|
||||
The GEANT4 INCUL model is cpable to predict final states :::
|
||||
|
||||
The allowed allowed bombarding kinetic enery is recommended to be more than
|
||||
$20~MeV$ in the laboratory frame.
|
||||
The upper limit of initial kinetic energy is approximately $10~GeV$.
|
||||
|
||||
\subsubsection{Nucleus initialization}
|
||||
|
||||
\begin{itemize}
|
||||
\item {\bf Nucleon radii}:
|
||||
\item {\bf The initial momenta of the nucleons}:
|
||||
\item {\bf Nucleon binding energy}:
|
||||
\end{itemize}
|
||||
\subsection{Random choice of the impact parameter}
|
||||
|
||||
The impact parameter $b$ is randomly selected according to
|
||||
\subsection{Hadron propagation}
|
||||
|
||||
\subsection{Selection of particle collisions and particle decays}
|
||||
|
||||
\subsection{Hadron interation cross sections}
|
||||
|
||||
\subsection{Hadron collision simulation}
|
||||
|
||||
\subsubsection{Two-body hadron scattering}
|
||||
\subsubsection{Angular distribution of two-body hadron scatterings}
|
||||
\subsubsection{$\pi$-absorption simulation}
|
||||
|
||||
\subsection{Resonance decay simulation}
|
||||
|
||||
\subsection{Phenomenological potentials}
|
||||
\subsubsection{The nucleon potential}
|
||||
|
||||
\subsection{Pauli blocking simulation}
|
||||
|
||||
\subsection{Residual nucleus parameters in the hadron-nucleus collision}
|
||||
|
||||
\subsection{Calculation of a residual nucleus exitation energy}
|
||||
|
||||
\subsection{Staus of this document}
|
||||
8.6.02 created by A. Heikkinen
|
||||
|
||||
\section{INTRANUCLEAR CASCADE MODEL}
|
||||
|
||||
\subsection{NUCLEON DENCITY IN THE ATOM}
|
||||
|
||||
Halo nucleus such as $^{11}Li$ are not modelled.
|
||||
|
||||
\subsection{IMPULSE DISTRIBUTION}
|
||||
|
||||
\subsection{DISTRIBUTION OF POTENTIAL ENERGY}
|
||||
|
||||
\subsection{QUANTUM EFFECTS}
|
||||
Pauli exclusion principle
|
||||
|
||||
\subsection{DESCRIPTION OF INC}
|
||||
|
||||
|
||||
\section{FISSION}
|
||||
|
||||
\section{PRE-EQUILIBRIUM}
|
||||
|
||||
\section{EVAPORATION}
|
||||
Exited nuclei cools further trough the emission of gamma radiation.
|
||||
If simulation is detailed,
|
||||
the emitted gamma rays contain information about the cooling route
|
||||
and region the nucleus is passing trough.
|
||||
|
||||
\section{FROM INUCL TO INUCL++}
|
||||
|
||||
\subsection{DESIGN AND ANALYSIS}
|
||||
We desided to make separate INUCL++ implementations one as an stand
|
||||
alone with spesific cross-section data and particle definition, and
|
||||
another iplementation that re-uses Geant4 classes.
|
||||
So, requirements for the INUCL++ came mainly from Geant4.
|
||||
Coding style and organization should follow those used in Geant4.
|
||||
|
||||
|
||||
Interace-classes to Geant4 hadronic models define the separation of
|
||||
cascade, fission, pre-equilibrium, and evaporation. Thus INUCL++
|
||||
implementation in Geant4 consists of four separate modules.
|
||||
|
||||
\subsection{IMPLEMENTATION}
|
||||
|
||||
\subsection{TESTING}
|
||||
Extensive testing :::
|
||||
|
||||
Speed comparison :::
|
||||
|
||||
\section{INUCL++ AS A STANDALONE PROGRAM}
|
||||
|
||||
\section{INUCL++ IN GEANT4}
|
||||
|
||||
\section{RESULTS}
|
||||
We have rewritten INUCL into C++ and tested the performance.
|
||||
Here we combine INUCL models and HETC INC.
|
||||
|
||||
|
||||
We give here summary of results. Each configuration consists of N=1000 events simulated with same energy etc. parameters.
|
||||
|
||||
\subsection{Particle multiplicities}
|
||||
Multiplities for collisions between $p$ projectile ( $0.5~GeV< E <5.0~GeV$) and aluminium $Al$, iron $Fe$ and lead $Pb$ tragets (at rest) are listed in Figs. \ref{pAlMultiplicity} - \ref{pPbPionMultiplicity}.
|
||||
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pAlMultiplicity.eps} }
|
||||
\caption{Particle multiplicities for $(p, ^{27}Al$).}
|
||||
\label{pAlMultiplicity}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pFeMultiplicity.eps} }
|
||||
\caption{Particle multiplicities for $(p, ^{56}Fe$).}
|
||||
\label{pFeMultiplicity}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pPbMultiplicity.eps} }
|
||||
\caption{Particle multiplicities for $(p, ^{82}Pb$).}
|
||||
\label{pPbMultiplicity}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pPbPionMultiplicity.eps} }
|
||||
\caption{Pion multiplicities.}
|
||||
\label{pPbPionMultiplicity}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\subsection{Particle energies}
|
||||
|
||||
Figs. \ref{pPbProtonEnergy} - \ref{p500MeVPbProtonEnergy} give an summary of cascade products energy-levels.
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pPbProtonEnergy.eps} }
|
||||
\caption{Average proton energies.}
|
||||
\label{pPbProtonEnergy}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pPbNeutronEnergy.eps} }
|
||||
\caption{Average neutron energies.}
|
||||
\label{pPbNeutronEnergy}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC pPbNucleonExitation.eps} }
|
||||
\caption{Average nucleon exitation energy.}
|
||||
\label{pPbNucleonExitation}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC p50MeVPbProtonEnergy.eps} }
|
||||
\caption{Proton energy spectrum, when projectile particle (p) had an energy of $0.05~GeV$.}
|
||||
\label{p50MeVPbProtonEnergy}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC p500MeVPbProtonEnergy.eps} }
|
||||
\caption{Proton energy spectrum, when projectile particle (p) had an energy of $0.5~GeV$.}
|
||||
\label{p500MeVPbProtonEnergy}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\bibliographystyle{unsrt} % Options plain, unsrt, alpha, abbrv
|
||||
|
||||
%\bibstyle{plain}
|
||||
|
||||
%\begin{thebibliography}{99}
|
||||
\bibliography{\AATOS texts/references/references.bib}
|
||||
%\end{thebibliography}
|
||||
|
||||
\begin{appendix}
|
||||
|
||||
\section{PROJECT plan}
|
||||
\begin{itemize}
|
||||
\item we will continue testing INUCL++ against previous verison.
|
||||
\item we reorganize the code is sutch mannet that integratin to Geant4
|
||||
is smooth
|
||||
\item before year 2002 will provide INUCL++ as a stanalone program,
|
||||
or as an hadronic cascaded modules
|
||||
(INC, pre-equilibrium, evaporation, fission) in Geant4.
|
||||
\end{itemize}
|
||||
|
||||
\section{UML DIAGRAMS}
|
||||
Preliminary suggestion for Inucl class interface to Geant4 cascade, pre-equilibrium
|
||||
and evaporation modules.
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{\PIC cascadeUml.eps} }
|
||||
\caption{General class structure for Inucl INC model.}
|
||||
\label{massPb}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{preEquilibriumUml.eps} }
|
||||
\caption{General class structure for Inucl pre-equilibrium model.}
|
||||
\label{massPb}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{evaporationUml.eps} }
|
||||
\caption{General class structure for Inucl evaporation/fission model.}
|
||||
\label{massPb}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
\section{DOWNLOADING INUCL++}
|
||||
INUCL++ is downloadable from INUCL homepage at
|
||||
http://cern.ch/aatos.heikkinen/inucl
|
||||
|
||||
\scriptsize
|
||||
\begin{verbatim}
|
||||
|
||||
\end{verbatim}
|
||||
\normalsize
|
||||
|
||||
\section{OVERVIEW OF GEANT4 INUCL ACTIVITIES 2001-2002 }
|
||||
|
||||
\subsection{General}
|
||||
Inside LHC Programme Software and Physics project Geant4 activities are under catecory {\it Simulation and event recosntruction}.
|
||||
In 2001 HIP joined as participating institute the worl wide Geant4 collaboration with the major responsibility for development and maintenance of the nuclear evaporation and intra-nuclear cascade processes.
|
||||
Two major codes HETC and INUCL are to be implemented and developed for Geant4 hadronic processes.
|
||||
|
||||
The conversion of the hadronic evaporation processes of HETC code to Geant4 was completed in 2001 and good progress was made in the Object-Oriented implementation of the intra-nuclear cascade processes.
|
||||
|
||||
For another important nuclear Maonte Carlo code, INUCL, an object oriented model was prepared, containing models for intra-nuclear cascade, pre-equilibrium state, fission and evaporation.
|
||||
|
||||
Year 2002 started with implementation of INUCL++ as a standalone software.
|
||||
A preliminary version of architecture using INUCL++ intra-nuclear model. It also integrates HETC cascades and utilites Geant4 hadronic models frameworks.
|
||||
|
||||
\subsection{ABOUT GEANT4}
|
||||
Geant4 represents one of the largest and most ambitious projects of geographically-distributed software development and large-scale object-oriented systems.
|
||||
|
||||
|
||||
\subsection{COLLABORATION TSB AND CB WORK}
|
||||
|
||||
In 2001 HIP joined as participating institute the worl wide Geant4 collaboration with the major responsibility for development and maintenance of the nuclear evaporation and intra-nuclear cascade processes.
|
||||
|
||||
Our contribution in TSB and CB will be focused in near future to initiatives and coordination of hadronic cascade framework inside Geant4 hadronic framework.
|
||||
|
||||
\subsection{INCUL}
|
||||
|
||||
\subsubsection{INTORODUCTION TO INUCL}
|
||||
INUCL++ is an object oriented implementation of Monte Carlo transport code INUCL for computing the properties of high-energy hadronic cascades in matter.
|
||||
The functionality of INUCL++ is divided into intranuclear cascade, pre-equilibrium, fission, and evaporation parts.
|
||||
|
||||
The stand-alone version INUCL++ is comparable to codes such as HETC and LAHET \cite{titarenko99}.
|
||||
|
||||
\subsubsection{INUCL++}
|
||||
We have made independent version INUCL++ using OO methods.
|
||||
|
||||
Architecture of INUCL++ intra-nuclear model plays an important role in our Geant4 work, since we use it also for HETC cascades modelling and as an platform to form a general framework for cascading model.
|
||||
|
||||
\subsection{PLANS FOR YEAR 2002}
|
||||
|
||||
\begin{itemize}
|
||||
\item INUCL cascade model introduced to Geant4
|
||||
|
||||
\item We also aim to have significant progress on pre-equilibrium, fission models.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\mbox{\epsfxsize=8cm \epsffile{massPb.eps2} }
|
||||
\caption{::: Pb from 1 GeV .}
|
||||
\label{massPb}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
\subsection{HIP Geant4 activities 2001-2002}
|
||||
|
||||
General:
|
||||
\begin{itemize}
|
||||
\item In 2001 HIP joined as participating institute the world wide Geant4 collaboration
|
||||
\item Responsibility for development and maintenance of the nuclear evaporation and intra-nuclear cascade processes.
|
||||
\item Two major codes HETC and INUCL are to be implemented and developed for Geant4 hadronic processes.
|
||||
\end{itemize}
|
||||
|
||||
Research activities:
|
||||
\begin{itemize}
|
||||
\item Participation to Geant4 TSB and CB meetings
|
||||
\item The conversion of the hadronic evaporation processes of HETC code to Geant4 was completed in 2001
|
||||
\item Good progress was made in the Object-Oriented implementation of the intra-nuclear cascade processes
|
||||
|
||||
\item An object oriented model of INUCL was prepared, containing models for intra-nuclear cascade, pre-equilibrium state, fission and evaporation
|
||||
\item Implementation of INUCL++ as a standalone software was finalized
|
||||
|
||||
\item Prototype for cascading framework was prepared using experience gained from INUCL OO design
|
||||
\end{itemize}
|
||||
|
||||
Future plans:
|
||||
\begin{itemize}
|
||||
\item INUCL cascade model introduced to Geant4
|
||||
\item Fully integration of HETC intra nuclear cascade -model and Geant4.
|
||||
\item Significant progress on HETC and INUCL pre-equilibrium and fission models.
|
||||
\item Introduction of general cascade framework to Geant4 hadronic models
|
||||
\end{itemize}
|
||||
|
||||
\section{SAMPLE RUN RESULT}
|
||||
\scriptsize
|
||||
\begin{verbatim}
|
||||
Number of events 100000
|
||||
average multiplicity 21.5523
|
||||
average proton number 3.53569
|
||||
average neutron number 14.5048
|
||||
average nucleon Ekin 0.0321547
|
||||
average proton Ekin 0.0848587
|
||||
average neutron Ekin 0.0193075
|
||||
average pion number 0.3036
|
||||
average pion Ekin 0.132491
|
||||
average pi+ 0.1165
|
||||
average pi- 0.058
|
||||
average pi0 0.1291
|
||||
average A 126.891
|
||||
average Z 53.1615
|
||||
average Exitation Energy 0.0258312
|
||||
average num of fragments 1.69988
|
||||
fission prob. 0.0117 c.sec 20.592
|
||||
=====================================================
|
||||
********** Izotop analysis ******************
|
||||
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
**** izotop Z **** 0
|
||||
A 1 exp.cs 33520 err 12.4
|
||||
sim. cs 30536.4 err 23.1827
|
||||
ratio 0.910989 err 0.000769346
|
||||
simulated production rate 17.3502
|
||||
A 0 exp.cs 217.4 err 1.22
|
||||
sim. cs 256.749 err 2.12574
|
||||
ratio 1.181 err 0.0118124
|
||||
simulated production rate 0.14588
|
||||
not found in simulations 0
|
||||
not found in exper: 0
|
||||
simulated production rate 17.3502
|
||||
simulated production rate 0.14588
|
||||
matched 2 CHSQ 58.3536
|
||||
raw chsq 13620.6
|
||||
average ratio 1.04599 err 0.00629088
|
||||
lhood 1.14436
|
||||
exper. cs 33737.4 err 13.62
|
||||
inucl. cs 30793.1 err 25.3085
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
**** izotop Z **** 1
|
||||
A 1 exp.cs 7645 err 6.08
|
||||
sim. cs 6801.24 err 10.9408
|
||||
ratio 0.889632 err 0.00159645
|
||||
simulated production rate 3.86434
|
||||
A 0 exp.cs 109.4 err 0.96
|
||||
sim. cs 226.195 err 1.99525
|
||||
ratio 2.0676 err 0.0257258
|
||||
simulated production rate 0.12852
|
||||
not found exper.: A 2 exp.cs 658.7 err 4.2
|
||||
not found exper.: A 3 exp.cs 338.6 err 3.1
|
||||
not found in simulations 2
|
||||
not found in exper: 0
|
||||
simulated production rate 3.86434
|
||||
simulated production rate 0.12852
|
||||
matched 2 CHSQ 40.3162
|
||||
raw chsq 6501.58
|
||||
average ratio 1.47862 err 0.0136611
|
||||
lhood 1.68244
|
||||
exper. cs 8751.7 err 14.34
|
||||
inucl. cs 7027.43 err 12.9361
|
||||
\end{verbatim}
|
||||
\normalsize
|
||||
|
||||
\section{WORKING DOCUMENT}
|
||||
\subsection{15.7.2002}
|
||||
|
||||
\subsection{11.7.2002}
|
||||
Now platform is ready. G4 and subcodes are organized and compiles. It is time to do actual interface.
|
||||
Plan for today work 13-15 and 17-20. Build solid understanding of interface. And build it using tests.
|
||||
\begin{itemize}
|
||||
\item to do: ApplyYout self seciton CascadeInterfaceen, koncretic conversion between system nucleust and particles, study more interfacing, write towards working interface
|
||||
\item KineticTrack is starting point for us.
|
||||
\item Study G4VIntraNuclearTransport (base class G4HadronicInteraction, G4KineticTrack, G4VParticleChange, G4ReactionProductVector) class. And kinetic model. G4TheoFSGenerator steers the collaboration between hadronic generator and intra-nuclear transport
|
||||
\item Methods in CascadeInteface : {\tt G4VParticleChange* ApplyYourself(const G4Track\& aTrack, G4Nucleus\& theNucleus);
|
||||
G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus);} G4ReactionProductVector ok also for G4VParticleChange
|
||||
\item For use of ApplyYourself see G4PreCompoundModel
|
||||
\item
|
||||
\end{itemize}
|
||||
|
||||
\subsection{10.7.2002}
|
||||
\begin{itemize}
|
||||
\item {\bf}: localised files (inucl cascade code at {\tt html/inucl/inucl++/demo},
|
||||
hetc code at {\tt html/geant4/geant4/source/processes/ hadronic/models/cascade/cascade},
|
||||
documentation {\tt html/inucl/doc}).
|
||||
There is also another g4 version at {\tt html/geant4/geant4.3.1 })
|
||||
\item studied g4 hadronic cascade interface.
|
||||
\item {\bf all code and documentation in one place} {\tt html/geant4/geant4/source/processes/ hadronic/models/cascade/cascade}
|
||||
\item general plan: {\bf thursday} put cascade code to g4 installation (+), make compile (+), study interface structure (+), make small testing (+),
|
||||
{\bf friday} create real interface,
|
||||
{\bf sunday} create inteface, and test basics (modify test13 hadronic testing)
|
||||
{\bf monday morning at 8} co g4 at cern, pack {\tt hadronic/models/cascade}, replace cascade files, add new ones, and commit. Mail hpw. Start holiday at 10 am.
|
||||
\item cascading basic structure: {\tt G4Collider (base),
|
||||
G4ElementaryParticlCollider,
|
||||
G4IntraNucleiCollider (:G4Collider, has G4ElementaryParticlCollider, ),
|
||||
G4NucleiModel (initializes cascade,zones, boundary trasitions, fermi energy, density, potential),
|
||||
G4InucleNuclei/G4HETCNuclei (A, Z, kinetic energy, mass formula, exiton configuration) }
|
||||
\item change G4vector to vector:
|
||||
\item {\tt G4InuclCollider} does the lining of different models inside collision with method command {\tt collide(bull, targ)}
|
||||
\item {\tt G4IntraNucleiCascader} does the actual cascading. I starts by setting elementary particel cascader {\tt G4IntraNucleiCascader* incascader-> setElementaryParticleCollider( G4ElementaryParticleCollider*)}
|
||||
\item The actual cascading is then done: {\tt theIntraNucleiCascader-> collide(\&nbullet, \&ntarget);}
|
||||
\item finally, laboratory frame change, and some other organizational things happen
|
||||
\item g4 inc base class is defined in models/generator/ management/include/ G4VIntraNuclearTransportModel.hh
|
||||
\item INC model is set by G4TheoFSGenerator (: public G4HadronicInteraction) by method: {\tt void SetTransport( G4VIntraNuclearTransportModel *const value);}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\subsection{10.6.2002}
|
||||
\begin{itemize}
|
||||
\item {\bf compilation}: made compilation faster (now takes 45 seconds) by tunig compiler setting and include-statements
|
||||
\item {\bf sample run}: result from original C++ test are saved to this document as sample run.
|
||||
\item {\bf compilation}: fixed writing errors, so code now compiles
|
||||
\item {\bf manual pages}: tempalte for manual pages copied to this document from GEANT4 ninematic model manual
|
||||
\end{itemize}
|
||||
|
||||
\subsection{7.6.2002}
|
||||
\begin{itemize}
|
||||
\item {\bf document template}: Added new style and collected material to this documet. Rethinking chapter organization.
|
||||
\item {\bf picture rezise}: {\tt convert x.ps x.eps2}
|
||||
\item {\bf new references}: Some text added fron new sources
|
||||
\end{itemize}
|
||||
|
||||
\end{appendix}
|
||||
%\end{document}
|
||||
|
||||
% end of file
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,990 +0,0 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: (ImageMagick)
|
||||
%Title: (massPb.eps2)
|
||||
%%CreationDate: (Fri Jun 7 19:35:28 2002)
|
||||
%%BoundingBox: 0 0 611 791
|
||||
%%LanguageLevel: 2
|
||||
%%Pages: 0
|
||||
%%EndComments
|
||||
|
||||
%%BeginDefaults
|
||||
%%PageOrientation: Portrait
|
||||
%%EndDefaults
|
||||
|
||||
%%BeginProlog
|
||||
%
|
||||
% Display a color image. The image is displayed in color on
|
||||
% Postscript viewers or printers that support color, otherwise
|
||||
% it is displayed as grayscale.
|
||||
%
|
||||
/buffer 512 string def
|
||||
/pixel_stream currentfile /ASCII85Decode filter def
|
||||
|
||||
/DirectClassImage
|
||||
{
|
||||
%
|
||||
% Display a DirectClass image.
|
||||
%
|
||||
colorspace 0 eq
|
||||
{
|
||||
/DeviceRGB setcolorspace
|
||||
<<
|
||||
/ImageType 1
|
||||
/Width columns
|
||||
/Height rows
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1]
|
||||
/ImageMatrix [columns 0 0 rows neg 0 rows]
|
||||
compression 0 gt
|
||||
{ /DataSource pixel_stream }
|
||||
{ /DataSource pixel_stream /RunLengthDecode filter } ifelse
|
||||
>> image
|
||||
}
|
||||
{
|
||||
/DeviceCMYK setcolorspace
|
||||
<<
|
||||
/ImageType 1
|
||||
/Width columns
|
||||
/Height rows
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 1 0 1 0 1 0 1]
|
||||
/ImageMatrix [columns 0 0 rows neg 0 rows]
|
||||
compression 0 gt
|
||||
{ /DataSource pixel_stream }
|
||||
{ /DataSource pixel_stream /RunLengthDecode filter } ifelse
|
||||
>> image
|
||||
} ifelse
|
||||
} bind def
|
||||
|
||||
/PseudoClassImage
|
||||
{
|
||||
%
|
||||
% Display a PseudoClass image.
|
||||
%
|
||||
% Parameters:
|
||||
% colors: number of colors in the colormap.
|
||||
%
|
||||
currentfile buffer readline pop
|
||||
token pop /colors exch def pop
|
||||
colors 0 eq
|
||||
{
|
||||
%
|
||||
% Image is grayscale.
|
||||
%
|
||||
/DeviceGray setcolorspace
|
||||
<<
|
||||
/ImageType 1
|
||||
/Width columns
|
||||
/Height rows
|
||||
/BitsPerComponent 1
|
||||
/Decode [0 1]
|
||||
/ImageMatrix [columns 0 0 rows neg 0 rows]
|
||||
compression 0 gt
|
||||
{ /DataSource pixel_stream }
|
||||
{
|
||||
/DataSource pixel_stream
|
||||
<<
|
||||
/K -1
|
||||
/Columns columns
|
||||
/Rows rows
|
||||
>> /CCITTFaxDecode filter
|
||||
} ifelse
|
||||
>> image
|
||||
}
|
||||
{
|
||||
%
|
||||
% Parameters:
|
||||
% colormap: red, green, blue color packets.
|
||||
%
|
||||
/colormap colors 3 mul string def
|
||||
currentfile colormap readhexstring pop pop
|
||||
[ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace
|
||||
<<
|
||||
/ImageType 1
|
||||
/Width columns
|
||||
/Height rows
|
||||
/BitsPerComponent 8
|
||||
/Decode [0 255]
|
||||
/ImageMatrix [columns 0 0 rows neg 0 rows]
|
||||
compression 0 gt
|
||||
{ /DataSource pixel_stream }
|
||||
{ /DataSource pixel_stream /RunLengthDecode filter } ifelse
|
||||
>> image
|
||||
} ifelse
|
||||
} bind def
|
||||
|
||||
/DisplayImage
|
||||
{
|
||||
%
|
||||
% Display a DirectClass or PseudoClass image.
|
||||
%
|
||||
% Parameters:
|
||||
% x & y translation.
|
||||
% x & y scale.
|
||||
% label pointsize.
|
||||
% image label.
|
||||
% image columns & rows.
|
||||
% class: 0-DirectClass or 1-PseudoClass.
|
||||
% colorspace: 0-RGB or 1-CMYK.
|
||||
% compression: 0-RunlengthEncodedCompression or 1-NoCompression.
|
||||
% hex color packets.
|
||||
%
|
||||
gsave
|
||||
currentfile buffer readline pop
|
||||
token pop /x exch def
|
||||
token pop /y exch def pop
|
||||
x y translate
|
||||
currentfile buffer readline pop
|
||||
token pop /x exch def
|
||||
token pop /y exch def pop
|
||||
currentfile buffer readline pop
|
||||
token pop /pointsize exch def pop
|
||||
/Helvetica findfont pointsize scalefont setfont
|
||||
x y scale
|
||||
currentfile buffer readline pop
|
||||
token pop /columns exch def
|
||||
token pop /rows exch def pop
|
||||
currentfile buffer readline pop
|
||||
token pop /class exch def pop
|
||||
currentfile buffer readline pop
|
||||
token pop /colorspace exch def pop
|
||||
currentfile buffer readline pop
|
||||
token pop /compression exch def pop
|
||||
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
|
||||
grestore
|
||||
} bind def
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
%%PageBoundingBox: 0 0 611 791
|
||||
userdict begin
|
||||
%%BeginData:
|
||||
DisplayImage
|
||||
0 0
|
||||
612 792
|
||||
12
|
||||
612 792
|
||||
1
|
||||
0
|
||||
0
|
||||
144
|
||||
ffffff
|
||||
787878
|
||||
4b4b4b
|
||||
585858
|
||||
393939
|
||||
474747
|
||||
484848
|
||||
666666
|
||||
bbbbbb
|
||||
8a8a8a
|
||||
414141
|
||||
eeeeee
|
||||
999999
|
||||
333333
|
||||
000000
|
||||
222222
|
||||
555555
|
||||
888888
|
||||
777777
|
||||
444444
|
||||
cccccc
|
||||
aaaaaa
|
||||
111111
|
||||
dddddd
|
||||
303030
|
||||
3b3b3b
|
||||
171717
|
||||
2e2e2e
|
||||
202020
|
||||
707070
|
||||
292929
|
||||
535353
|
||||
7b7b7b
|
||||
252525
|
||||
595959
|
||||
2d2d2d
|
||||
131313
|
||||
080808
|
||||
282828
|
||||
383838
|
||||
686868
|
||||
dfdfdf
|
||||
afafaf
|
||||
767676
|
||||
323232
|
||||
505050
|
||||
cfcfcf
|
||||
050505
|
||||
101010
|
||||
0d0d0d
|
||||
858585
|
||||
7f7f7f
|
||||
5b5b5b
|
||||
5a5a5a
|
||||
181818
|
||||
8f8f8f
|
||||
1e1e1e
|
||||
0e0e0e
|
||||
646464
|
||||
626262
|
||||
404040
|
||||
3e3e3e
|
||||
969696
|
||||
262626
|
||||
7d7d7d
|
||||
0c0c0c
|
||||
949494
|
||||
2a2a2a
|
||||
bfbfbf
|
||||
828282
|
||||
141414
|
||||
434343
|
||||
717171
|
||||
040404
|
||||
b1b1b1
|
||||
4a4a4a
|
||||
161616
|
||||
3f3f3f
|
||||
464646
|
||||
191919
|
||||
272727
|
||||
525252
|
||||
606060
|
||||
070707
|
||||
1f1f1f
|
||||
313131
|
||||
0a0a0a
|
||||
232323
|
||||
0b0b0b
|
||||
1b1b1b
|
||||
0f0f0f
|
||||
010101
|
||||
020202
|
||||
1c1c1c
|
||||
373737
|
||||
6f6f6f
|
||||
6e6e6e
|
||||
4d4d4d
|
||||
848484
|
||||
030303
|
||||
2f2f2f
|
||||
060606
|
||||
151515
|
||||
6d6d6d
|
||||
9f9f9f
|
||||
747474
|
||||
3c3c3c
|
||||
121212
|
||||
242424
|
||||
b3b3b3
|
||||
2c2c2c
|
||||
616161
|
||||
818181
|
||||
090909
|
||||
a7a7a7
|
||||
545454
|
||||
a3a3a3
|
||||
5c5c5c
|
||||
515151
|
||||
353535
|
||||
3a3a3a
|
||||
1a1a1a
|
||||
424242
|
||||
1d1d1d
|
||||
4e4e4e
|
||||
696969
|
||||
a6a6a6
|
||||
363636
|
||||
3d3d3d
|
||||
8e8e8e
|
||||
d1d1d1
|
||||
959595
|
||||
494949
|
||||
797979
|
||||
343434
|
||||
4f4f4f
|
||||
989898
|
||||
838383
|
||||
2b2b2b
|
||||
727272
|
||||
7c7c7c
|
||||
c0c0c0
|
||||
a4a4a4
|
||||
212121
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLo5!<E8n!rrJq!rrMq!rrMr!rrMq!rrMr!rrMq!rrMq!rrMr!rrMq!rrMr!rrM
|
||||
q!rrMr!rrMq!rrMr!rrMq!rrMr!rrMq!rrMr!rrMq!rrMr!rrMq!rrMr!rrMq!rrMr!rrMq!r
|
||||
rMr!rrMq!rrMr!rrMq!rrMr!rrMq!rrMr!rrJp!rrMr!rrMq!rrPM!!*<1o)Jaso)Jarnc/Xq
|
||||
o)Jarnc/Xqo)Jarnc/Xqnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/
|
||||
Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo
|
||||
)Jasnc/Xqo)Jarnc/XspAb:'$jR7@%Kd4Q&I[Ru!=&o%!!!>s!!!;q!!!;r!!!;q!!!;r!!!;
|
||||
q!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!
|
||||
!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!;q!!!;r!!!>r!!!;r!!!;q
|
||||
!!!B$!!EoJ&I8dD!!EuN&e>T7!!*B3o)Jas_uKcC_uKcC_uKcC_uKcC_uKcC_uKcC_uKcC_uK
|
||||
cDdf9@Mp](:"p&G(,irB)d#kJ#r$,cfD#fH]C#fH]C#fH]C#fH]C#fH]C#fH]C#fH]C$.AkS"
|
||||
8)Wt$O7FW%hdb"!=9&'!!!>D!!!;C!!!;C!!!;C!!!;C!!!;C!!!;C!!!;C!!!>S!!!,o!!WZ
|
||||
;(B>6b'&W`j#mc+_JcLB&JcO-t!!Dlo!=fqF!!*H;huEca#_E&.!.k3&!9jI`$g@Wk"8)Wp%L
|
||||
`79!=KCq!!*B3JcLB&JcLB&l2Ui$&*X&o"8)Wu&dK3Q(C(W3!!*B3JcLB&JcLB&l2Ukj&e+%*
|
||||
!!Durp^R9;huEca#_E&.!.k3&!:'Ue(C'pRl2Uedbl@bN#_E&.!.k3&!:'Uf#8[aV%-mln"3g
|
||||
fH#mc+_JcLB&JcP-;"UbkS(_R)>!!!,G!!*B3JcLB&JcLB&lMq)&&JbWX$g[in"8)Wo#Q#"h!
|
||||
!*B3JcLB&JcLB&lMq%m((qAqlMpneo`,"&'\`Tg#mc+_JcLB&JcP'9!Yu:Xl2Uedo`+t-g&M-
|
||||
[#_E&.!.k3&!:'Ue'F+mTl2Uedo`,")'&*Be#mc+_JcLB&JcP*:!"8c+!"8)m!!Dlo!"\r:hu
|
||||
Eca#_E&.!.k3&!71]G"8)Wp%M[Xt!=9$`!.k3&!.k3t!!!,o!!!eg!!*B3JcLB&JcLB&ci=%J
|
||||
o`,")'&*Be#mc+_JcLB&JcO-t!!Dlo!#,5>huEca#_E&.!.k3&!71]G"3gfH#mc+_JcLB&JcO
|
||||
-t!!Dur!='G9!!*?<irB)d#_E&.!.k3&!71]G"8Dj!'GD#d'`J(8#S@LN(ZPJr#mc+_JcLB&J
|
||||
cO-t!!Dop!Yc7\rXJuC&f9L,!=9$`!.k3&!.k3t!!!,N!!jAO%M&sJ!!rp_!.k3&!.k4:!!Eo
|
||||
B#S[m:!!!,N!!j2P!!j&7!!rp_!.k3&!.k4:!!EuL&/,H;!!!,K!!Nu?!!!<2JcLB&JcLB&lMq
|
||||
%r)%HlWlMpnedf9Fa',CKH!=9$`!.k3&!.k4:!!EuS)]T7O!!!,Z!!!]0!!!E*!!*fIqu?a(#
|
||||
_E'Q!!!H('*&I6!;m<,''fMt%dF#o#e9p@&/5*E$ig84#k\0$$O7.O',:EG!Yc+VrW!?4%h9?
|
||||
f!!!B3%Ls-drW!!6%MA[?rXJrE')hn/%LEaJ!!`K6!!!K7rW!!0!!)s-!Y#hDr!i]>JcP'9"9
|
||||
TYQ*YI]<!!Durp^R9;o`,=,&Ind@$P*^W()6`J!"f)=!rr<-#_E'Q!!!Z.%KI.7!!!MS!!!M>
|
||||
!!`lF'EAaG#7U5)"V;+N!"fb@!!3cB%K6>9%gW.O%2&XP%1<.J&,lP1&e,<L!!j&7!"0>M!!!
|
||||
N*!!WZ.%KHJ='E.t6%KHJ=rW!$4%fd)k!9X=c(C^``'b]d3!!Dlo"qh@N!#H(Wo`,=8&e4mA#
|
||||
8."E#8$V0!=9$`!;ZZq')E(<'(l5)%f?;X&I/:A'*&"G&e5H\!"9VY$ig8@&ePcW!##tT&eYZ
|
||||
e!!!EC((:0C'+tcf!<*J=!!N`D'G:WZo)Je$'`J(F&dn[>%hocq!!!K:!!!95!"K_B!"'>H!!
|
||||
!ND()HrN%fQG2'Fb$B%f659'bp]Y!!!KA&c_nA!!!N-!!3W1%Y=]D!!EiA&f25G!!!,o!!*Q8
|
||||
rVus8&+]c'%KHJErVus8%efr(#mc+_q>^L.q@3K<o`4n"0*hOk'FbiY!"KSK&-im[(DdSf!"K
|
||||
DF%KHJ='c.>g$P!.N%i6#m#QP>H$P!.:%^uE?$PO9anc/Y"q>_!>%fchI!!!WB&etcS!"Si*#
|
||||
8@[K#8.":%fHA/%KHM,%Mf<M&c_nA!!!K/%2T!S!!!K/!"0DP!;m<,#_E'D!!Eu@!##b(!!!,
|
||||
o!!!N,!!!N#!!<]2!"Sr-!"S`'!=9)2#QPZm!!3-#')E(<'(l5)%f65-'G_>\!%/6V!#HC`&c
|
||||
_nE&c`CA!"Ju/%KHJ=!!!K/&eY0E&eY0S!!!K/!"QO>#Rh=Y((Llg&f:3@!"Si*":#P>'bC9D
|
||||
"r%X\((:0Qq>^a*&c`XW!!!N-!!<]2!"Sl+%2&X@%KHJ=!!j5<%KHM-%Kd=D!"OS\k5YPg$kh
|
||||
q-!"8]1!$Ck6!=onD!!*?@o)K%+!!!cK!!!fGpAb4##_E'Q!!!Z.%KI.7!!!N+!!3rI&cMb1%
|
||||
fQG/%MJ^M&/"sQ!!!K/!"Ju/%KHJ=!##5?#SI+I!!!K/!"QI<":#>J',:$<!>ZLN!!<l?!#GM
|
||||
C!YbnKrW!'8('#*drW!$6#QPY=%K[=E%fQG2'Ft0D%f?;;'bp]K%KHJ=!!!6=%KHJ=qZ$U+Jc
|
||||
Os6!=KS'!!!,o!!X#E(B=^V'(Z)/%KHJ6%1<OK'))A,#mc+_q>^L.q@3K<o`+t%qZ&2]#RqRM
|
||||
!"K\C&eGHV!!!W;!"Ju/%KHJ=!!!K/!"Ju;#64`:#QP>7!"Ju/%_)KC#7LSF$PO6H!!j,I$NL
|
||||
GC!#6%D!"oML'b(NN!#,kB&.f3L#S-nM&,lP:#8."H!!!B9&c_nAqu?^0rW!<9!!!K/!"0;I!
|
||||
!!N+!!!L\!6P9A"7uQr&J#?^'(Q#-%KHJ:&.THgp&G+"#_E'Q!!!Z.%KI.7!;m<\'+toX#SR1
|
||||
<%LimZ$NLeL%MAaA%KHJ=!!!K/!"Ju/%KHJA%Ls*O!"Ju/%KHJE%CuNF#7LS4&c`:Q'_MG3'F
|
||||
tZ`',1EO&cMbC#S-nJ((Lff'EAgX%Ls-d!!a,8!!3E:!<!B-')hn/%KR4JrW!$1!!!N.!!ElD
|
||||
!!!N+!;m<,'7p51!!!,G!!*B3JcPWI!#PJ;!#Oi!!"R]_!#3!E!#PV7";_%<$O_OdJcPBB!!D
|
||||
urpC?*]!so8>'S6>=!!!L\!.k3&!;um"(C19gbl@bN#_E'/!!!L\!.k3&!;ZZq"3gfH#mc+_q
|
||||
>g:'o`,4)#7_4W'EA.2%Kd=D%Li=:!>Q+?!!!M&!!E]A'+u,R!!*]DrW!*:%0-k<!;m<.&c`F
|
||||
>!<*H8((pTI#S.:C!!a-g!2TYq"8)Wu$O71P'G:f3!!*B3JcPWI!##,.!#"r)#S7FQ!"f_A!"
|
||||
Sl+!=fA6!"'>K!#H(T%MfWV%\`q-&eP*D(D%;R!"0/M#QOi8'EAUC!"Sl+!"So,%1W@<$P3mM
|
||||
!"onE#S.;p!2TYq"8)Wu#7VCX$P3s/!!*B3JcPWI!##,.!#"r)!=fhC!!<iA!"Sl+&e5-S!!!
|
||||
66!"fhD!!j&7%KI1UV>pW0(&S%4'+=I5$4IFF&eY0E%KHJ=qZ$U+qu?^,rW!3<%0-A9%i#T\J
|
||||
cMSH!!Dlo"qDFL%KHkPhuEca#_E'Q!!!Z.!!!Z)!!!N*!;m<4#QP>C$ih"N%f?;2&dJCH$PNo
|
||||
F!!!T-!!*fCoDf.+&e,3K!"Ju/r!ic6!"So,!"Sr-!"Su.!XKPSJcNOc!"7oh!!Dlo"qCV5%K
|
||||
HJ=huEic#m_5s!;lfs')DS.'(l5)%f-/*%f651%LWgJ#8[mL!!a5L&c_nA%2G]>!#,50!=0>1
|
||||
!!3E9#lXf+%KHJ=qZ$U+qu?^,r;Zg-rW!!7((u3!^]4BC%I!ip(C19go`,10&HE:@$k;+p!=9
|
||||
$`!;ZZq')DS.'(l5*()QrM!ttq?%f656%KI.M'*&LB!!a&OrW!!0$kK07!"f#-!>Q%7!!!N-!
|
||||
!<]2!"Sl+!"So,!"Su.#S[dL!"0;R%2FHp_#ONL#7Tbq!!Dlo"r%g^%MKTlhuEca#_E'Q!!!Z
|
||||
.!!!Z)!!j,I$NLGC!!!N+!!s,8&J,QT%KHnKqu?g/!!a.6!!*]<qu?a/$hF>u%fHA0%KHJ=qZ
|
||||
$U+qu@09!!!B9&c_nF&HEL\$\AAr!!<T?!#+Mq!!Din":GqW$k(qm!=9$`!;ZZq')DS.'(l50
|
||||
'FtZ`',1EHr!j&I!"JuF%MSmQ!##2>"TT#4$PjPV!!`lF'`\4A&.J+0!"Sr-!Y,21r!i`@!<!
|
||||
B.'*.t@";1\7&JP-D!>5rq!5edA&dSI[+W;O4lMpnebl@bN#_E'Q!;I1Y!;-<p$kijN(P2XK!
|
||||
!a&J&f;i''GB^3!!Dur!Y,21q@;E`!=9$`!.k3&!.k4:!!FPe,n^aS!!!,G!!*B3JcLB&JcMh
|
||||
O!"@lf!#4Dm"=>?,'dr;I!!Dur!='"b!!<N6#S_jjp](:"JcP9?!=KNl!6Y?C(DGp2";ChA%i
|
||||
=7+"=Oa,&fpB?!uD4K+8>g;%i,o5!!*B3JcPNF!Z)Ugnc/Y"qZ$[3%MA[?!"Sr-!Y,21r!i`?
|
||||
'Dr=?&u,F-#RBl""UbPF%MKQU!!3iE&cMb=#S.C\&c_n>#7_4W'`J(6'Fk`S!<*H/()$THr!i
|
||||
]>O8oFs%20Bf$gI]q&e-9$$P;=u"<@sb!#"St!!Drq!t5qV(Y\oj#mc+_pAb7"'GBs:!"Sl+!
|
||||
YPqOrVup.r;Zp0!!!N)!!!M%!!3]E'_25-&.K!I&J+j@!YPqOrW!?;#QPYM&c`IP$NLbLrW!!
|
||||
4%1W::#S$h7$P3mM!"One":GtV'+=.,%LWj_&-sZq!##_J!!!Q<r;Zj,$h"&u!Y-Rj''fMt"8
|
||||
2]s$PF3eg].?]#_E'O!!F)C!"p+>!!!N+!!WrJ()HrN%fHA0%KHJ=q#CC)UAtB/$k`gC'(l5*
|
||||
%M\mB&eYQP!"TbZ(B=FF$NL/4$igbOrW!9<$NL/;'G_Jb!"Su.";D:F!"One!uDI\'C,W+&/,
|
||||
Wf$P3pa'bh/drY#21!Yc:\oDen+')hk4#S%.)!!!,n!!!Z0%c@<f#mc+_p](F%(B=gUo)Jb#q
|
||||
u?p8%fchI!!)m+!<<,t%KHe6!!!M(!!a;O&e"aO#7U5)!"Si*%MTER#8.":&e>Ti$NL/:q>^a
|
||||
7%fchI!!!N-!!3W1!;m<,#`o#h'Gg``$iU,+(&S%3(&S%4'FXm?()7Gi'*f'b!"o8C'cdqf&e
|
||||
k<G'+5EYo`,41&dSIF&e533!!!,p!!<K?((o=%!=9$`!;QTq(C0p>!>64@!!!N,!!``A!#6"E
|
||||
!"Sr-!tG;2%f$))%\Wk*'*f3^(%VD*%f-/.#8."O&,lP5'G1ll$ige6!!``A!#6"E!"Sr-!tG
|
||||
;2%YF`^((:'@!>?:K!"0/J&c`XZ(C(We$Om"7%1!RH'+bE\!"]hU'G))T!!jAQ&HEIE&eY]<!
|
||||
!!,r!!EZ7%L3Br!!*B3JcPTH!='G?!!*H?oDek$qu?^4r=/lC!"Sr-!tG;2%f$))%\Wk*#6u"
|
||||
Q&b>u'()QrM!ttq?(B"^E'F5-H!!EuO!#?CM!!<l?!#GMC!YbVErW!'8%fcS>K`Dl##7^tN$O
|
||||
@@T&/#?N&dT+"&.fNf'+=[;$P3p_$P+$g&eGE]&bc84'b(Na&M"8#/.NK\!!!,r!!3oH#h]1Y
|
||||
#mc+_q>^O4#Q+Q&&f:3@!"Sr-!>Q.E!!<H=!"Sr-!tG;2%f$))%\`q,#R:bG&ead9#S7OT!!j
|
||||
)8'bC9D&dK$a%1<.9'Fb$R&.8ID%fd=TrW!<2&c`CA!"05K!!!L`!#?@Y%gNU]!!!Z;%MSmC&
|
||||
/5^.'J9ps(]"+C$P3:<$NLV9$k*gM!#,e@$iL&4$PNdc/K?,a&hb6g!!!,r!!!Y`!!<N6#S_j
|
||||
jqu?a&#Q#,6#PA)q%K[:K&cMb4#S-nFr;Zm/!!)p,!#,>3!"P_'!>-.I!!*ZJoDf.2%h9'_'E
|
||||
A@MrW!Q:%fd4X%Ls-d!#,qR%MKNV#8-q8!XK;:r=/f?rW)j+!#(:k'akQQ%hK6O&HE%R()Ibe
|
||||
$Q^K.!X8r$!!<fF&.AI;&eG9J&/"sN$OdXJ)uqT"0JO%VlMq#'#RDNs!!*B3JcLB&JcMeN(D-
|
||||
l^1+`k>'Fbd5%hT'['`\:k#TF`t#k@rr'+"R;'+tQ_1_C95&dJCJ#6P5F+><m-2<Y#?"3gfH#
|
||||
mc+_JcLB&WW3kJ%hT6e!"9VV%Q4V22\-iR)`Thg&/,<^mJmn5#SA!`'fls>'c.Jq#80*V%LsT
|
||||
E!!!,G!!*B3JcPKE!#L4eh>e&o#8RdY'`\4>%h9?f!!!N)!!!N)!!!:V!;c`u$PjKhrW!NC'+
|
||||
[2**<\MV-Ti/.%MfHf%IO30$PO'f#7qL_(C'p?!X9Z0*^:,?kPtSbbl@bN#_E'N!!3rI(\.P/
|
||||
%KHJ=#lXf+%KHJ=r;[07!!!B3%Ls-d!"One&.9-[$NLGJ#QPA@!#H(W!"Sf)!"Sf)!"OS\qZ%
|
||||
QM$k![U!!!H?%6t.0.mXY-&J,-T'fca;(*,4#!"ot^!"9PL'+bNO!!`K(-9`de"6]^b"3gfH#
|
||||
mc+_pAb7+#S?P,":bD3%MSgA!tG;2%fHA7%KHJ?%1<.J%fd)t!!*]@r;[01#QP>B!!!95!"Sr
|
||||
-$O[1L#7^_6&e5Zh!<*H2!"obW&Wctm'^Yl7'EA+I&dp$&6:2+\6i[3>%Lj$Z'C>c)'c-iU'`
|
||||
\4mr=T/H&e=()!!CIG!=9$`!;HNs&J5!T&b>u1%KHJ=&eY0E%KHJ=r;Zs1!!!KCrW!!4$P&'p
|
||||
!#GA1#8.O['ak!A%fHA@#6tVB%KI+N$O[FE!"JuA%1<ORO8o7dk5YVs&J>c`r;[*/'+m5?/.N
|
||||
:,qu?^5p&G+,#Q4W($k3UC!!*`Ck5YJabl@bN#_E'P!!*lIrVus1(\@\8%KHJ=!"B_E%KHJ=r
|
||||
;Zp0!!!N+!!!M6!!!;b&c`@;!!Ec>!!!Z2%L<%7'G1ll$ige9!!F&F!!!N.!!NW:%KHJ=rW!!
|
||||
*$kA[*!#5;1"VVP3',)#I!!+Jar;Zp2&c`49!"K\C'L`L$""Fra$O?_4#kn<$$k*@WrW!!)#S
|
||||
R(9!>>q*!!!,G!!*B3JcPTH!>Q7H!!*]IoDf7/!!!K/#SR1J!!!N-!!<]2!"Sl+!"Q76!#"<%
|
||||
!#,50!=]\?!!<T=#Rp\4!u)LN%fHA@%LW7:%KHnH&e#6M!"Ju;%2''ZS,`a$#RC_B#T*I?r!i
|
||||
]?qZ$U(q#CO'!!iZ<r;Zp-!!!<%!!!]1%L+XX)]]J(#kn<+'*&gR#Rh+I!"]P;!!*iKk5YJab
|
||||
l@hP#m_5s!;ZZu&/5*Y&G#l0%KHJ=!!!6=%KHJ=r;Zs1!!!cNrW!!5#S)am&-raX$NLtS%M]E
|
||||
\!!!]B!"Sr-',(TY#S$hE(B=FF!!!K/%Mo*F%\*M!#lG/4')hn/%KI1A!!=#;(D6QF!!rK4!t
|
||||
%(['`J(9#REU"#Sd7<!#,8?""-Z4$2b8L&c_nD$NL/8&dSaV9+qa?#Qk\U$PX'`l2Uo&#RDNs
|
||||
!!*B3JcPQG":GkC'+=C3)@c`I%KHJ:%h8R>%ho!D&J"jA&.f3L#S-nFM?".m&.T0`'b^Q[((L
|
||||
ff'EAXA!#-+\%Lj'O&f(rd%1iLT%2'Ed%1Nl>!!!<&%Kd=D!#5>@#87(;$O6Y?'Dqh1#l+r1'
|
||||
E/"0%KI1A!!!]1%Kd/6/PZ-Q#8."E%2&X@'`J@H#q.`'#RF0V0HNCf''B5p"3gfH#mc+_pAb7
|
||||
0%i+X8!tG;2%fQG@&Ind@'FbN^&/5*E'FtZ`',1HF%KI/o!:Bgh(B=FLqu?^5SH&Wqr!ifA!!
|
||||
!<&%LG5t#SInI:D43MrVup(q$mB<rW)j+!#,>3!#,8?!ru.k7f3`$&c`OM&.90[rW!-6$NLh?
|
||||
'L2L*!#=Ys!!CIG!=9$`!;6Bm%"\J2!71]G#lG/7&c_n;r!iu`!"oeI3&qK^r;Zg'q$mK?'GL
|
||||
rQ%KmFF$O[XG%KfR+;cNZ)(KEC*!!j31&c`V2%2'9e#8Re'(-OVe#j20f"3gfH#mc+_JcLB&_
|
||||
uKcCr!j;O!!!91&h48#!!!fN%P8;%&H)S/#l+r4'+5Hcr!j0#&JGie&e\)?<Xp3+;u7%2<tYc
|
||||
i=BQP=,nU"T#R:hj'G:Wc'as1)!!CIG!=9$`!.k3&!5njA(D7?Y&eYKJ%LZ<1'EALL'c0aJ$Q
|
||||
&aA!u)C^>5Sj3//LGG%Mi8R>q$0j&IB3_%h;nX8O5pQ%Lt,t#l>)A0G5'6%lRBG&HEIb&eYH5
|
||||
!!!,G!!*B3JcLB&JcNUe!!rQ(r!j,h;EeGq#RChO&lK>Tr;\2W'K]_X,82d@&n3CH,7ZA:>@S
|
||||
.&%8eM`().Gm2?5^80+LPn%Nc)V%LY6+8eVYE%RCp?'GCBF!#"Jq!!CIG!=9$`!.k3&!5SX;(
|
||||
B=FMr!ia53W'?e1&MLh!"oYJ+?2>=57V7:r!ioa8Ie=)BK?#$%iT-^5!KMi:(@a\+&i_9CA\P
|
||||
P+V"\l(2FBi&d8LQ'GVDskPtSbbl@bN#_E&.!.k3d!!3cG2Z+$b0Dc4Z0`2D/&l;%;=B>tAAn
|
||||
=8"AQfTHCh4)M2Jig89I37D-r1LR7Rdjt:C.OXC\\GN3"@Z@&JbjL+ZM.d4=UmEkPtSbbl@bN
|
||||
#_E&.!.k3d!!3?;&,Zn<9NM'$!,h]E-iaGs%ODSp@r$!9%S.Te!$)>a.KT\b3"cL')AYO^%Lm
|
||||
.i)&*'9,@1*T%khp.(Df(d5Qi_f8NROt-KkF0"3gfH#mc+_JcLB&`W5uN$jJ'l-P$h"5tj:AC
|
||||
a&]d!%e$X#81?I%V%j.>5f!C'*&XX!"oPD#RLb:&eYI.8bro#&-s'm;cET(&fG^m%T<ii'Fme
|
||||
=<XoQu&HDeBkPtSbbl@hP#m_5s!.k3&!6tQE#Q58H!"o83&eY0W5o_1l9c.tH(AnXB62V347S
|
||||
+(;5r]K)*YWZD&gmbe!td!g#m^MD&f2Aq,lA,S5:e8hq$n$";ALU&%X2_!&f235$[=$)&/FL2
|
||||
!uD4K+3acd#mc+_JcLB&bQ%VUrW!$5!"o;2&fgseGnM'"@2O<4GBk*RG:,RU@h&uR%LuSR<X&
|
||||
O4rXoeJ!#GnH8-9k7!u(_K-Nb5!"8iW2"*c^2p^Riq0RH.s=sOS0&j0%l#<ik=k5YJabl@bN#
|
||||
_E&.!.k4!!<!0O(B>'J!#$^m-W1I'&c`RX&fi;rHs-W#-"LO+IQ&o+G@b"h8K7p^%.jN"(]>!
|
||||
G#QXo<r!ic16P'#'&7[@J8MM21>@TAt:Hps>&d[Ou!!CIG!=9$`!.k3&!7CiI#Q=uU&c`OE#S
|
||||
IaM-OqI5,TT!s%96=]0iNB?8S/r6CIq`6%RFAc3!U,d!!`c<!!!91!##2>!sfMe/Gfne6VnkM
|
||||
Gs")s%S9k7%58FS!!!,G!!*B3JcLB&JcO4!%h\jJ#:C-(-Nb_$!!"nf&,lPE(ar[?H9XG,!!j
|
||||
&E=:PfX,ro!Q"""]Y!!*Z>pAba9'*&"<&I:p56#K^?'Kf8ar!irlIX=:5<e+6K%KR(Fi;`i[b
|
||||
l@bN#_E&.!.k4!!"T\B#RD%O'-'+S',1fo*YA;e'aF^E-P$su$kamO%V%1rEB=SO/Ir6d!!3N
|
||||
;')2GJ#SIOS!"0''")^F3"pY,:-QPPV#m*I9G=F-!<!+':%KQtLi;`i[bl@bN#_E&.!.k4%!!
|
||||
!`4&d9Ws#RD%Ur!j2=-kd7Q$PNRH&eZl+JQMg\$9SPe&Re-o!"0DIq>^U1#S7C>!"BJI!##>K
|
||||
&/>I%4p_8mrXoY?&c`1;&c`OV%j_Pb2Z+$c!#OSo!!CIG!=9$`!.k3&!8.>V#SIaP!uCt9!s&
|
||||
Z?r!jYO!##>G#SI[K'GV5^%LsjA#64`Q&J>b/$ka<P!!O#D&-)tKq>^p0%2'9e8/W$?!#H7RqZ
|
||||
%$;!!iQ;!"onP$T\P,r!qTa!!CIG!=9$`!.k3&!8.>\&c_n;#m^M:#S[ma-i=G[#Rh+A$k4X6
|
||||
!rWT<>u_@M*<6'I$NLkO>q>dP#7M7M&dSaP$haQ*&01fP!!j2FqZ$g/&d&aO!##82!XK&Fr!q
|
||||
Ta!!CIG!=9$`!.k3&!8.>X&c_n;#m^M:#lXf("8iWI#nIX]"#)*+%M1Z5!!!3`,!6ST'1rfN&
|
||||
Jl#U!!3f6?Mt-0$hjW+#SILl&ePcbp](:"rVup(r=T;N'F6s!#RK;f!!CIG!=9$`!8RVW(B=F
|
||||
OJcLB&#nd4<#Qb)@#7)"=%KLJI!#@YA%OGXX&ek<\?3:RA0GY6P&ePZ\')V_4$k*+E%.aH&&.
|
||||
8IN4p^ER!>c$t!!!,G!!*B3JcOX-":GkC$O;7`K`DAa&eZPoF9iHarVup3r!j__!#I0d!#.-t
|
||||
-SR\=IX*Dq)[cXZ()@-6!"BPM$iBu)&,m1A&,lP3'`\4K(]476(D-NX_Z0Z=bl@bN#_E'6!!i
|
||||
u<%QkR<$kb"@!/ggb$ka1#&c`^S#m^eErVup3oaV]P/Ir<r%8pqo4]27f'+kg=/J/Qp'_DA/$
|
||||
P*XG'*l#I!!CIG!=9$`!8db^&J#IZ0bFj2&:sn?!!j2;!"onE!!il0!!<o8!#,8?!(6Yo'3AL
|
||||
H'`nRL,6eVn&c`:R$O[b#'Cc&,&dT-Z$jRTZ!!!,G!!*B3JcOX-$5O.7()BOX%La$fJcLf2#S
|
||||
I+;&eY0E#RLD0!sel,'Dr=?<r<F8$"si$D,:iMFU\iql2V%s&-*+[!#GmN!!!,G!!<N6#S_jj
|
||||
iW'?##Rh(m2[]g"&f)+3!0$sb&c_nE!sf/E#S[+G"VMId>uO]!%L`G;3BnR5#RF`B'b^uL!!<
|
||||
T@&e+R9#ndLD$lfNY'1*)@!!=#C#Tq:k!=9$`!9!nY'GC6B!YZ%SJcL`0":#PP-nP?'!=KS=%
|
||||
L*UI#9b&s-Mn8UCE*fn)"7M0#7(;AB+YsX!!s5M&lJgR#RDXf])Vg5bl@bN#_E':!!NW:',D2
|
||||
mr;Zs:&/Plo_#OQM&.fP-!6>-?'Dr=P'.t+3,n(2g?!(AX9GTJu$pF@c!>H7F!!a/;!"rTD&.
|
||||
%t0!t5SL$bQH>"3gfH#mc+_j8]B#&ePWZ'+=a=!"8c+!"6XD";(n>$Oq[fe,TI^rXo29rVup7
|
||||
rVup3r!j<$AI]AH$NOK_5m)0@Kin]p/bf;H'+k$@#87(;9+V(2&G?)+'*&:N]Dqp6bl@bN#_E
|
||||
'<!!X#K(/bVQ'"@oA&H2Y0'(Q#'$OD=ajT#8nrW!3:!#$"`',(ulq[O-A/KGcC#VcfK0R4$+$
|
||||
PaBN!!<iK#SR%8#o"$c)A`A]'+tTH!!NcD#RCkI]`8$7bl@bN#_E'<!!X#N#@0^t'"@oE$k*+
|
||||
D'Cu2,'aG?b'S6>M!<*T7-P?CZ&chh>&j-dE**QSW-PCM5+:fGj@q-$"o`,.1$P<sc')DS6$P
|
||||
=!d%8mHE')DS.'`A:;$bZN?"3gfH#mc+_jT#B!((V%b!!<iH#8Hb0";:b8$O;7`l2V)&!!!WE
|
||||
!!!W3r!j?B#TZ#;8K).f?4\.p%T$Xg0c0N`"UbtK!"]h<!!3i?,5qQB&?l-7"3gfH#mc+_jT#
|
||||
Ak'EAc]!!3rB$g%Eh&H2Y0#D)s@!!Eo7!!anN&c_q0%MD'^5n45;5u;,N'+Q/p:_OI>2td4T#
|
||||
8[se(DQNB!!iK'!!f_.!!CIG!=9$`!20Aq$kO!^'^u))$kj0bqu?j4&Jl&lJcP'9!##82!##5
|
||||
1r!j?<%OHmdH#["i;bpMP$rSGQ!#P>/!tkkP#kJ$!#S7CU(%M>+&J>ep!!!,G!!*B3JcOs6!>
|
||||
cI)!!3rB(Zk]#&-)\<#Oqct'F+U<&Jb3D!Xo\VJcP$8!!iK9!!iH&q$mcl.mH$(>$;@[#7qO=
|
||||
!!3N;'(Gr'(C1iJ!!EiJ(C(5`!!!,G!!*B3JcOs6!>,t"!!E]A'bD)B!!!T0!!NT-!#6+Tp&G7
|
||||
%'`\4>&qU,:!!<K8&deIG#pg+>%l#=N%O`.^!!*cAhuEog&c_n>#K$NA"3gfH#mc+_kl:l'&e
|
||||
>Kb#i5Oa'*&"?&G#l(&-ijWrW!HC#R^V4&ePBS'`\gY$P=$G!!N`D$NLDJJcOI(!sfSH.f9b^
|
||||
3=m/Q-O)[t;T\tB#64`?'#O\L"3gfH#mc+_kPt\t%hKBD!!!Dp!!!T0!!!T+!#PtS&ISRI$ig
|
||||
84(B>'\'b_A`!!j2C!"0&2!!!T(!!<oH&.!jfirB2e&h"A*qZ$^`!!!i5%LH/H1B7Cl*=!$eb
|
||||
5_YW#8.[X_Z0Z=bl@bN#_E'?!!<W?%h\=3!='#$!%ANm#R;(E$O7:U$NLnH$O@:D&ek<G-NXM
|
||||
o!!"H1&dSI;#S7VS/cYkbJcO:#";1\?!##82"r@mm0a87Ar!j$J$P<@T&c_nG'(Q#'$l%Fr!>
|
||||
c$X!!!,G!!*B3JcP!7!t5PF%.aH&(DIAm#Scb.$O@@Z!!!6<!#,Y<&H2YI&dnsM!(nR<$To.(
|
||||
49Grr#QPM<!(pN0&/Bcsf)Yd_#U^#d!"p(J!-J)J%OW)_6Ou]n#8@jb!!!]Go)Jh.&/1H3!!C
|
||||
IG!=9$`!7h,R#Sn$g#7Kht!##82(_Zl^(B=FG&dJLM!^Zke!ebY8'EALR!"f,0!>>`j!7_&W&
|
||||
c_nE&dSIX:E:'Vr!j5W(D72g;A0KJ!!!Q=#SS$G!!<cK$k\p.!!CIG!=9$`!7_&O&f)5jl2Vq
|
||||
3'EALG!"0>N%<VXN&ek]e$O[2+1J7]J#S@%A#QPJGJcO:##SI+;'.3kp(^BdG%NPNS%3bul((
|
||||
qD`!#6(Rnc/b('bV5I!!F#L&do)S!!!,G!!*B3JcO=$";;I^$l&"-*t&\d#A=Y]$PX3Z!!!E5
|
||||
!#H7\'EA+A&/#N^!"0AD%/9f)'G;#pJcO^/!##82";1tJ&/+dK#Yc$<2ZO[m&JFL3";_%<&/+
|
||||
=0#8IID6lH[C%(6-9"3gfH#mc+_l2Ueum/R:t!!!B<$g@X!'aF^Q'*&gR$Ps?^p](:%nc/h0&
|
||||
.8jZ$\AB;!!!]3&d/FF&dT-G%LG#u"qXFc(Ddc%n,NS!%i#'PlMq.p!!!W[(B>#T!!!,G!!*B
|
||||
3JcP'9!>6.6!!ro>%M06e!!!]Lmf3=mrW!-8(B>-^&f9^2"VM(@!"9-b!8db\$kj::+WMa(%L
|
||||
6'<%V@g'!"eJs!tZ.X$gI]s&JP3V#64`:[K$:0bl@hP#m_5s!:Bgj'G;/p$jc8$#8[g^%M\sO
|
||||
'E/XD!!3QA(\Rh3&JP3F#N5Xd'bLEG&eoothZ*Whr!i]/r!j);%r)Oj2ZNg^9bS--!!<lB&d[
|
||||
bD(U"?d+u&@hcC(C19gbl@bN#_E'C!!EZ@#7hF5!"]AG%LW7K'`\4H(B=[K#S7^E!!EZ@&
|
||||
eGK0!<*3'&V:#>!!!Z0%MEji3"@*25n8,F'g)jl)uosO'^u)(#S7X1!!<K>&IZ#I!!CIG!=9$
|
||||
`!:'Ue&e>Hgm/R_+&c`US!"p(J!"otR&c_n>')V_2$k`ht!4W"/(]=sI#X&"p&dU#u?As.a57
|
||||
n/$&J>a@!!!9:mf3A#$^Lbm"3gfH#mc+_lMq#"!#,k*!#65@',Lp*&1mq`!0&<:$ig8?&JPHb
|
||||
huEif&.fZU!!<rI&/9]rk5YMg#lXf)"u,rb&dU]3FE@R=',2&b!!!fH!!!QHb5__]&.h#:&.$
|
||||
#N!!CIG!=9$`!7(WX(FN'J&h>OA!%'*&HS,:2'`\gE!!!Sh!!F#L!"0J=!"&u:!"0GJ!!!TD'
|
||||
S6>P!!*?2rVus=./XPe8.H74$jRE*-PI%('EACM&/F^8!!q?[#RD%C/fG)t#8b/U!!CIG!=9$
|
||||
`!71]^FBoOj)EnEA!!!:;4rjV'$PEFQ!!!B3i;`ijrVus3'`J(?&ek<G&I8@A$l9-SJcP<@)@
|
||||
-rg!s9>>$jH\:(C1!K;d'P/(Fg%RG7R_sli7(p%2.Is#SIgO#V?;^#SFiP!!CIG!=9$`!8dbZ
|
||||
'GD)m$iBuE&dJt##Z:a6(-2O0#64`:'EA[E!"9G>$jR@X']B#p&I8@:&H)S:$kWI>&/P]e!!!
|
||||
B3JcP<@)\N,N#W`7t56D0"#7(\c%S[?E#8e8"2@UEr([V2)&/5ZihuF*!#7W]o'FtQO&er+]!
|
||||
!CIG!=9$`!8dbu'*&"K#64`?#Vltl6mNKOM?b[s*Y;1T&/"sC'bD#krW!!9#RfMi!s]JQ(&S%
|
||||
=&eG]b!!!Q1!#H9"!:^$p&c_n>#mi'fFT)OVF9N.M%PTjX(B>(c!"2X0m/R5%$PEa(!"&u:!"
|
||||
1,H'6Os"'#+DH"3gfH#mc+_m/R.m$hXK"'E.tG&-*FV#S.XM#9=0[9G/@A&.]KU$c;rI$jRCY
|
||||
(P2YW!!!Z2!!*?2rW!Q:!!l@A%QRfX%N[5&#[IE<'+=1-!Yc(VhuEon#QOi5#eC!9"3gfH#mc
|
||||
+_m/R/"%.sT;&ek<S&c`.:!"f84#<Vtd#8@se%1a0g%)MuF(C5Tmmf3>#rWiQ;#SR%F%OMZ=%
|
||||
V6V+C-O*X#7q+VlMpqo$fD!g#S@%:&/VnX!!CIG!=9$`!:Kmm#S7FS/-Z^pq#CU,&ebZR!!iK
|
||||
'&1.r_'*o0_!!!W3(J#)N'F99jYQ+Y>r<NE3')W4H<`U;<CbR7I3X?,2!!<iF&/D_U!!CIG!=
|
||||
9$`!:Bgk#7t0($PX0D!!sAF#SIOG!#H4^qu?m:'+GKd#_E&V!!!Z/%L*n;"$K*h'7p5U!!!,G
|
||||
!!*B3JcP9?%MAaH&26EN!"otG$PF'ep](@0&et!=!sfAH%"\JY!!"GF%L?2^#66AY;B.=Q!!!
|
||||
gr!!!,G!!*B3JcP9?%hApS!&KN5!!`l3',1EO#lO`+'G:r^$hF?#&e#K[JcMbM!!E-/#[gO9!
|
||||
)cYo'N4/q!Z)@]O8o7_bl@bN#_E'I!"fVM&/Gon$P3pU$ih(V!!!B>r;Zs6$NLGFo)Jk#!!!C
|
||||
Y!3uS@#R:tT#7(qU'71uY8Rm$D'2f)H$ig8?kl:br(D)Z.!!CIG!=9$`!:^$k#7VFVrVup7r;
|
||||
Zs3!!!9:r;Zg&rVup3mf3@r&qU+j!!W]7!!!92)>amN+:SenF;7Xe!#,\'!!F)L!"]s/!!!,G
|
||||
!!*B3JcP<@!t>YP'_q_<$kO$_2\?i+!"]M<'bTm7!>Q'W!!Eu@'+t\)!;um%#RCD1#YeV&%LX
|
||||
9b#7Un<!"0DP#7Kbr!YGtVO8o7_bl@bN#_E'I!!EZG!!!`,!!s2F#SS!S(C(Qcmf3J(%MK<b^
|
||||
AnBA$NLkGJcGcNrXoD;!XJc4"'tg7"W\3`$k*d.!!!Xm!!!,G!!*B3JcOg2"V_RL!#H:5!!=#
|
||||
I%hcSV!#,>3!"a_^$31\=!#,M;&gg!ar!if[$Od;m!:0[c"3gfH#mc+_irB6!&c_n;'']H!#R
|
||||
:bL^&S9I(B>0_JcGfO')hn1#QbPCDYstH6W8CHJcP-;!!CIG!=9$`!9*t]#8.FY$gI]o(B=FO
|
||||
^&S6C#8.Z$!!3-#')hk4#RD7F#RM@Y94JH1//AX+kPt\j!!!:`!!!,G!!*B3JcP<@!Xf8JqZ$
|
||||
^+&eZ#[!!3i?$\AAK!!!H+&c`XE!"&uA!eqa!Ae$1>$g@Wp'b(rk%i:3*!!CIG!=9$`!;HO$'
|
||||
G(K_'EAg\'aG?L!!N`A'GM2ghZ*WaJcN"T$9/eR="+P*@j;g*l2V"r&.;,B(D)Q+!!CIG!=9$
|
||||
`!;HO$#7CM>#64u:!!!]2!!O)P!!!95huEco&qU+n!!*<1qu@*`%T3oeB*_cT!"ok.!!X,K$X
|
||||
Oh]&<-Yi"3gfH#mc+_p](:,rW!L(&fW8"!"T;J&HE(K!!!EBqZ$U(kPtc#&e,*P$crAO$kO$_
|
||||
$\ABS!!3rJ&H)S;$PjX#((iJ<'*&"K''TB"&ebN`',6E+!!CIG!=9$`!;HO)&etBQ(dn[W#Z1
|
||||
d+!!a;?rXo29qZ$['%h%V%";;:N%2Hqa":"o,#SDXgr;cd/"!2Os#lXf4*=bUR%M9'K$kO$b(
|
||||
[(i$&HDe>MuWh[bl@bN#_E'N!"feV?2tNQ-k\*G!!!W;!!!fLqZ$jA4@g>%(B>9=!!=#Q()"[
|
||||
g!>cCJ!!!X`!;um4&c_nJ!XK/F!!"2Q>pg=!',1EH$OD=ali7"fbl@bN#_E'P!!!E+!"/mA%M
|
||||
0rm'F,!^&.A44%uqV@,r[C\$l8mD'`\4H$hXK%$k`gW`rH5U(B=[TJcP`L&J>'D#6Fu?%1!P>
|
||||
%R=;l(CM%2!9aC_"3gfH#mc+_qZ%3:&/#N^'J:XYAT[tQ#R:tY$i9o;(Dd&f2dHo"CIqB_%ho
|
||||
fh&dS^Rr;Zg*q>^U*!!!DI!!<TA&/Bcsqu?^0rW!92#QOi5"V*O'&I@@r!#L@i!!CIG!=9$`!
|
||||
;lg)'GCHH(D7/W#@.iJqZ$X.(&\+I&KEo$&mc"oDD3a_98sKU(D:$S&f(BG!>$"E!!*?=JcNI
|
||||
a";D,*#m:/>$PrdC'-%Jl0MF&'''0)o&eg!"!!CIG!=9$`!<)s-'bD!`(B=jj%L5*K'b(!?-l
|
||||
!@.$NL/N/HZt2%Ql0K"cj[>AeGOt(D9U['+4d?'bV/f!!!B?&eY'B!"4AY_uKcCr!i]>r;[05
|
||||
1(J:d,<,Z2&Idh&!u):]&r-Ge"3gfH#mc+_%2BNf)uot:!WW<g#8RU@!#l@I$o7k`2dS1D0Fe
|
||||
[&!#H4bN>Q4D8duC@%2JjB#n6kC&HDe>$igt?!!3rG$blZB#RcLi!!rK4!##51$53XSC.a%/N
|
||||
=cs>k5YSm$k!`(!!!,Z!!!]0!!!E#!!*B3MZ<ho&-j$N!"K]2&-)\L$igYY&etid&,6,6#SKc
|
||||
m'bq]A%V?.P*#/AP&I90X0F\^2!!!f8!!jAH&eGHM!!3]E(&e17&/>ho!!EuL&eGe9!!!<&%K
|
||||
I.@!"0'0%NG]U2\7nZ&f'U1";ChI#8`-q!!D3\$4@FU!!!B;%Ls6gpAb4##`Ja"#R:>G'*&"D
|
||||
&d'K]!$VUT&etB\$ig\Pq>_!5!"oQ*%hDMm4F].>/IVLW":P\O$kiI<"UbtT!"oS9!!*cFrW!
|
||||
'8&dSpS_>j]M$NL/?MZ<__r!i]>r;[0<%ZUc)**PoR,SB8@";2.O(CZ#u!!D3\$5X<b!!!6:!
|
||||
"0#CpAb4##`J`p&dn[>&el&h!!"/l!"q+$(&%\?#8[@?'aG@D*"EH1(DdGm&/Y6E!"8c+!#PP
|
||||
5!s]MP&bQ,*;B$7b!!!9'!!!Rg!!!<&%KI.@!"',E&c`LQ%qcXg&a98t'G(N_KE(uShuEih!!
|
||||
!f6!!*lGpAb4#$2k,0(Qe\,&I\X>&.8mP!!!T4#8-V/!Yl=ZrW!<7(-H=N)]9"`!#H(6!!<i>
|
||||
&f(*?"UlDP&ePMh!!ElH$P=#0!#-+\',_Gs$ig88(*l!U4:i/2#7M70!!<rJ$P80q!"8]1!$C
|
||||
,!!tG;2%fHA-%efr(#mcFh$4mFU$igYK'F56Xo)K45!!<H?8gY$%,=Fp5(\@_,$ip_IrVus1&
|
||||
H)S0'bU<C";DUa%1BuP!Yl=VLB%;[r;[62%h9EV!%elb63%!"kPtYh&/U!"!!D-Z#S$h7()-`
|
||||
K(D$6?!=9$c!!=#M&e"F6!!rN'$ka9g2[<Yq&e%VM&d\%.!s]8K'`J(5'FXm?!t,YF(]478$P
|
||||
j0bJcNLb#SAg%"9Jr2#SlA"!=K<g!!!,Z!!j&7!!`r@$O7==!!*B3QN.'q&e+F5!t,_S(\Ib0
|
||||
#S.4?!"0/FF:pT1*>\\j*>7oC#7(qP2?jQt')V_3&el,nrW!-.&dSaC$k*%7!>>k>!!*Z>JcO
|
||||
'r$kWI>$PG6*65W)u#8_sliW&r\huEul!!!B<%Mf]N!!*B3QiIF*&Jl#l!!!f@'`7q7$PO3g'
|
||||
+=O7%1<gW&.8IQ$SDEV+V,"[!!!Dt!!`lF&-k?-#7LG0#o!p`#QOi4'+tTL!!EZ0&eP]S!!3E
|
||||
;&qU,0!"B_T$igo*2ARo7',(E]JcOd1!!CIG!so8>'Uf"%&H2Y6&-*CU'aG?L!!O)P!!!`Bp]
|
||||
(g;$PNLO$NLkS&g2F@.#SK$!!`cD#REO&%1N+6!>6%E!!<fA!#,;2$O7%N!!a2<!##_Q#_E'+
|
||||
!<!03;&9lR&5*KQ#;Q_t%"\K?!!=#C#Tq:k!=9%!!"&r=!"0#3#7CM3'E%n7#S@%:$jcY/%ho
|
||||
HQ'b(lX'0Zs;%1O!`&aB?!$O7:L%/Kr($iU,7$PO*a!!!]F:D<nE&H2Y3&/5ZlJcO:#&I/RIF
|
||||
;Oud"pfD_8f&lk((qF8!;HNo''oSu"3gfH#mcmu$PX-b&/5*U$NL/<$iL)(');M<',D,g#<)V
|
||||
p&ebZ_'.FS+kl:qo$O@+r$O[dG!!*fJrW!--<]45>%2]!D!XfMNJcO7"&/"sC#6kG`0GR&K&e
|
||||
nVL#7'Gm!>#O$!!3E8%.+#p"3gfH#mcgs!!rQ(#7(kH&LJ+q&cMb2(DliH!t,SP&H2Y8'*'k3
|
||||
&ekub(Zk]$'GD2n'+=F4!uDG$?2=O$(P2Y;!<*TC-P?Cb!sftaC(=eb3/\Rh'c6-8!u2F[$^C
|
||||
\n&.90=!!!,G!!*B3OT5V&&SDgY!!a>4!!<oK&ek6E!YGhPrVup+j8]Dm&Jd'6(B>9F!!>P).
|
||||
N7mY"V_4J#m^fg!9!nh&c_nE&c_n['iG_Y%OV_s($5K"%fd"H$O`=%":,V?$k2P(!!CIG!=9$
|
||||
m!!NuO!!!W;o`,.3'FOmT$iU,,',9@)#R_4[3?&SF'+=O7"UbnO6jj_%!!!]1%Y=]>!"onE!"
|
||||
pXl!t>M`2&75Q;A9dX($GW$'bV&c&.k3/!#,>E!"\Jt!!CIG!so8>'Ti@u'F,!^'D)8,#64`3
|
||||
f`26k',<;H%M'<H!!<K,!#,#*!#,8?JcOa0&eYlk'G:cb$NLP\%O+de!#H7Qk5YYs#Sdsb'nc
|
||||
Ph(C19gbl@bN#`\le#SIaXp&GO9&JbX9(^pcX.Neus&`E`h$Nhh.%T`K;pAbC4&e5-T64<Vi!
|
||||
>cFI%Y=]>!"]>^!uM[\&.8IM%L*1='GM>^%fd%$!!<i>'F03i!<<5H!!*B3JcPcM%2'Eg('G%
|
||||
D'*gX+&-iX#!!<oK&mkJGpAbC3((qC)',(-A!>?IN%Y=]>!!!9'!"TnO+:p^H>mgW4&f28u()
|
||||
>s3!t,bU$\A?Z!!CIG!=9$s!!<TA','^5$l0<d&HGcA%S[-;%2.Lt!t,JQ'Dr@6!!WlC%hKNi
|
||||
#lFZ(&euDa%Y=]>!##nD!"4,R',M/hNX-=N0G"Fd&JF1*!=0El!!3-#"3gfH#mcdr":#24'b^
|
||||
!9"r.aY&1nMNrY#B3%20H1!!!]1%efr.'FXsM9b\-Qqu?s8(Nfop-k[/E!9!nk'bCWt5QD48%
|
||||
Pnb02]`2>B)hoJJcOa0!!CIG!=9%-!!<TA&I\R<!Xo\Iqu?^.rVup2n,Nn*!"/cZ&/#ZcB0?Y
|
||||
2&DI0b'Dr@3!!3N;')_e;'c.Yt&-)\9!!!ge!9!nZ(C3\5&d]'Y/eSX'-P$\'JcOX-!!CIG!=9
|
||||
%.!"0/J'GV8h!"o\S#8R1;";2(B$O?,#!Yc.Qd/XFb4;/TC4;SA>o`+str;[35'+b-P(B=gZ!
|
||||
#5rp!8IP](CgZM$k3kJ!#,in!8[\U"3gfJ#mgkO`;fuV&eYT8!#,hI!!!E5!"],1#SmXV$NLk
|
||||
S#87pH!!*lDr;[$5'g)I%'G8jq#T"-hBO*A+',:*>!"Af+!s]MT')hk7&.f3_'bZ)uhZ*ul&i
|
||||
:(5#Rh+L'+9BlhZ*`p#RDNs!!*B3_uKrW',1]c$g7R#'at'B&dSIN!!!i@!#-(7!!*Z?rW!0/
|
||||
&cc5N&/,H$!!a)O(-F8\&.%q/!=]eC!"9JT&dSI;'bV6Y&HE>n!9!n]&eYcm0I25MeGoRObl@
|
||||
bN#fH]H&I8@:$jc"r!"f,B#ljr6&.olr!!!T#!"KAB%20Hj!"pjcH6Eb2#h/hY'c%Qu4;JA!!
|
||||
!sAR%hAm]!!!ZFrW!-8'aPE`&f#uuiW'/g%o!$<%N'cteGoRObl@bN#fH]H$k*+9&esI.$ksB
|
||||
a'*f'b#Wre$&e+:1%1<CP%gNIY'Kg_K4:i.T!!irG&J69V&dK0F!!<H2%i>3F!>Gq?!!ErK$P
|
||||
s'H!!*H@JcOs6"qVSt!"obTJcO=$!!CIG!=9%W!!!E$!!<cF&dRIt$5WpI!"9G>$PF*]mf3e*
|
||||
0Feg3&e#E`*\%R4("E9i$PWsV/dhXZ$haQ&%2'*bp](=/#l4NM5s!:0^b#R:Z6!%gnk3>@
|
||||
&FeGoRObl@bN#g`PS(D%2j#l"B#'God0"UG_@!#H:5!"'>P;?f6h;BZSb$bcTH#QP5H'`\4B(
|
||||
\Ib2'F+UO$\ABG!!rl9#V7P5'oEJ5i;`li(P2Y\!!!,G!!*B3ci=1R(B=FKf)Ppe(B=[Gl2V/
|
||||
+&eY9^-@%3P'G8Oh"Uc%F#S[R;!!E`F!"]b7!!3]?&qU,M!"KVA(C1*K#QbKL$O?_@$g.Kk&I
|
||||
]5&!;6Bm"3gfH#melX!#,>3!#+/g#mV(U#64`?&dJ^,!!WZB#WrSW(rlUZ#7M.W$hjW,$kNqT
|
||||
)BK>'%/'Z&(C^b(!:9at/cu@c#QkGB((_/n&dJgW'^,N#%0."U$l"9nq#CBsbl@hP#m_6n!!E
|
||||
]C!!ihd!!NW?!!!T:j8]Al'+b4C6k@<<";2I[&f:6A"qV"LB+l$doDet$!"0Ek!:^$j$kOfa%
|
||||
L`UO%L`US%N%_G#8@m;!!NuD',LlbOoYFn!!i#o!uD4K+3acd#meiW!t5DH$f_3o#S7Ub!"9,
|
||||
5!!j"n!!O)C!"]eO`rH>Y',Cc[$ks?M!!`rE%jDSj&Jt6C!=0A;!!3cG'nQGV!!6F=-i=G_#S
|
||||
7IR!!`s>(^CK]([1o'%29?]'bQW0!##82!#"]"!!CIG!=9%7!"0&;!#HUd/M%8G'+<b!";M:N
|
||||
'F;e\$O[UU&lBSZ?4.PL(]47=$ih(U!!!]G(&It;$P3m^!!!]G!#'qanc/_.!##2>$RuVt!"o
|
||||
\Q'H7Ml(Zk]"&J5QgP5kRqrVup2mJm4hbl@bN#g!&K&eG]^l2V/((B=k+#QRL1&f9a3!"8W'"
|
||||
:P\M'+;bZ#7M7U*_6nK%/0`*'G:ig$jce3#n.4B%0-A9'*o/$!:g*k-3t7^%K]02%/^)-&/5]
|
||||
gjT#;m&s<4p')hk2'(,`""3gfH#meZR";)@K!"eMt$O[R\)^#+n&.8IN#j)*f',CBE";2.R&f
|
||||
8Le#8@g_?5OF_(\[n4$PE[R&c;V2$PO-frW!!*%h!sho`,.1&.g3$-i=GU9b%R1!!N`1$NL/7
|
||||
jT#8gOT5@drXo2EmJm4hbl@bN#i#C^$O7=Ro)Jb'rVus3'^br.&ek<R)@%3Y!"0A#!"9GO'+4
|
||||
dV$l9^&)%@"m!"9JJ#``1+;AT<5$NLS6!!Wf2!"oeX#l=T&#S?n6!"4AYo`,F/#64`I"p65?G
|
||||
nM,-&H)S/&qU,7!!!,G!!*B3g].Hj(B=jPoDf"/&HE1Mm/R,"rW!-6!!!T9#8H;#%21?&&WT$
|
||||
[#?"h8$k*F7!!!DQ!##SG&f>a(FTr7f%h]Qi!!!W3'G9j8!"4AYp](a/&c_nG&c_n:!XK#@(&
|
||||
\+5'*s0if)PdQbl@c`#i#C[')hk2'Cu2+&I/j]m/R8%$ih(ThuF&h(`<].>oa[r'(c/.$O@"E
|
||||
#RD6p!!!i7!"0t]#6t\O+;PUu!"8c+!Z(hEoDeq#()2?#q#Cg2'+4dQ#QPYG.4,N0rW!*1((q
|
||||
Ao(P2Y?!!!,G!!*B3g].Hd!!!]Gg&M3f&-iU%!"')>0Lmfd9NjCb%.jN"#lG/4'$gOl#Rq8."
|
||||
qEjE%MfHQ'G;$H?>VV8'_VM.&-rr$!;HO,'G(fj!!!6?$k>K%$ih(D9b/$'!!*H=JcP?A!!CI
|
||||
G!so8>'^#Gu&eGTdqu?j6'+b]_n,NP'&.fKF!!3rB(Yo'!4rsb@<`Uq8'GLcgo`+str!i]>cN
|
||||
"Xf#80oU&5aJ]$jQb?&Jbm/4C/[/pAb=('*&XZJcP]K!tl.Y&cD\>1Cu,J2B;c+#8.7_'aGH;
|
||||
!!3cF&qU,W!!=#C#Tq:k!=9%o!!O&K!!!WGpAb=(#8.XWpAb@2&c_nE'__S4'GD*#',:`Xn,N
|
||||
G)rVup7o)K"C%Ls"S@j`)`!!!<&%KI-f!#,\=(DT+>'HItq8/Em@%N.QB%PU6C!<*U_!;lg5'
|
||||
bLEG#8@.<$kF-c%RL.3$kEgb.KBGbl2Ur$#65;CJcPEC!!CIG!=9%o!!Nr?!!!`>q>^a/&/$<
|
||||
X!#,\9!"')>#QOi:#QOi1(&%\5#7CM`#64`8n,NRr$k`dRpAbO+$j[Xp%R1pM,=q>)!!rK4!#
|
||||
!6N#mU\V*YK.j%PJt&!!!i7!!!i7!!*W=JcP]K'+kKM!#5b>!#$/H%M0$R&dLQ1#NYpe&/>b.
|
||||
!:p0j"3gfH#mgD.!u(tQ'(>lH(C(<U',LW\&/#NS!"],1'+k3E;ABuJ!"0>Q&dJCQ#7CnN(\[
|
||||
n7#64`8&c_n:n,NS*%2K0bq>_!A!#GVZ%0o$*-rL`n&f:*=!!rK4!#!9O$l9Nd3#reO>lm8=(
|
||||
DZoL":#>J#7UA-!#"Gp!sfMO$`3nB$P3p^$ih(T$O[UU!"9894Uql/%1Y:=&e#E8!!3rI$\AB
|
||||
M!!!,G!!*B3qZ$a4$NLSIqZ$U(r;Zm,'aXdO,!HPC'EApS!!!E9$PEF>#>tOE-3t.g!"otG!"
|
||||
p(J'F+jWp&G=1'`\Fc#R;+C!!EQ4&doBK!!EuF('bZP!"',>&i(:6)?pTM'(,`((D7?Y&eYJh
|
||||
!##SB%1E4:.0'>U'GCHH'GLul#8d.8!=oq0!!EQ4$O@EC!#?.P!!!Q1!!j,@'EApY#RCl<!!!
|
||||
67#Q=]'$g7Qj(P2YU!!!,G!!<N5!"8`*!##82!#,;2%29?d',LWb',=AN!"0J=!#PtR!!!9;!
|
||||
#$%H*>9(s$NL/<!"otG!"p"=!"')6'GVDr'+kok'`.k4$l0Kjq#D'5$k`dR!#5J>!#5JM#;7<
|
||||
!%0m=*!!!hQ!!NW:'GM/rr;[0O%qZJ;;A9QU#8d7;#SAg&'+Pj/$Q&11"VM1C!"p*G!!NuC!!
|
||||
!WGqu@-6@0d,g%KZVC$k`s]jo>H!()2?#n,NFjblA.Y#R:tI&c_nF$NLGEr;[oQ!!!B<!"p(J
|
||||
#8.gQ&f1NJ$O[L^$P4*S$PF!c!!!T0!!Wu7(D@&_#PJ-&$kO$u.gQe&pAb=4&e5Ziq#CU5!#G
|
||||
VO!#5DF$5<IV(g&L8$ignJTE#=Z-$r<!()TnH#7UM1$5=%E&gLZk'bM)emJmD&#QOi9$`<t-#
|
||||
R:>D&GlG5'*B$N&IoNU$iU,+$g%Ej&/Q"3!:Tsg"3gfR#tPI)!"otG'G:W`qu?^1rW!Q9!"p(
|
||||
J$jILU'*&";&eZT*&d\:5#n.FP&/>0F$OddC!!a/;!$VXJ$O?D+":GkS$jZM,!"8c+$4IIU&.
|
||||
AOI3@>"4S,aF)<XqeX#8o-=!#,DG$n)g:$YMqd>p^=&(&S%7',2&f(&%\2$P3p^%&Eq0'aG@1
|
||||
&-iUD/GotY%2Rk%";_:C&/TounGiOkbl@qS!sel,$jcV.'aPEX!&H_K,$kur-O0kj!"989!"p
|
||||
">!!3iC([h>/#64`/&-*(Cq>^m2!!!9=#R`s,$Ps3K!!*H?r;[0;>nR,;(D9a^(DiVB+qZ47%
|
||||
1WgL#7_@Z$NLDI'-.?O+"nNa(,6I/BKQY&$PNsXoDek-T`>92#64`/'J0+k!!hB]!YGYMJcP9
|
||||
?!!CIG#RPSa$Ps@5&I\L:$ks6c'5%p^'EAM=$jcb2"VD"?!"9.l!!``7!%0?(',:9C&etWa$P
|
||||
NmU'+kfi$O[UU&dK!ZrW!@)+:]Ml$P=?s=qb3TScC#K!"<L*$N_(V>o*d&57UX8=Xt":Gp*n7
|
||||
*_%D]'aQ03%M1*&PlM!s#QOi1$uYqP!#=>j!"t(f":PYD!#=o%!!CIG'F>$Z&e[;A#SRRG$PF
|
||||
*U!!!B3!"f,0!#,2/"W%^X(D$u5!!WfC&eu)q(\dtS$l0Kj!"0MW>)P!L+;n>l('d-'2eNU*%
|
||||
L*OS(_%6$BG)#L!$MRT$k-5K<!O$Z%OV``90a"94>dM&<t6l':D4iZ&ebijPlM")#64`8(G,I
|
||||
o!#'qaiW')q'+tolmJm4hblARe#m_4N&HDe:&HEI\!%&E\!"o8E'`]$]q#CL2&eYT"!$`9m%M
|
||||
fZW$P=-i?;_"F=q20K%20CJ&eb`g#7h%K$klqt1(9ZQ,8:e#!Xo'+,7Xie%N8,T>rZX5(C2W5
|
||||
+ZUMX%P8J&,;BiA*L6[/'aFsY!+,R5!"4AYiW')e&.T6[nGiY-#RDNs!#T',!!!9;!!!`G$PE
|
||||
F>&mbqX&HE1O&eGGi!$Vda&.AdD(D@NM*&/4*"r8Or$rdlM-it1h,7YQ4!!#V<%@[>E&e,<`(
|
||||
B=gV%8mEI#@0>CNYMNo&eS#>4F].!'+4dX%PV]6(B=a?!!!h'!!Wi6'0Ji>?@i18!!<iI'+=4
|
||||
.!!CIG&IJUQ!!!6:$kj!K&-)\9;%aVX!!EuM(B>3L$QK-H2cPi*%jI'p!"='_?7Gp`#>td8!!
|
||||
j)V,81c^!%&*Z&/,EO&/5O3&c`1^%Tif5#R;"R*XF2,$O[X_$trpK<!O$@%/p5,&t&_''+bN\
|
||||
%LdphhuEll'FYZemJm4hbl@tT#SICC!!il0!!F#M#6tX^!!<T@&f:6A";M:\!!rE$)CeTj'7(
|
||||
,u$ig8i%Kdb5!#5JY!!iQ)&J#?cS,`[)!!j8RrVup+rW!95)\>n<!!!WF%h/C:()Hrc'.=V+C
|
||||
'"kM(B>6d((:lb!#-%XU&YB684ZT`%S5FV!=K<f!:0[c"3gfJ#m^qF_>j]P'bh2qpAb=1'+t]
|
||||
^rVup5rW!02'+bTm2\u_u!"ThT&c_nG$k=!X$NLeJ&e(!)!!iK'$5F6\!"o83&eG]krW!!*&J
|
||||
4pP&dAtT*Y/\r!#67^%L`=C#8\*[UAtK2/1PHG8.5Cs";1\?'G:<E!"8&l!YQ.\JcP0<!!CIG
|
||||
"(+;,$c;rJ#S@%:'GC-?":,PK%1N49#R;(E(Dder%LDt4&.B-Y#64`=%h]Wd!!!f8!#Lq$"V_
|
||||
OZ#RCh7!$DOI!#5J6#S7P>%M/^B(K)A<$k`O?'+PHO!!`l3!"o[8!!NQ?*"Eknr;[*3#7qOV#
|
||||
QOi0lMq"m&do8&!:9ad"3gfI$9AR3!!O&L!!!`Gp&GU3%hf<N'bUui&i'k.(C1ZH!!3Z@%?CJ
|
||||
l#8Rp^'(c/B$P3g[?6^'o!!!fO%2TBP(Es5"'`\j_!!!S*!!NuL%MB$Qr;[36%1X!V',M&f#R
|
||||
D77!!=#K'G,irm/R+gbl@bN#f$EC#8.X_$hjW2$k,$d'*&CO&30h'%gNa>!!EuK$PF8:!!3oO
|
||||
&Fof4'b2!l$NLG4!"p%Y;][=l%/g//$PO-X&Zu*<(C1]e!tZ1F!#-%Y%MT0S!#GV8'H%?d'+Z
|
||||
'];@aE,!!3`C$\ABG!!!,G!!*B3^An9N'_MG8&J>Tf',1EO'+\^h'+sa7!"t:l!u(tG&GH/*'
|
||||
bpWI!tkkU#Q+Q,$P*ml%2K0bqZ$X&(Tm`D'G(NfA-j_:'`J(G#UMAA&f1NQ$ka(0$o](;%i?&
|
||||
ql2UeuJcP-;!!CIG!=9%=!"]\U&iUdC%MSmC&HEV(%1NpA!!Eo7&eGY9!!F)<!"021!!3N>&G
|
||||
6#.(Cq*!%2K0bXT/>;qZ$[/$NU)7!%e*L!Yl1Wr;[9@%2K0b!!!NC3"Qc5$\AB/!!!,G!!*B3
|
||||
ZiC=='+G0[',DD^!!<W;$Ol\."q_(g&-*7XK)c&[(DRPk'_hY5'FOmb1(jg#XT/>,qZ$[/!!)
|
||||
p,!'L5\!Y>hLr;[9@%2K0b!#,\=.MMj_$gmup$\ABC!!!,G!!*B3ZiC=>%1Xs\!#,_+!!X5E!
|
||||
"_d>&:slc&J5Xt&.nL7";_%S!#Ma;!!rH%!XK>Cr!ilD!!"qf&GuM2#7M4M%-@Nk#S.;p!9sO
|
||||
a"3gfH#mdm<":PMJ',9[2"VV[c'Fu"3!!WE7&eGio&bH&'$`a7-#l4N%(D6QT"VUk9+V#7b!!
|
||||
Eu9(B>97!!<T?'G,irl2Uedbl@bN#daR7$igP@%-[`p'FkfW(P2Vl!!!B7&J5QgoDek([K$C;
|
||||
$k*O?!!!<"!;m<1'*'.W,m`<,!u)@J%>"TF!!!,G!!*B3Q2gn$JcPTH":u1G!"8N$"r%R\'FY
|
||||
?]^&S?F$o^9`'bgED!!r?"$54(4)&!Vk%Mgu7g].Bg#8Mgjl2Uedbl@hP#m_6U!!O&:(B>-^q
|
||||
u?a4$\AB>!!EZ0!"fk=!!a&F#;@,L#7J9H%grUW1`Hf&$jZh5$O?_4#kn<+$S2M_;%?N""$\9
|
||||
k!!*H?JcP-;!uD4K+3acd#me*B#nRIQFV>Am1(Ock!!*<>JcOd1!uD1T#l"B)((EtC%M0$S^]
|
||||
4uU'`\Z##QPJC!"9DC)AsD+',:9C$5*XM+q?gn#RD"JJcN[g!!CIG!=9%C!"fnY%8d??(c`-;
|
||||
&.8aT%20?gJcOj3!tkkU&GZ;4'GD2u#6tnV&f8@a$l'KW$Q_hN#64`8!##2>!!rH%$O[LR+q>
|
||||
G@#QOi1#ibmc(CPfpirB&]bl@bN#eC!B$k3\E57\3/%hnpB!tl7_#_E':!!N`D&/5*YqZ%!<!
|
||||
!"r1#Xg$U'+>Sl!!O#J&J,3RrW!!)!##2>&dSjM&/"sC&eGli0.odd!!!91p](:%m/R.u&:so
|
||||
B!!!,G!!*B3\c<9M#7qk6&i(F8&.8I<&dJj\]Dqp;W;m):&c`LQ$haQ*$PNbWFUSWh`rH8N#S
|
||||
[7E#l=T'&.Bub%MB$['EAj\!!!`D!YPJ=/-#YU#l"B"#OVQo&J5WjJcOj3!!CIG!=9%C!"]bC
|
||||
#Xf($(CL3N$NL/A!"0(G!!E]@!!!D,!!=#B'G0s<#7LfK*&\6>'Z^7W$PNp]')2G-&L[Jd!=0
|
||||
A<!#H7J$P+"d&eZT?-k[./$PEFF'F4[='c-3;"VM(U&dT,%!9O7]"3gfH#mc+_j8];r$k*CSq
|
||||
u?^)YQ+b2&doBG!!X8L*]soA'$(%V&f1NJ#7L;,!##2>#m^bD!#H1H&e5?E!"',>&/"sC'+P6
|
||||
_'(>l*$PO0]'*eep!9X=^"3gfH#me3E";(V>'G9@*!=KLh!!!i6!!Wi?!##nK$iU,,(D!\L!Y
|
||||
Q.\p&G=6&e5`u-6`l>!!NuC!!!WJo`,+#!"9J_rX]/>(CgoJ!!s8I%MBQX!"KMPmJmCr'G2&f
|
||||
'7p5I!!!,G!!*B3]`80L&eG]arVup1k5YPr&.$ed!>>n@!!X):!([;1')hk4#8.HL!!*H9o`,
|
||||
7*'+c^@0b>]IaT)GX&-r[LoDf%#&eP*U')hk4&.T!>!!s>P%0lk5'bD)kli7+q&.oY/!9X=^"
|
||||
3gfH#me3E#n.IW&dSI;$Pj-7!!<K>$PV.m#8@OO&eb6F(]G$X-8to;$NLtJ!##>?!!!6?q>^L
|
||||
'YQ+nC'F5Ko&e>Dk!!3rL%/Bl'$iBu*#RC>/#R:>0#S%(>!#PS>!"8c+$4@IH$k*jN$NL/7lM
|
||||
pr#&:soE!!!,G!!*B3]`8ES'+bcV!"p%\%M0HB!!<T?'G/ms"V;:X$OdIB!"]DF&eYE^!!a;?
|
||||
$k*RQ(D@&M!!EN4!!j";!!NTC()I]"^]4HK#8.:?!"B2=$NLP>!!!ZB(B=FJrWiN:#i#C[$\A
|
||||
B@!!!,G!!*B3]`86A$Od^a!!*!3kPtZ!%h%%j"pbi9*<6'QpAb4%&H3:H4U2T)(C(cS!!O/M&
|
||||
-*7Tq#CC/`rH)UoDf%"$Pa'T'#=P\(C'p?$k*+9'L58%&ebrZ(Cg]L!!!Z2!!*?2JcNRd!!CI
|
||||
G!=9%@!!EZF$l067!!!hh!"')6&.:NH&eYET$hOE''*(['!#Gn<!!WZE&d]0Z%/U#+(D[D#!!
|
||||
*Z@nc/h-%1NgY1;a)##SI+;#SI+M&IB*b#lXf*#7_RL!!!Z2!!*?2irB)o'S6>C!!!,G!!*B3
|
||||
])VgIrW!';$NLPN`W,uHqu@';F:\]`%1<.9$ki45#Rh+A3[YOQ&1RSY#8[UF$[W6]'E%n6$NL
|
||||
D?'$:1V(D$ibnc/h%%i,lm'uL"Y',M#f(B=[?#R^n:!!3rH'E%n2')i.;&I@Cs!>?,u!8mhW"
|
||||
3gfH#me-C!"e/j!#OGk!=]G9!!3E2,5hcN$NL/?&.A=7!"Ai,!!iK9!"f,0'b_A`!"fhV!u<9
|
||||
t'+=j@#R;.N!"]O]!!<WA$P;n0#T$>d#$rMf&f&@c$5X<f#QOi0!!irFrW!!4%LE"5!#PS>!"
|
||||
7if!tl=`&qU,B!!!,G!!*B3]`83M&e5T]*TmD('b:]5!!!W0!!3Q6')hk5&.8^Zqu?g-$j[LC
|
||||
!!3E:(\dt3#R:V,!!WuG+r:4b')2G,$e,.X&.fQH!!WN;;NDA&'#">P&eYKa'EA+@(),@$!tc
|
||||
7_&V:#A!!!,G!!*B3]`83K((q-C%IF,r'GUNH!t,bY#Oqco$haQ%$kF0R!!s;=&.8mP&c`^Qq
|
||||
u?j5!!!Q<qu?d'(C0^8":tqG(CU$="UbnJ&f2Da&c`O=!!*`LeGoUd&b5o,(D7K!-PdI4]`8*
|
||||
J$lAmC!YPtOfDkp`&:so?!!!,G!!*B3]Dr-O%NGri%he@3#n%C[!#H@U#65G-!!*<1pAbR7(C
|
||||
'p?$k*+A*=W5P&ciOOrW!*-#8.XS(&\+8#Rg\<(]"+9#SI+R#6t\6!!X&F/IMO`(\Rh1#R:UP
|
||||
!!Wi@'2f2S&\%fB'FkfH!!!Dj!!*lPJcO^/!!CIG!=9%F!!X/N(G-+-#O_X!&dT3b&/,Ea&.%
|
||||
h,!Z)CZr;Zj7(]FC=$k*+@(B=^>&csBc#O_Wq&-rOM#PnH!&ct^('Dhb3$P7D,rXo2Cp&G1+$
|
||||
O7Ke!!NW5'GM/f[K$@<%N"d<"W%ge'b_D_!!!ge!6P9A"3gfH#me3E"q(D2#V?GrnGin4(D.A
|
||||
o#8%aW$PDn/!s]VT#lXf)#7(5.":YVB$jZ_2":Gb@#Rp2&r!;ur!s]VN%/^).&dSIK$hs]%'`
|
||||
J(8#SI+R#K-TI#S7Y;$O[XV\c;dE%MJa@!!r<!!u)7V'`A"3&qU,+!!!,G!!<N6#SaoO!uCq;
|
||||
(\%J2&.egQ#7(qJ')DS.'DMP9(C'pJ&-)\H#6u%N*W-3A!!EoI#RD+&!!F)C!!!]2!!N`>#RD
|
||||
%Uq#CO*()HrNr=T,B$hs]%#l4N%$P:tk#8[UF.1\`W'"S&E(D[JZ!!3N=#l+H.(D72f&c_nG&
|
||||
J#Q]JcOd1!>>k1!!=#C#Tq:k!=9%0!<!K5/h$c5%1E%5!Xo_Nq#CC,rXoMK1(4C((C(K_$iL&
|
||||
*$iU,+'`A:;$fV-d&cNCD#71;/!"8`2!#5>2"UbkA&dSa4!!*K=q>^R0&.$ti#8.:B(G.?W'"
|
||||
S&E&e53H!!3cJ&GZ;6$PO*a'+4dQ%MBN_JcOg2!YQ+Wm/R+gbl@bN#c@Y(&dSdB&cr%@'`%e2
|
||||
'*&^<!!j5U#64`*-jUIb!!*lH`;g/V&1S:m#8[s[oDeq+$k3%6!t,YJ&GcA,(ZGE'#S@%:;-j
|
||||
nD(DQoM'\*0c&I/OTmf3A!&,lP3$P3:N#l4N.'GLo_'FP]b((Lt/!94%^$PNLQ'^br$"3gfH#
|
||||
mdC."V;4Q&eGHH!!E]=!"9;0!"TJH8-T\>-7T!,$NL/>&Ic\[#n%:P-5QXu;@O93!!<W<!#,8
|
||||
1";1t?&d\@7!>>au!"0DQ?3UZM#;Ztm(D>:!";MOL$PW"0$5F$_!!!WE#QP5Do`,1%&etud&.
|
||||
='iirB,n#S?A'!!CIG!=9%2!!j/Q!#-+[(C1ZL!!!Q/&c`I9!"T_C!##><%2'9b&c`^\!#*BQ
|
||||
$5*UE49H3/-O:7kqZ$X2$iU,/'*&"@%/p5-$P34L!#,81!XKDMhuF/n!!!B\'+H*3%M9<]f`2
|
||||
0g$NL/>#k7m!#7_OM$k58r&c`=6!!NcE%2'6\JcOa0!XfGRm/R+gbl@bN#c[k3'GD#X!"0D>!
|
||||
"]P(!!NcE&eYidq>^X2$NLSDaT)>L&,m1G'*&CO!!j57!!EiG!"4eb&c`@3!!<c?&d[Cq$3q1
|
||||
K1_pNt%MB3efDl'`&HDeB$h=9&$P!^J!##_Oo)Jq%&e,He(P2YE!!!Dn!!!,G!!*B3WW329$P
|
||||
<dI(&egH#8Q+r!=KJ<&c`0R!!NuJ#RCkIr;[!,&eGE`#O_Wq#SI+F&E*Tr$k*+9?5!rL%M&fq
|
||||
!!<iF',C$;$4ICQ!"989&dSIGr=T)Eq>^U3%Mf\/!6>-?"3gfH#mdO2!tkkE(R"h!'`A:F$NL
|
||||
/4(D$r[*=rGln,WD"!>$(,!"'>E!!#Oq!'gr##K6ZP(B=FK((1*O#RD.Y!##82$j[+T$ksBaN
|
||||
=-@5(D;<"a8c2Bbl@bN#fQcD$g%Ei'+p*%#S7%M!!">q(C0R4!"8#k!#P2+"W%^X(D$tl!!s&
|
||||
I',_H$%L2t_r!3<'')hk:#RCD=#6tYL'nQG(!!!,G!!*B3`;g2Q#QOi4'`\LR'^l#%([1o"%&
|
||||
3e0#SIe!&fi;5!!a>5!!*N:lMptl%i>'B!"8W'#7(PT)&3D^#hAtU'_25(')N.?#R_+=!!!Z2
|
||||
!"&u;(D76<4?*c_'nQG*!!!,G!!*B3`rHJT'GD#`'EA@H&/,H)!!EN,$P*ZA!!NoA(C'pSr=T
|
||||
)9p&G.VA'!t,bV&GuM3&e\(T&e+U:!u*^>%+bI^(D@Dm(%_J+')W4B:B2"4%/^)*%/geF'
|
||||
EAOH;EYR#&ds9k`W,u@bl@bN#fcoF(]=dI'EAa]%MBT3!!Nc?#SICVV#UZ)&-rOT([qD,'*&R
|
||||
Om/R8*#65DFr;ca*!#,2/"=GK*-5Y;7":tq@!"ec&!##2>#6P>F!##>4'`A=9!!a;K'GODJ()
|
||||
?-8!=0'b!8RVT"3gfH#meQO$5\U1%Q]Rc&K)>mf`23i$S;ni$k0!5!#PS>!#P/*"q1n?#SI@Y
|
||||
mJm;$#8R.:r!i]?qZ$d6(^CWo2t-eL&eGTgm/R+trVup3oDek(r!irq&dSIG$igq>#QP,*!!<
|
||||
iM'G9[3!XfYQJcOU,!!CIG!=9%O!"'PE!ZDYK>mh&G#ho=a$k*+`!sf/AO8o7crXo8a'*nI9!
|
||||
>c.8!!!Z/!;m<,'Dhb5.L-b+5%jBc";)@K!"eMt":PnN$ki14!##2>!=089&cr:<')hk2'&W`
|
||||
l#8\!fJcOX-!!CIG!=9%P!!sGS(0Yoc((pTTf`2-c&e\(nrWiK3N;s%n(C(cU!!*<;li?qn!#
|
||||
,50"UbtL(D@VT!!!Z2!!*]Km/R2&&eXU5!^7),q>^L.rVup2huEil'G:\'!8[\U"3gfH#meTP
|
||||
$5*^T%1RFh',25pd/X1]$^Lbm#l=T/$PEFU#64`?#7q:1!;m<,'D_\2$PF'gqu?j-&eGZ`q>^
|
||||
X,&HE1PfDksn%M\a>!##82!#"2i!XfYSJcOU,!!CIG!=9%Q!"'6'#8B?C8e_ms#P.or&.@Fs!
|
||||
>#m1!!3E:$iBu3&dK$^%i53N(C1ZN!!*H>o`,.$#RLbB'_)/7#8@.Q&c`:N&/,`X!"fGI'\EB
|
||||
d%hJI9!"Af=hZ*Zk$\AB7!!!,G!!*B3aoDSM%N[;B'`J(9$OmOV%h/.3!YH%Mq>^O)%-mlq#S
|
||||
I[VQiI1!'b^3?"W%CD!"]P9!!3cB$i0i'&c;V/([h>)(D-QG"qgn@(B=gSdf9F`%MF?nX8i5&
|
||||
bl@bN#g!&K(fN([qu?g5%MfZL!!<l7&d\@7!>?.4!!<c?#SNU,"r@LM&c`INpAb1!r=T)Er;Z
|
||||
p-&-rpI!!F)<&eG?7!!jAG#7CMJ&-*:@!!!\]!!3cC'S6=d!!!,G!!*B3aoDP\-4Vp<qu?g-&
|
||||
eu&P!!3cJ'E%n3#QXf3m/R:q&c_nC$_.2$#89`<!!j5)!"BPH!"]M<!#HD'#65DFm/RS$&f*Y
|
||||
E*"WJX&e"aS#L`YR%hF6lWrN,%bl@bN#g*,M$Tnt*2uWd\'GhPc!#PA0";1\B%i"sB"UtkR!!
|
||||
!]"!!!c4&c`W:!!=#B/f=R#!"nc%&JZ)^!"05A#SIaM!!`oQ',M5Y!!*W:nc/k,((q'K%h&@:
|
||||
!tl7[$i'c)'G;#do`,%-#T)q0!XK8KJcMhO!!CIG!=9%S!!F#N#QPJ9!!*]@oDf"&%0uqAr;[
|
||||
'2$p>7:&eb\,!!ENC!!a>/!!Er?!!!E*#S.UL(C'pOBFbmZ#QPSP'+=C3#T"6l(`!c#&/Y'@#
|
||||
8IIf";_jf$i'c,$kd[o#R:Y)!!3B8(P2Xf!!!,G!!*B3_uKrT&e>We&bZ2+'+5BK!!<l7#Rl:
|
||||
b"ooGM&eYESn,NP!$jRUE!"B/L!!j2O!#,kW%0-eFo)K(*$k"Wr'+GWj(]FCF#SIaX!#,Y<&P
|
||||
X&A2Zj[,qu?s7&HEa_!!!T#!!3ND'D)8.'GLfQ'aoTn]`8$7bl@bN#f?WE&eGQcp](L+%6"[q
|
||||
&d\F9":P\=!!e)Ukl:f!!#Gn:!!*H=rXoMK!!!Q<&82Xe$haQC#7Cr4$l9^>&R?"T&-r7A#7D
|
||||
4Z!"oP;$qLX3*(gSM(]===#64`;&c_nCnGiV!%Lht0":GkS$jV@a]Dqp6bl@bN#f?WE&eb]_p
|
||||
](L0$oS@s'bgNG!"Af=!#P;.!"=GZp](I+&dSaV(\@\3$PNmZ(D$lF!$Dsh/K@.k-q"%Q(B=F
|
||||
H!"oY>!"ot[&c_oY-j'YR!!j59!!a&C!$)m^#8Qb/!YZ=WoDf"1&e5ZiJcNF`!!CIG!=9%V!!
|
||||
O)G$ignJr;Zp3!"052!!F)C$NbGL#QP;#!!3Q>$\ABS!!!`3#QP\4!!3E8&b5o.F^5JhA/5an
|
||||
!#,>3'+b-U#QOi0$NLSH&eu3N&c_n?%/g/1'GD)jNY*)t!!3rH#P%is$l0KjJcNF`!!CIG!=9
|
||||
%U!!<H8#7U&$!Y>bQrW!!-%h.k+!YYhPJcOj3!#>#(',)#jCfk72(B>$[#S77A$P3p^%/Bl*&
|
||||
dK$Sq>^L3m/R2#%MeR8"UG>G$PNp1!!*ZGJcOL)!!CIG!=9%V!!F)N%M'3@!"0/D$O[RI&dT-
|
||||
N&f:0?"q)%P$ighHJcO[.!>64D!"9\P%!bY^9kP7B4r"n4!!!i/!!*H8jT#>r((^0?!#,>E!!
|
||||
hE^!Yc1WJcOL)!!CIG!=9%U!!<HI#7Tr!#SIb+&-*+t'*n.0"qh@i#RD%UJcPHD!=0,%!!3E2
|
||||
&GQ54&-smU'c.:.&dJir!!!E+!!<TE()6ND!##82!#"2i!tu%W&V:#;!!!,G!!*B3bl@nQ$j-
|
||||
bJ$gn!%'F+Ub*=)p/#R;1>!!<T?/cu"X!#1"bo`,"('CGi&'*&XRq#Ca0&J?W&!,"G1#8bqk!
|
||||
!rQ(!Y#VJpAb1+rVup2r;cg*!=K.s!!<fF#8_slgAh3Ubl@bN#gE>Q'G;/m$l&(/#nn"M#RDn
|
||||
S$Ps'A!!Eo?!!a<l!:p0m#SIOSr;Zg6oDet+#SRU>!!a2C&lK/L#8bqk"UG).&e5QJ!!!Z2!!
|
||||
!Z0!!<H8',9a4":+u-&.sKog&M*Tbl@bN#g`PV$NL/749lW6li7A,((1*B&eHWC%i>!@"UbhR
|
||||
&dJYn!:p0m&.8IOrVus)'Cu2)%2JF6":#>J$k1\e":+u5%M8:5!!iH8r;Zs:&e5?`li7/)%i#
|
||||
'PJcOI(!!CpT!#,#*!=9%Y!!`o@&el](()Q9:!"8`*!XfYQJcOg2$4%(R&ebZR!"]bKoDek-n
|
||||
GiP*rVup+m/R5)#7qO;!;m<-0,OQe!=KP2!!EZC&-iX1!!<cK&.='ifDkmRg].B`&J"I6!=9%
|
||||
Y!!a;F%22V>'Fa+(!s]VS%/9f'#SM^hkPt\j&do8n!!ErO!"9;+!;m<,+oD<C&eG<b#PA'"'b
|
||||
goR''oT#'+5EeJcOF'!!D!V!Z)IZo`,"!#h/hS'`J(8(D.Df']T/q&dT*Up](@,&.='ikl:ht
|
||||
$NLeFp](="(Y/Qd')hk2'Cc)#%KI1A!!`l>&.9$S',U0=!>Q@;!!3E>&qU,8!!!,T!!!N%!!*
|
||||
B4r<NB>f`2!`rW!'8&h".smf3A)#PJ,u',('?!sfMF&qU,K!!*lIr=\o+!Z)LTec5g^!!!9:n
|
||||
GrIs$PNL?#SIaU!%7mb#P.p!$PX-`#RKl!!"je_g].<^r!39Eg&M*_o`,"!#h]1e$NL/A-k6k
|
||||
&(C1!Y$OH8&";(V=//S$\!>Gq:!!Ei@!"]Ni!8RVW#8[U]f)Ppf',(udnGrIs$kiU@&1nk7&f
|
||||
;Jd#8d"4!#PVJ!>#Ng!5ed:"53_T%eTf&#mf2a%MBHg!ZD[^'EACO%L3U\o)K"(5;X3u(_S7c
|
||||
!!NW;&eY`gJcOX-";_:C(C.eW&K*5J',(uY#SICU!#H.Y&dJ[5!!<rH%i'Zr_>jQ<g&M*_o`,
|
||||
"!#h]1e#SRsY,8L^g!!j#H%h\@4!=(%N%KT?2JcNgk"U>8F&e>es!"9,H%LE+8#T"$[!"]P*!
|
||||
!<iG&I3mf_>jQ<g&M*_o`,"!#h]1d#RqP^-iakr!!!Q@(@hG,$j\9Z%KUY_JcNjl!"Ac*!!q$
|
||||
R!"8Au$sa>U#QOi9!Y#bT&/+@1!t,)/$\AAq!!!,G!!*B3f`2Hd$kb-+#R_%@$PEgU#kJ#t'*
|
||||
n^<%KZnK#_E'!!!3rP#lO`(%1Lef":PMJ'+=L6#rbsH$O?_<&dK6K!;mI]!4)Y*"3gfJ#mgkO
|
||||
gAhHm!#H=t&ebuY!!!E#!!!E+!!<T7#Qsu7!Ws&KJcO!p":G27'G16D!Xo>Jo)JaujT#Dg!!!
|
||||
]GrVup4q>^g?%LEOX!"]MS#Pe?"')hk2&qU+l!!=#C#Tq:k!=9%_!!s&F%XT<2$ka'epAb4,%
|
||||
/^)*')W4>#_E'"!"95E(C'pQ#QOi0!"9;/!!*?1jo>Du')hk9#7M7Z)&!YtrW!<2%S[3B!!j,
|
||||
A#SS$N!!!Z2!!!Z,!!*Z>JcNLb!!CIG!=9%_!!s#H'-.`c#7M4Mp](@'&/4sA"pbhS;A'TYJc
|
||||
Nso$ka19$j[R]!"9JG#S$G,!Y>t\jo>Pr#QP)E')W4H#QOi4>qmf7#R_II#QP\;!!!Z2!!!Z,
|
||||
!!*`AJcNLb!!CIG!=9%_!"&rF&g1cr&1ded(\n%5&dSmSq>^L$JcNmm!t,_A/H#hT!#5A;!"8
|
||||
N$!sfMI''9/t$P<UL!##2>"UG).&e5?L!!*lDo`4n&q>^[)%MKTe'^l#%(P2Y9!!!,G!!*B3d
|
||||
f9VMAh\4L$Ps'I!!!i7!!EZ@!!!]/!!!ge!6G3D&f1NV%/9f&$hjW(&.8IN(ZGDp')W4B#QOi
|
||||
>#Q4W'#86G)!"8])!tl+S(\[n0$i0i)#Sn,+!7UuK"3gfH#meu['K6Oq7KO28&.8I<'*nR<'a
|
||||
G?a#7,n]_>jQ@rXo29p](=-');M.(D-QY!"o21!uCq;([1o"')W4>#l4N'(C(Q\o)Jn+$k`s]
|
||||
qu?g1$kO0K!!3iF$iU,0$P+["(DDB#e,TINbl@hP#m_6q!!<T>#7^P1!XKDMq>^O%')_e2(C,
|
||||
Nl]Dr*@&eG`i#kJ#u&c_nEkl:\rr!i]4q>^U&(Dd_T!"9)C!WX#:#QOi=!!!i1!!3]H')hk8#
|
||||
7)LY!"]Ni!8%8R(C19gbl@bN#h&bV'Gg``(]478&.9*VqZ$m5&.8ID!"]bXJcNIa#S7@L;@jB
|
||||
I$P`@9#T!m[69lM!'FX.*!!r?""W%CD!"o\3!!`oA%NY]b$k2_-$l'BT'*&"K&-*7l&/Bcse,
|
||||
TINbl@bN#g*,M#SI+F&GuM7#SICU&J%2?!"XY]]`8<S#88Zs#SIa]p](O2%MD&n&e5N;!!!`.
|
||||
!!!<'&c`X<!!`o;&crLX%1Me-!Y>tVrW)p1!<<^`!:'Uf$PE[L$gmup"3gfH#meZRr=T/C1(=
|
||||
-^#nRIE9.^r3'+>M*!5&:;&JZ#n#;-Q##l"B'%h9-U((\Of"q1JJ!([P3nGiS+&H)S1$PNo"!
|
||||
9jId&etB\#OVQl"3gfH#meKM%20BT!!j#H&ecW#&-r_s!4W"4'/L7,$P<.7#o,$4.Ue&>&ete
|
||||
r!!Nc>&ekrdJcO4!!##82!#+c#!!CIG!=9%T!!!E*!<!?'!!EoJ'EAMm!4W"5/KGB&!"oS8!!
|
||||
W]E8eVaL$iU,,&f8[j!"8c+!XfSVJcO7"":#V@$P;_+!!CIG!=9%`!!<r9!#,/.!=&o0!!<l7
|
||||
!#,2/!"=GZ[K$C8&ec;b&c`[E!"BJR4VJ;1#QP5<%2'?haT)JP#SRgb'`7q3$O_Odg].Hb#87
|
||||
=VmJm4hbl@hP#m_7!!!O&G!"9)@qZ$s>&.egA$kj6d'+BHmY5eY9$O@C@!"K8I!)XUF'+4dG%
|
||||
0m=U(WcX\#S..L&/Y6E!>#lq!65'A(C19gbl@bN#h]1^&.]9V(^h#S!!<HB&dX'hW;m)-&c_n
|
||||
C$i0i4&.8Id;@F6P!!!WI%N!.c!tl@Z(]478'bV,bJcNai!!CIG!=9%b!!j8S&.JmF$k*C?!!
|
||||
F)C!"0?i!3#qu(&\aM'EA+@&c_n>r"Ao-!tY_N&_$d\'E&R>!!<c<&J=p@!s]VW&qU,&!!!,G
|
||||
!!*B3f`2*j%hK9N&d:E-#QOi:rXo5C(P2X]!!3cB(\[n5'EAL@!"79V!##82!##)-!t,)/(]4
|
||||
78$P3sZJcNai!!CIG!=9%b!!<rP!"Ai,!YYqQJcM>A"UGME&/PTH!!3ND(XN-^')hk2'(5f''
|
||||
aOdR&V:#'!!!,G!!*B3df9LZ$ignGqZ$U4JcMhO!=0M@!!`lF&1@ea#8d19!YPnHk5YJjqu?a
|
||||
4$h=8t')hk2''oT"&.fP-!6>-?"3gfH#mf5b!"8Z(!"]&A!#,50!!n/VWrN/3#Q=].&f!#b&e
|
||||
YESq>^X+&-)qOkl:bj()QoL!=]\4!<!N1#l=T%$hOE$&JYZeJcNjl!!CIG!so8>'\iZg'(>l$
|
||||
#_E&X!!roD#8[@?'G(ikp&G4.#QPYGkl:br'F4U;!t5SL$g7Qj'(c/+(C(NaJcNso!uD4K+3a
|
||||
cd#mfAf":GnD#S6D)!!n/VX8i>6$Ps'I!!*];o`+t(r=\Aq$4%7E#8[@?'*&:Nn,NS('FYZgr
|
||||
Vus4'_DA+&J0No`rH)Abl@bN#i5Oc#SId\(_78M!!!:V!3H5)#S77I',UWJ!"7H[$PO6\$jQb
|
||||
@&dSaP$h42s$iUeE$NLSF&e5Hho`+t"JcNgk!!CIG!=9%j!!j;l&eG]h%T=eG!!!<#!!*HAJc
|
||||
N7[!#PS>!#P/*":+uD!"A,mr!3<''`A:;$hjZ"#R_=H$kNm[$ig8=%i0`s\,ZL2bl@bN#ibml
|
||||
'GMQH+<1q7*(!s&!;m<,'Dqh2&eKWpT`>30&eYEXe,TIRrWioF!#-(O',1EH&/>EaJcN=]!!C
|
||||
IG!=9%l!"22#)^I=%%9WrB@4UsMr!i]?r;Zp*&dT,%!29Gr#S7IT%+G7W')hk>&c`LO#R_4E$
|
||||
OZq7(P2Xt!!!,G!!*B3irBH'-OsAu$O\X9-='OA!;m<,'E%n5$kX0bJcMJE!XB/Ir;Zj'(YJc
|
||||
g')hk2&qU+c!!!,G!!*B3iW'<_**+0^!"9MN&d\+0r!i]?qu?d0'+9BlU&YK4$ka6e!!!fK#M
|
||||
B(W')hk2&qU+c!!!,G!!*B3irBE&!sfV\(B>-_&/+R7r!i]?qu?a6'nQFZ!!!E*!!``7#8[U]
|
||||
&e+U:!>cF2!<!N1%"\J]!!!,G!!*B3hZ*lh!!!63$ksHK!!X)M)&!Z8#_E&R!!*H?oDf.5&5*
|
||||
6.(K(eXq>^R%#7,n]N;rq\bl@hP#m_7)!!N`D'aP$Mmf3Ls!"0GO$\AAV!!3]C#k\0(#8\3Y-
|
||||
k\4U$k3%6!uD1M&:snD!!=#C#Tq:k!=9%h!!<oG%1MY)"UG)5'GM13!2ol"'bUlfp&GF9#65,
|
||||
C&hX^q!#,81":#_C&dX'hNW9%]bl@bN#i>Ub&f(ri([h>-#QPSP&dX'hVuQo-&/5cN!"0AO&h
|
||||
$I6/Q#CY#71;/!=KJ;')2G,%"\JH!!!,G!!*B3hZ*ca#8%UWmf3Ir!!!QCJcMYJ";M@R(D?B@
|
||||
"UGkK%M0$8!!3rI#k%`r',2&f($5Js$PJ$kbl@_Gbl@bN#jhTl$hXK'$PaI1'GU!9":+u-$O_
|
||||
OdV#UW7!"]\Ir;Zg*q>^U1%Lrm:!!!E*!!3BA#O_Wp$PNsXjT#>e#7,n]c2[hHbl@bN#jhTm%
|
||||
i=j<!=T5#!!!<&!!*cMJcM\K!t5bL'E.t4$Ouq4!tZ.Z%.XB!$P!(8";_:C$jc>&";2.R&.%G
|
||||
!!u2FK'7p50!!!,G!!*B3mJm:s&dS%/!YYeTmJm5$r;Zm,'+f`qVZ6f,&-rpJ!!3cG%/U#,$N
|
||||
L/7nc/t/#7LS4#7LkD&F]Z&$k*a^'^#Gu$PNdYJcO'r!!CIG!=9&"!!<l7#8d(6!t5SS#O)3j
|
||||
&dT3aJcM\K!>Q(C!!<TA!#+Ss"UbkA'*&%1#k.fs#QPYK#lXf(&aB>t'b:\(!6tQE"3gfH#mf
|
||||
u"":P\=(C0X6";:b8#8cY*!tl=]'nQF_!!!i7!!EoN!"9;$!!Eo?!"9:r!!*lFkl:]"JcO$q!
|
||||
!CIG!=9&#!!!9'&c`19!!!i5!!4VU#Q>>9&a98r'+f`qT`>&trXoG@!#61R!"o\;!!!E%!!*l
|
||||
IrXo29j8]>l'+YNb$\AB'!!!i%!!!,G!!*B3k5YMr#lO`(!Y",i!>Gon!1Nrk$PO'V%/U#*#7
|
||||
UG/!=0@r!!EZ=&.K#!!6bEC&F9As"3gfJ#mgkOl2Ukk&eP$B!Z(nOJcLB&qZ$a8&e5?`qu?d7
|
||||
#8?q6!Y>tMm/R+or<NB>q>^U*%2',%!6kKI(DR\o'FXI3!uD4K+3acd#mf_p#nRIW#QOi0F:8
|
||||
S0!/(=P#l4N'#7V=\qu?g((CU`M!!<K>$P;\*!=0;:#QPM6!!F)S!#-6$!6tQI'c%Dl%.4)q"
|
||||
3gfH#mfbq$4%7E$P3:S#7(;CJcLK)!Yl4[quH^)!=K/2!!F)C!!!]1!!Ei@!"oS*!!*?2rVup
|
||||
2JcNUe!YZ=bm/R+gbl@bN#jD?f&dJsa4==,V(eB5YLB%Da'+5BC!!!W1&ci4CrVus8&H*70!!
|
||||
ii9!!!R.$k*c#!6"p@(C(<[(%)&%"3gfH#mfSl!!rK4!#,50!!r/r!>#Ng!1j/o(D$QX/ec\6
|
||||
#7(S8!"0bU#D)rW!!!,G!!*B3j8]/kr!i]?qu?a+%J0W&'bV/fJcMAB"VD1L&.B3$!!!i7&d/
|
||||
D'%M/nt!3H5$"3gfH#mfVm!=0>9%KI1?!!3f>%.sT&%0-eFJcM>A";M1I!#,),!>H@*!!E]8&
|
||||
ebt2!3H5$"3gfH#mfYn!Z*15r!i]?r;Zp.$igP*!!<rK'+9BlRfEL$$kiI<"r.@U$O7:Vr;Zj
|
||||
7#iYge&HE(E'nQFf!!!,G!!*B3jo>Gg'.j%k!#,;2":YVB&e+F5!>#Ng!1Elg(DHWF$OdeJ/I
|
||||
r@'$ig84&:sn=!!!,G!!*B3jo>[H!tJ?=!=/rFrVup+r<NB;JcLH(%1!RV(-E6@&HDeI#8.<s
|
||||
!!!H'!!!ge!4i.1"3gfH#mfYn"UbtU&J>A$!.k4F!"B;@&e#Tj'+=j@#8[aZg].?_%J]u)',#
|
||||
ls])Vg5bl@bN#j)*j(DIZ%'In\7JcPNF%L<FJ!/ggb$ih(W#RCtIh>d]l%1`mQ$iL&-&dT*aJ
|
||||
cNF`!!CIG!=9%j!!!:V!.k4=!!!i6#QP[t!!N`@&.]-Vr;Zp2(D.(-!5&:3"3gfH#mfJi!!n/
|
||||
VJcNai"q(kF%2TN_rW!!9'+f`q])Vg5bl@hP#m_7*!!!:V!.k3i!!X5R!#/'3&H)S0$l=Kq^&
|
||||
S6O#RDNs!!*B3k5YJuqu?^&JcLB&_>j]Q&c`RQJcN4Z!!CIG!=9%p!!*<@r;Zg*JcLB&_#XHI
|
||||
q>^O/'S6>!!!!,G!!*B3kl:l$#Sn$Y(P2X=!58F6$P<.7!XKDMJcNLb!!CIG!=9%r!!EuF&f)
|
||||
+3!.k3X!!<l7$k\'k^An69bl@bN#j;6j#7_LcJcLB&\GuU8r;[!5&JGNg(P2Y'!!!,G!!*B3k
|
||||
Pt\r$Pa)%!.k3^!!3iF&cD\4',:KY&:snu!!!,G!!*B3JcLB&SH&a*$P4-P!!<fJ'bQ#t_>jQ
|
||||
<bl@bN#_E&.!1a)l&.8^Zqu?g3'bq@5!5\^9"3gfH#mefV!>5cl!.k4!!!3iJ&c)J.',,rt_#
|
||||
OH;bl@bN#gWJP'bV.2!.k3u!!!<#!!*cJJcNUe!!CIG!=9%X!!<l7&eootJcLB&LB%;Vbl@bN
|
||||
#k.fo%/U#)$iU,+$g[iq&-rpWJcLK)!#O_sr=T,9#_E&S!!!,G!!*B3nGiUr()QlK";M.S'GK
|
||||
m7":P8<%g[aeKE)#]']oAq')hk3#RH"^VZ6]!bl@bN#k7lr&/5BH!!<WF'+=7/";):Q!"4AYK
|
||||
`D8a'G(f]'^,Ms')hk3#RH"^VZ6]!bl@bN#kJ$"N<g-s#8d==":,PK()$*:";_:C&.@\%!#NQ
|
||||
R!#NQR!#NQR!#O;g"V_LZ%1ip<!!!i1!!!Z2!!*?2df9@a_uKcR_uKdsdf9@Mbl@bN#kJ$"#n
|
||||
n$Z$jZ_2";DL^$jZ8%!t,bM'B]>q#fH]C#fH]C#fH]C#hT+Z$k<a`nGiOpp](:&r=T)Edf9@R
|
||||
_uKcC_uKcDdf9@Mbl@bL$2OW&$PE::!"&Q/r;Zs7$PrdKmf3D(()6]I!"8,n!!pLC!!pLC!!p
|
||||
LC!!q3W!s]MG'(Gr%#k\0$$PNmV#7/l\!!pLC!!pLC!"%*S!!CIG!?k26!!3cB$iL&*$1e,s'
|
||||
_25+'EA+=qu?a2&cD\0'_25(#kJ#r'_25('_25('_;;)#k@rq'_;;)'_25('_;;)#k@rq'_;;
|
||||
)'_25('_;;)#k@rq'_;;)'_25('_;;)#kS*!'GEJ8oDek*nc/Y(o)Jarnc/Y(o)Jb)nc/Y(o)
|
||||
Jarnc/Y(o)Jb)nc/Y(o)Jasnc/Y(o)Jb)nc/Xnbl@e^!snf)!t,YG')_e1$1e,s#k@rq#l4N'
|
||||
&J5QjrVup(nc/Xqo)Jarnc/Xqnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)J
|
||||
arnc/Xqo)Jarnc/Xqo)JaroDf",((Lrno`+stnc/Xqo)Jarnc/Xqo)Jarnc/Xqo)Jarnc/Xqo
|
||||
)Jarnc/Xqo)Jasnc/Xqo)Jarnc/Xsbl@fC.M2LX";1t?&.AI;!"&5s!!r,q!!rE$!tYhT&cMb
|
||||
1#k@rq#kJ#r#k@rq#k@rq#kJ#r#k@rq#kJ#r#k@rq#kJ#r#k@rq#kJ#r#k@rq#kJ#r#k@rq#k
|
||||
J#r#k@rq#kJ#r#kS*"&e%JJ$hXK"#k@rq#kJ#r#k@rq#kJ#r#k@rq#kJ#r#k@rq#kJ#r#k@rq
|
||||
#kJ#r$1\&r#kJ#r#k@rq$I&PQ+;ddrrW<<GCC1D96iI/f8+Qf_@IaL#@JU'-"`-0s!rud#!ru
|
||||
d$!rud#!rud#!rud$!rud#!rud$!rud#!rud$!rud#!rud$!rud#!rud$!rud#!rud$!rud#!
|
||||
rud$!rud&!sKba!sAc7o`G2&ncJl#o)eu$ncJl#o)eu$ncJl#o)eu$ncJl#o)eu$ncJl#o)et
|
||||
_ncJl#o)eu$o`G;)$4;`D!.k3&!.k3&!.k3&!.k3&!.k3&!.k3&!.k3&!.k3&!.k3&!.k3&!.
|
||||
k3&!.k3X!!*fJqu?^)_uKcF_Z0ZEc2[hXqZ$U(qu?^)d/X.[o`+t"d/X.[qu?a4'Dqh1$deqS
|
||||
'D2>*$deqS'D2>*$d&GL$iBu)$^q&%(D[J\$P*^W()5'p$O[LU%M'?`%h9'b'[?[d&e5B_!!!
|
||||
B;%Ls6gd/X^c&Ind@$P*^W().,e%Ls6ge,U$f&Ind@(C^lb((gob%Ls6ge,TOX&J"a>#o=?e!
|
||||
"0;I%Mfc.!"]MM%KHJ:&.T0\(CL``%Mfc.!!3N?%fQG8&e5B_!"0;I%Mfc/!"g"V%h9?e$P*^
|
||||
W().,e%Ls6gRfEa.&IndG&c`:E&C1=a&eY0E#R^kM!"0#Cc2\4^$Ps9Q!!a,:$O76j!"]qZ%K
|
||||
HJ6&c`:E&-igJ$O76m!"]qZ%KHJ@&c_n;%L3UH$O76m!!3rL%fHA6'+k]S#8."E#8#Ab&/Prh
|
||||
!!!WE!!!94#8."E#8#Ab!Z)IZrW!98$Ps9Q#8."E#8#Dc&J5WU!!j&>&c`:E&-igJ$O765!!N
|
||||
u?!"JuErVus8%aP+Z%h]Wf&.99Q!!*lGc2\%[%Ls$M!#GP6!>c6l!!<]2!#GP6!Z)=^rVus8%
|
||||
ak=W%f65-&dK3O!!*lGdJs7WrW!*7#6556(B+:7(Cnjn#n?q8%h]Wf&.99Q!!*lGdJs7WrW!*
|
||||
5%Ls$M(B+:7(Cngm!YP_RrW!!9%Mo$D!>c6:!!W]6!!!K/%fHA-%aP+Z%L3@L#87UG!!!MT!!
|
||||
a2N$O[R^!"Sr-!"R<T!tG;2%fHA.%M&F;!"REW!"Sr-";MF[!"Sr-!"REW#n?q8#R:>0%KI";
|
||||
!!!MW!!s,8!"K5A$O7=Tr;Zg-dJsR`!!!]G$O[R^%fHA-%atC\'b:oW%fHA.%M&F;!"PP"!#,
|
||||
;@"qqad!!!fGcN!q\r;[$3()-`K(D"gl$l03N!"0PB()-`K(D"gl%LrI=()-`K(Cq8q!!!fGd
|
||||
Js7WrW!91&/P<H()-`K(D"po!tG;2'E&CF',D8^!#H0o!!<]2!#GM5"qDC_!!!fGdJsae!!!c
|
||||
B!!!BB()-`K(D#!q&-ia_!!!cK!!!fG()-`K(Cuo6#7^_=%1<OK'$gOc&eYQP&JGBY$O[1PcN
|
||||
"@a&HDe:%fchD$O[1PcN"Fb!!!65$O[1P#7V%K#85Gb":bD3$kW@;"U>JE$O7<m!!!N+!!`u6
|
||||
#7V%K#85Gb%LrI=&eYQP&JGBY$O[1PdJsae!!!NA!!!98#7V%K#85Pe!=TP<!"0#@$O[1P#7V
|
||||
%K#83F)"qCV@&.THgblA%_%Lr^O$P3d`'$^Ib'FbN^&/P<S&.THgc2\:`!!!B<%MfZW$P3d`'
|
||||
%$[]%KHJAr!ii;&.THgd/X.VqZ$g1!"0>J()#!p!"Su.#nd^X#7CnN%Mf])!"BD<!#,kP%M0E
|
||||
a&.THge,TI]r!j&A&.THg!"0>J((u3!JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcN"Tr!i`@$gmup
|
||||
%]]R0%Y=\4!.k30!!!N-!!*<9mJm4snGiP!]DqpAJcLB&JcL`0!"Sr-!=KD8!!!E!!!!N!!!!
|
||||
MA!!!Mu!!!CY!.k3&!1j/j%fHAD$P!.:'+>W^(D@8o&dn[>&J#?]&e4mOrVup.rW!*<'+PKb!
|
||||
<*K+!!j5N((Lie((LTK!"onT%Ls*O!"9VQ%ho!D$l0<`'`7q:'+>Wd%h&F<%fQG9%KHJB&f(r
|
||||
f&Jbi]rW!Q@&e5BV$NLkS%Lr^O!!!Z@('oKlJcLB&ScAa#rW!cC#7ge7%L2t6&-i1O%2&XQ%2
|
||||
8dJ%1W@JrVup.rW!07&c`1I'EAX?!!j&I!#,nU!#,qB!"oqZ!#H+F!#?@N&J+pB()Hr_&GuM6
|
||||
%L3@A&Ind@%fQG9%KHJ=&c`UU&c`UUrW!K>#7D=W#7D:Z!#H(L!!!K6JcLB&JcM;@r!j8K'EA
|
||||
+C$NL/:$NL/@('"j]rW!$+%KI"<!!!N.!!a8I!!!]@!"Sl+!"Su.!"Su.!"Sl+"pb\=!#?.Sr
|
||||
;Zm7&I\F8!=fM:!!<]2!"Su.!tG;2%fQG.%fQG.%fQG5%Mo*F(D[_prW!*:%fcS>$\AA1!.k3
|
||||
@!!!N)!!!N.!!!N-!!3W1%f?;.%KI"<!!!N.!!!N+!!!N+!!!N.!!!N.!!!N.!"okS%hK3N!#
|
||||
,kP%2AjC'FbN](&S%3%fHA0%KHJ=rW!$1!!!N.!!!N.!!!N.!!!N-!!*QBq[NZ-!"OS\JcLB&
|
||||
RfEEuq#CC)rW!3>$NL/C('"jNrW!$:%KI"<!!!N.!!a8I!!!E5!"Sl+!"Su.!"Su.!"Su.":b
|
||||
\;!"Sr-!XfSUr;Zm,&Jk9E!"Sr-!tG;2%fQG1%KHJ=rVup.rVup.rW!05(B=FO%h'-N!!EZD!
|
||||
!!L\!.k3&!1Nrg%f$))%fQGA#8."Q'+t9X('jmV%1W@J#QPJIrW!3/&c`U]'EAUNqu?^,rVup
|
||||
.rVup.rW!Q@(B>-Z!"fYJ!#-1K&If*J'GgTH!"Sr-$4[%9%L<%I%KHJ=rVup.rVup.rW!H=#7
|
||||
CnQ&doH`!"0>N!!!L\!.k3&!1Nrg%f$))%fQG2$PO!c')hk=&f(rf&eb6X%Ls!^rW!33'+PN]
|
||||
!!!N>qu?^,rVup.rVup.rW!QD%Ls$`%R^j<%M'9S$P3dX%i,!B!"Sr-$4[%9&e5B^&c_nArVu
|
||||
p.rVup.rW!HB'+PKb!!!]B%MfZb!!!L\!.k3&!.k4=!!!i$!!*H8JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcL
|
||||
B&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&J
|
||||
cLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB
|
||||
&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&Jc
|
||||
LB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&JcLB&
|
||||
JcLB&JcLB&JcLB&T)aB~>
|
||||
|
||||
%%EndData
|
||||
end
|
||||
%%PageTrailer
|
||||
%%Trailer
|
||||
%%BoundingBox: 0 0 611 791
|
||||
%%EOF
|
||||
@@ -1,726 +0,0 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%BoundingBox: 39.0 40.0 564.0 775.0
|
||||
%%Creator: miheikki using rose_exe
|
||||
%%CreationDate: Tue Jul 24 18:30:01 2001
|
||||
%%Title: preEquilibriumUml.eps
|
||||
%%EndComments
|
||||
|
||||
%%BeginProlog
|
||||
200 dict begin
|
||||
%%BeginResource: Units and resolution
|
||||
/cm { 300 mul 2.54 div } def
|
||||
/PageHeight 26.9 cm def
|
||||
/PageWidth 20.6 cm def
|
||||
/LineSpace 0.05 cm def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: PenBrush
|
||||
/TmpPenArray 5 array def
|
||||
/PenArray 5 array def
|
||||
/lpStyle 0 def
|
||||
/lpWidth 1 def
|
||||
/lpRed 2 def
|
||||
/lpGreen 3 def
|
||||
/lpBlue 4 def
|
||||
/BrushArray 6 array def
|
||||
/lbStyle 0 def
|
||||
/lbRed 1 def
|
||||
/lbGreen 2 def
|
||||
/lbBlue 3 def
|
||||
/lbHatchStyle 4 def
|
||||
/lpPattern 5 def
|
||||
/BkColorArray 5 array def
|
||||
/bkRed 0 def
|
||||
/bkGreen 1 def
|
||||
/bkBlue 2 def
|
||||
/TextColorArray 3 array def
|
||||
/TextRed 0 def
|
||||
/TextGreen 1 def
|
||||
/TextBlue 2 def
|
||||
/PenDashArray [ [] [0.2 cm 0.1 cm] [0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm] [] [] ] def
|
||||
|
||||
/HatchStyleArray [ {HS_HORIZ} {HS_VERT} {HS_BDIAG} {HS_FDIAG} {HS_CROSS} {HS_DIAGCROSS} ] def
|
||||
|
||||
/UpdatePen
|
||||
{/PenArray exch def /PenWidthMemo PenArray lpWidth get def } def
|
||||
/UpdateBrush
|
||||
{/BrushArray exch def} def
|
||||
|
||||
/UpdateBkColor
|
||||
{/BkColorArray exch def} def
|
||||
|
||||
/UpdateBkMode
|
||||
{/BkMode exch def} def
|
||||
|
||||
/UpdateTextColor
|
||||
{/TextColorArray exch def} def
|
||||
|
||||
/HS_HORIZ
|
||||
{0 LineSpace PageHeight { /i exch def 0 i MyMatrix itransform moveto PageWidth i MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_VERT
|
||||
{0 LineSpace PageWidth { /i exch def i 0 MyMatrix itransform moveto i PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_CROSS
|
||||
{ HS_HORIZ HS_VERT } def
|
||||
|
||||
/HS_FDIAG
|
||||
{0 PageHeight sub LineSpace 3.5 mul PageWidth
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight add PageHeight
|
||||
MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_BDIAG
|
||||
{0 LineSpace 3.5 mul PageWidth PageHeight add
|
||||
{ /i exch def i 0 MyMatrix itransform moveto i PageHeight sub
|
||||
PageHeight MyMatrix idtransform lineto } for stroke } def
|
||||
/HS_DIAGCROSS
|
||||
{ HS_FDIAG HS_BDIAG } def
|
||||
|
||||
/StrokeWithPen
|
||||
{/join exch def /Penwidth PenArray lpWidth get def
|
||||
Penwidth setlinewidth
|
||||
Penwidth 1 le
|
||||
{ 0 setlinecap }
|
||||
{ Penwidth 5 gt { 1 setlinecap } { 2 setlinecap } ifelse } ifelse
|
||||
join { Penwidth 5 le {0 setlinejoin 3 setmiterlimit}
|
||||
{ Penwidth 8 gt { 1 setlinejoin } { 2 setlinejoin } ifelse } ifelse } if
|
||||
join LineJoin -1 ne and {SetLineJoin setlinejoin} if
|
||||
join MiterLimit -1 ne and {MiterLimit miterlimit} if
|
||||
PenArray lpRed get 255 div PenArray lpGreen get 255 div PenArray lpBlue get 255 div setrgbcolor
|
||||
/PenStyle PenArray lpStyle get def
|
||||
PenStyle 5 lt { PenDashArray PenStyle get 0 setdash stroke }
|
||||
{ PenStyle 6 eq { [] 0 setdash stroke } {newpath} ifelse } ifelse
|
||||
join {0 setlinejoin 10 setmiterlimit} if } def
|
||||
|
||||
/FillWithBkColor
|
||||
{ gsave BkColorArray bkRed get 255 div
|
||||
BkColorArray bkGreen get 255 div BkColorArray bkBlue get
|
||||
255 div setrgbcolor fill grestore } def
|
||||
|
||||
/FillWithBrush
|
||||
{/BrushStyle BrushArray lbStyle get def
|
||||
BrushStyle 2 eq dup BrushStyle 0 eq or
|
||||
{ BrushArray lbRed get 255 div BrushArray lbGreen get 255 div BrushArray lbBlue get 255 div setrgbcolor
|
||||
{ gsave BkMode 2 eq {FillWithBkColor} if clip
|
||||
PenArray lpWidth get PenWidthMemo dup 0 ne {div} {pop} ifelse setlinewidth
|
||||
HatchStyleArray BrushArray lbHatchStyle get get exec
|
||||
grestore }
|
||||
{ fill } ifelse }
|
||||
{BrushStyle 3 eq {BrushArray 5 get p SHR
|
||||
gsave clip /Tmp save def pfill Tmp restore grestore} {pop}ifelse
|
||||
} ifelse } def
|
||||
|
||||
/Fill&Stroke
|
||||
{ gsave FillWithBrush grestore StrokeWithPen } def
|
||||
/patfont 10 dict def patfont begin
|
||||
/FontType 3 def
|
||||
/FontMatrix [1 0 0 -1 0 0] def
|
||||
/FontBBox [0 0 16 16]
|
||||
def/Encoding StandardEncoding def
|
||||
/BuildChar{pop pop 16 0 0 0 16 16
|
||||
setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bind def
|
||||
end
|
||||
/p{/pat 32 string def
|
||||
{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
|
||||
2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
|
||||
put 2 mul 17 add pat exch 2 index put pop}for}bind def
|
||||
|
||||
/AU{1 add cvi 15 or}bind def
|
||||
/AD{1 sub cvi -16 and}bind def
|
||||
/SHR{pathbbox
|
||||
AU/Y1 exch def AU/X1 exch def AD/Y0 exch def AD/X0 exch def}bind def
|
||||
|
||||
/M /moveto load def
|
||||
|
||||
/pfill{/PatFont patfont
|
||||
definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
|
||||
show}for pop}for}bind def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: LineTo
|
||||
/LineTo
|
||||
{ /y exch def /x exch def
|
||||
moveto x y lineto currentpoint false StrokeWithPen } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RectanglePath
|
||||
/RectanglePath
|
||||
{
|
||||
3 index 3 index moveto 3 index 1 index lineto
|
||||
1 index 1 index lineto 1 index 3 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
/RectanglePathBackwards
|
||||
{
|
||||
3 index 3 index moveto 1 index 3 index lineto
|
||||
1 index 1 index lineto 3 index 1 index lineto
|
||||
3 index 3 index lineto pop pop pop pop closepath} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: EllipticPath
|
||||
/EllipticPath
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 360 0 arcn closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
/EllipticPathBackwards
|
||||
{matrix currentmatrix dup 3 index 6 index sub 2 div
|
||||
3 index 6 index sub 2 div
|
||||
7 index 2 index add
|
||||
7 index 2 index add
|
||||
matrix translate 3 1 roll matrix scale
|
||||
exch matrix concatmatrix exch matrix concatmatrix setmatrix
|
||||
1 0 moveto 0 0 1 0 360 arc closepath
|
||||
setmatrix
|
||||
pop pop pop pop
|
||||
}def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Rectangle
|
||||
/RectangleOutLine
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
false StrokeWithPen } def
|
||||
|
||||
/FillRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
/FrameRectangle
|
||||
{/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
/MyMatrix matrix def
|
||||
/x1 x1 0.5 sub def /x2 x2 0.5 add def /y2 y2 0.5 sub def /y1 y1 0.5 add def newpath
|
||||
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto x1 y1 lineto
|
||||
/x1 x1 1 add def /x2 x2 1 sub def /y2 y2 1 add def /y1 y1 1 sub def
|
||||
x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto
|
||||
closepath
|
||||
FillWithBrush} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polygon
|
||||
/Polygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
true Fill&Stroke } def
|
||||
|
||||
/FillPolygon
|
||||
{/MyMatrix matrix def
|
||||
newpath PolylineArray PolylineMode 1 sub get exec closepath
|
||||
FillWithBrush } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Polyline
|
||||
/PolylineArray [ {DrawPolyline} {Bezier} ] def
|
||||
/Polyline
|
||||
{PolylineArray PolylineMode 1 sub get exec pop pop currentpoint true StrokeWithPen } def
|
||||
/Bezier
|
||||
{/nbPoint exch def /nbCurves nbPoint 1 sub 3 idiv def /nbLeft nbPoint 1 sub nbCurves 3 mul sub def
|
||||
moveto 1 1 nbCurves { pop 4 2 roll 6 -2 roll curveto } for
|
||||
nbLeft 1 eq { lineto } {nbLeft 2 eq { 4 2 roll 2 copy curveto } if } ifelse
|
||||
} def
|
||||
/DrawPolyline
|
||||
{/nbPoint exch def moveto
|
||||
1 1 nbPoint 1 sub { pop lineto } for
|
||||
} def
|
||||
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Ellipse
|
||||
/Ellipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false Fill&Stroke
|
||||
grestore } def
|
||||
|
||||
/FillEllipse
|
||||
{gsave
|
||||
/Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 1 0 360 arc closepath
|
||||
FillWithBrush
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Arc
|
||||
/Arc
|
||||
{ gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy
|
||||
scale 1 -1 scale
|
||||
newpath
|
||||
ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
false StrokeWithPen
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Pie
|
||||
/Pie
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath 0 0 moveto ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: Chord
|
||||
/Chord
|
||||
{gsave
|
||||
/ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def
|
||||
Cx Cy translate Dx Dy scale
|
||||
1 -1 scale
|
||||
/MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def
|
||||
newpath ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath
|
||||
1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate
|
||||
true Fill&Stroke
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: RoundRectangle
|
||||
/min {1 index 1 index le { pop} {exch pop} ifelse } def
|
||||
/RoundRectangle
|
||||
{/r2 exch def /r1 exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
y2 2 div r2 min cvi /r2 exch def
|
||||
x2 2 div r1 min cvi /r1 exch def
|
||||
/width x2 r1 idiv def /height y2 r2 idiv def
|
||||
gsave
|
||||
x1 y1 translate r1 r2 scale
|
||||
1 -1 scale
|
||||
/MyMatrix r1 r2 matrix scale x1 y1 matrix translate matrix concatmatrix def
|
||||
newpath
|
||||
1 1 1 180 270 arc
|
||||
width 1 sub 0 lineto width 1 sub 1 1 270 0 arc
|
||||
width height 1 sub lineto width 1 sub height 1 sub 1 0 90 arc
|
||||
1 height lineto 1 height 1 sub 1 90 180 arc
|
||||
closepath
|
||||
PenArray TmpPenArray copy pop
|
||||
PenArray lpWidth PenArray lpWidth get r1 abs r2 abs add 2 div div put
|
||||
false Fill&Stroke
|
||||
TmpPenArray PenArray copy pop
|
||||
grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: TextOut
|
||||
/TextOut
|
||||
{TextColorArray 0 get 255 div TextColorArray 1 get 255 div TextColorArray 2 get 255 div setrgbcolor
|
||||
gsave translate rotate
|
||||
0 0 moveto /expwidth exch def dup stringwidth pop expwidth exch div -1 scale show pop pop currentpoint grestore} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: MwSetFont
|
||||
/EncodingDict 256 dict def
|
||||
EncodingDict begin
|
||||
0 [/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/.notdef /.notdef /.notdef /.notdef
|
||||
/space /exclam /quotedbl /numbersign
|
||||
/dollar /percent /ampersand /quotesingle
|
||||
/parenleft /parenright /asterisk /plus
|
||||
/comma /hyphen /period /slash /zero /one
|
||||
/two /three /four /five /six /seven
|
||||
/eight /nine /colon /semicolon /less
|
||||
/equal /greater /question /at /A /B /C
|
||||
/D /E /F /G /H /I /J /K /L /M /N /O /P
|
||||
/Q /R /S /T /U /V /W /X /Y /Z
|
||||
/bracketleft /backslash /bracketright
|
||||
/asciicircum /underscore /grave /a
|
||||
/b /c /d /e /f /g /h /i /j /k /l /m /n
|
||||
/o /p /q /r /s /t /u /v /w /x /y /z
|
||||
/braceleft /bar /braceright /asciitilde
|
||||
/.notdef /.notdef /.notdef /quotesinglbase
|
||||
/florin /quotedblbase /ellipsis /dagger
|
||||
/daggerdbl /circumflex /perthousand /Scaron
|
||||
/guilsinglleft /OE /.notdef /.notdef
|
||||
/.notdef /.notdef /quoteleft /quoteright
|
||||
/quotedblleft /quotedblright /bullet /endash
|
||||
/emdash /tilde /trademark /scaron
|
||||
/guilsinglright /oe /.notdef /.notdef
|
||||
/Ydieresis /.notdef /exclamdown /cent
|
||||
/sterling /currency /yen /brokenbar
|
||||
/section /dieresis /copyright
|
||||
/ordfeminine /guillemotleft /logicalnot
|
||||
/hyphen /registered /macron /degree
|
||||
/plusminus /twosuperior /threesuperior
|
||||
/acute /mu /paragraph /periodcentered
|
||||
/cedilla /onesuperior /ordmasculine
|
||||
/guillemotright /onequarter /onehalf
|
||||
/threequarters /questiondown /Agrave
|
||||
/Aacute /Acircumflex /Atilde /Adieresis
|
||||
/Aring /AE /Ccedilla /Egrave /Eacute
|
||||
/Ecircumflex /Edieresis /Igrave /Iacute
|
||||
/Icircumflex /Idieresis /Eth /Ntilde
|
||||
/Ograve /Oacute /Ocircumflex /Otilde
|
||||
/Odieresis /multiply /Oslash /Ugrave
|
||||
/Uacute /Ucircumflex /Udieresis /Yacute
|
||||
/Thorn /germandbls /agrave /aacute
|
||||
/acircumflex /atilde /adieresis /aring
|
||||
/ae /ccedilla /egrave /eacute
|
||||
/ecircumflex /edieresis /igrave /iacute
|
||||
/icircumflex /idieresis /eth /ntilde
|
||||
/ograve /oacute /ocircumflex /otilde
|
||||
/odieresis /divide /oslash /ugrave
|
||||
/uacute /ucircumflex /udieresis /yacute
|
||||
/thorn /ydieresis] def
|
||||
end
|
||||
/fntdict 100 dict def
|
||||
|
||||
/MwScaleAndSetFont
|
||||
{
|
||||
2 index findfont dup length dict begin
|
||||
{1 index /FID ne {def} {pop pop} ifelse} forall
|
||||
dup EncodingDict exch known
|
||||
{EncodingDict exch get /Encoding exch def} {pop} ifelse
|
||||
currentdict end /font0 exch definefont
|
||||
exch scalefont setfont pop
|
||||
} def
|
||||
|
||||
/MwSetFont
|
||||
{
|
||||
% look in cache of scaled fonts
|
||||
1 index /askedsize exch def
|
||||
2 index /askedname exch def
|
||||
fntdict askedname known
|
||||
{ % font name found in cache - what about the size
|
||||
/fntszdict fntdict askedname get def
|
||||
fntszdict askedsize known
|
||||
{
|
||||
% font size found in cache
|
||||
fntszdict askedsize get setfont pop pop pop
|
||||
}
|
||||
{
|
||||
MwScaleAndSetFont
|
||||
fntszdict askedsize currentfont put
|
||||
}
|
||||
ifelse
|
||||
}
|
||||
{ % not found in cache
|
||||
MwScaleAndSetFont
|
||||
/fntszdict 200 dict def
|
||||
fntszdict askedsize currentfont put
|
||||
fntdict askedname fntszdict put
|
||||
}
|
||||
ifelse
|
||||
} def
|
||||
%%EndResource
|
||||
|
||||
%%BeginResource: DisplayBB
|
||||
/DisplayBB {gsave initgraphics 72 300 div 72 300 div scale 0 3300 translate
|
||||
1 -1 scale 1 setlinewidth 1 0 0 setrgbcolor
|
||||
/y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
stroke grestore } def
|
||||
%%EndResource
|
||||
|
||||
%%EndProlog
|
||||
|
||||
%%BeginSetup
|
||||
[{
|
||||
%%BeginFeature: *InputSlot AUTO
|
||||
6 statusdict /setpapertray get exec
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
[{
|
||||
%%BeginFeature: *PageRegion LETTER
|
||||
LETTER
|
||||
%%EndFeature
|
||||
} stopped cleartomark
|
||||
%%EndSetup
|
||||
|
||||
%%Page:
|
||||
%%BeginPageSetup
|
||||
/ClockWise false def /LineJoin -1 def /MiterLimit -1 def /PolylineMode 1 def /LineCap 0 def
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0] UpdateTextColor
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
0 0
|
||||
|
||||
% All the numbers (for positions, length or font size) given
|
||||
% in this file are expressed in pixels, but interpreted by
|
||||
% Postscript as points (1/72 inch)!
|
||||
% -->so scale accordingly!
|
||||
72 300 div 72 300 div scale
|
||||
|
||||
% So that (0, 0) is at top-left corner of paper sheet (takes postscript scaling into account too)
|
||||
0 3300 translate
|
||||
1 -1 scale
|
||||
|
||||
/Courier 38 0 MwSetFont
|
||||
gstate /Mwgstate exch def
|
||||
%%EndPageSetup:
|
||||
Mwgstate setgstate newpath
|
||||
16 16 2416 3054 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1054 536 1761 647 FillRectangle
|
||||
1054 536 1761 647 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4NonEquilibriumEvaporator) 680 -0.00 1068 582 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1054 596 1761 647 FillRectangle
|
||||
1054 596 1761 647 RectangleOutLine
|
||||
1054 619 1761 647 FillRectangle
|
||||
1054 619 1761 647 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1782 72 2281 183 FillRectangle
|
||||
1782 72 2281 183 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4ExitationHandler) 471 -0.00 1796 118 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1782 132 2281 183 FillRectangle
|
||||
1782 132 2281 183 RectangleOutLine
|
||||
1782 155 2281 183 FillRectangle
|
||||
1782 155 2281 183 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1127 130 1656 285 FillRectangle
|
||||
1127 130 1656 285 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4VPreCompoundModel) 497 -0.00 1143 176 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1127 238 1656 285 FillRectangle
|
||||
1127 238 1656 285 RectangleOutLine
|
||||
1127 261 1656 285 FillRectangle
|
||||
1127 261 1656 285 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(\(from Geant4\)) 340 -0.00 1222 227 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
pop pop 1719 166
|
||||
1781 159 LineTo
|
||||
pop pop 1781 159
|
||||
1747 178 LineTo
|
||||
pop pop 1781 159
|
||||
1743 148 LineTo
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
pop pop 1719 166
|
||||
1657 174 LineTo
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
pop pop 1405 535
|
||||
1395 286 LineTo
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
1375 347 1419 345 1395 286 3 Polygon
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
1815 312 2312 423 FillRectangle
|
||||
1815 312 2312 423 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
[0 1 0 0 0] UpdatePen
|
||||
[0 0 0 0 0 <>] UpdateBrush
|
||||
1 UpdateBkMode
|
||||
[255 255 255] UpdateBkColor
|
||||
(G4PreEqTransitions) 471 -0.00 1828 358 TextOut
|
||||
[255 255 255] UpdateBkColor
|
||||
2 UpdateBkMode
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
1815 372 2312 423 FillRectangle
|
||||
1815 372 2312 423 RectangleOutLine
|
||||
1815 395 2312 423 FillRectangle
|
||||
1815 395 2312 423 RectangleOutLine
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 43 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
[0 192 192 192 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 1 128 128 128] UpdatePen
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
pop pop 1743 290
|
||||
1657 270 LineTo
|
||||
pop pop 1657 270
|
||||
1695 263 LineTo
|
||||
pop pop 1657 270
|
||||
1689 293 LineTo
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 128 128 128 0 <>] UpdateBrush
|
||||
pop pop 1743 290
|
||||
1829 311 LineTo
|
||||
[1 0 0 0 0 <>] UpdateBrush
|
||||
[0 255 255 255 0 <>] UpdateBrush
|
||||
[0 0 0 0 0] UpdatePen
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop 166 3054
|
||||
766 3054 LineTo
|
||||
/Courier 35 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 35 0 MwSetFont
|
||||
(File: /afs/cern.ch/user/m/miheikki/public/html/inucl/doc/inucl.mdl Tue Jul 24 18:30:01 2001 Class ) 2188 -0.00 166 3089 TextOut
|
||||
(Diagram: pre-equilibrium / Main Page 1) 821 -0.00 166 3126 TextOut
|
||||
Mwgstate setgstate newpath
|
||||
0 0 2432 3182 RectanglePath
|
||||
clip newpath
|
||||
/Courier 38 0 MwSetFont
|
||||
/Courier 38 0 MwSetFont
|
||||
pop pop % pop out coordinates for current pen position
|
||||
showpage
|
||||
end
|
||||
% end of the MainWin EPS file
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -53,12 +53,12 @@ public:
|
||||
|
||||
private:
|
||||
G4int verboseLevel;
|
||||
G4std::vector< G4BertiniEvaporationChannel * > channelVector;
|
||||
void fillResult( G4std::vector< G4DynamicParticle * > secondaryParticleVector,
|
||||
std::vector< G4BertiniEvaporationChannel * > channelVector;
|
||||
void fillResult( std::vector< G4DynamicParticle * > secondaryParticleVector,
|
||||
G4FragmentVector * aResult );
|
||||
void splitBe8( const G4double E,
|
||||
const G4ThreeVector boost,
|
||||
G4std::vector< G4DynamicParticle * > & secondaryParticleVector);
|
||||
std::vector< G4DynamicParticle * > & secondaryParticleVector);
|
||||
void isotropicCosines( G4double & u, G4double & v,G4double & w );
|
||||
};
|
||||
|
||||
|
||||
@@ -64,9 +64,9 @@ void G4BEChargedChannel::calculateProbability()
|
||||
G4double levelParam = getLevelDensityParameter();
|
||||
G4double s = 2 * sqrt( levelParam * ( excitationEnergy - getThresh() - correction ) );
|
||||
G4double constant = A / 2 * ( 2 * spin + 1 ) * ( 1 + coulombFactor() );
|
||||
G4double eye1 = ( pow( s, 2 ) - 3 * s + 3 ) / ( 4 * pow( levelParam, 2 ) ) * exp( s );
|
||||
G4double eye1 = ( pow( s, 2. ) - 3 * s + 3 ) / ( 4 * pow( levelParam, 2. ) ) * exp( s );
|
||||
|
||||
emissionProbability = constant * pow( residualA, 0.6666666 ) * eye1;
|
||||
emissionProbability = constant * pow( G4double(residualA), 0.6666666 ) * eye1;
|
||||
|
||||
if ( verboseLevel >= 6 )
|
||||
G4cout << "G4BEChargedChannel : calculateProbability for " << getName() << G4endl
|
||||
@@ -100,8 +100,8 @@ G4double G4BEChargedChannel::sampleKineticEnergy()
|
||||
// randExp2 = RandExponential::shoot( 1 );
|
||||
// levelParam = getLevelDensityParameter();
|
||||
// s = 2 * sqrt( levelParam * ( excitationEnergy - getThresh() - correction ) );
|
||||
// kineticEnergyAv = 2 * ( pow( s, 3 ) - 6.0 * pow( s, 2 ) + 15.0 * s - 15.0 ) /
|
||||
// ( ( 2.0 * pow( s, 2 ) - 6.0 * s + 6.0 ) * levelParam );
|
||||
// kineticEnergyAv = 2 * ( pow( s, 3. ) - 6.0 * pow( s, 2. ) + 15.0 * s - 15.0 ) /
|
||||
// ( ( 2.0 * pow( s, 2. ) - 6.0 * s + 6.0 ) * levelParam );
|
||||
|
||||
// kineticEnergy = 0.5 * ( randExp1 + randExp2 ) * kineticEnergyAv + getThresh() - getQ();
|
||||
|
||||
|
||||
@@ -75,12 +75,12 @@ void G4BENeutronChannel::calculateProbability()
|
||||
const G4double levelParam = getLevelDensityParameter();
|
||||
|
||||
const G4double s = 2 * sqrt( levelParam * ( excitationEnergy - getThresh() - correction ) );
|
||||
const G4double temp = ( pow( s, 2 ) - 3 * s + 3 ) / ( 4 * pow( levelParam, 2 ) )
|
||||
+ beta() * ( s - 1 ) / ( 2 * levelParam );
|
||||
// const G4double temp = ( pow( s, 2. ) - 3 * s + 3 ) / ( 4 * pow( levelParam, 2. ) )
|
||||
// + beta() * ( s - 1 ) / ( 2 * levelParam );
|
||||
const G4double eye0 = exp( s ) * ( s - 1 ) / ( 2 * levelParam );
|
||||
const G4double eye1 = ( pow( s, 2 ) - 3*s +3 ) * exp( s ) / ( 4 * pow( levelParam, 2 ) ) ;
|
||||
const G4double eye1 = ( pow( s, 2. ) - 3*s +3 ) * exp( s ) / ( 4 * pow( levelParam, 2. ) ) ;
|
||||
|
||||
emissionProbability = pow( residualA, 0.666666 ) * alpha() * ( eye1 + beta() * eye0 );
|
||||
emissionProbability = pow( G4double(residualA), 0.666666 ) * alpha() * ( eye1 + beta() * eye0 );
|
||||
|
||||
if ( verboseLevel >= 6 )
|
||||
G4cout << "G4BENeutronChannel : calculateProbability " << G4endl
|
||||
@@ -122,9 +122,9 @@ G4double G4BENeutronChannel::sampleKineticEnergy()
|
||||
// levelParam = getLevelDensityParameter();
|
||||
// s = 2 * sqrt( levelParam * ( excitationEnergy - getThresh() - correction ) );
|
||||
// eye0 = 0.5 * ( s - 1 ) * exp( s ) / levelParam;
|
||||
// eye1 = ( pow( s, 2 ) - 3*s + 3 ) * exp( s ) / ( 4 * pow( levelParam, 2 ) );
|
||||
// kineticEnergyAv = 2 * ( pow( s, 3 ) - 6.0 * pow( s, 2 ) + 15.0 * s - 15.0 ) /
|
||||
// ( ( 2.0 * pow( s, 2 ) - 6.0 * s + 6.0 ) * levelParam );
|
||||
// eye1 = ( pow( s, 2. ) - 3*s + 3 ) * exp( s ) / ( 4 * pow( levelParam, 2. ) );
|
||||
// kineticEnergyAv = 2 * ( pow( s, 3. ) - 6.0 * pow( s, 2. ) + 15.0 * s - 15.0 ) /
|
||||
// ( ( 2.0 * pow( s, 2. ) - 6.0 * s + 6.0 ) * levelParam );
|
||||
// kineticEnergyAv = ( kineticEnergyAv + beta() ) / ( 1.0 + beta() * eye0
|
||||
// / eye1 );
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ void G4BertiniEvaporation::setVerboseLevel( const G4int verbose )
|
||||
verboseLevel = verbose;
|
||||
|
||||
// Update verbose level to all evaporation channels.
|
||||
G4std::vector< G4BertiniEvaporationChannel * >::iterator iChannel = channelVector.begin();
|
||||
std::vector< G4BertiniEvaporationChannel * >::iterator iChannel = channelVector.begin();
|
||||
for ( ; iChannel != channelVector.end() ; *iChannel++ )
|
||||
( *iChannel )->setVerboseLevel( verboseLevel );
|
||||
}
|
||||
@@ -89,7 +89,7 @@ G4FragmentVector * G4BertiniEvaporation::BreakItUp( G4LayeredNucleus & nucleus )
|
||||
G4double mRes; // Mass of residual nucleus.
|
||||
G4ThreeVector nucleusMomentumVector;
|
||||
G4DynamicParticle *pEmittedParticle;
|
||||
G4std::vector< G4DynamicParticle * > secondaryParticleVector;
|
||||
std::vector< G4DynamicParticle * > secondaryParticleVector;
|
||||
G4FragmentVector * result = new G4FragmentVector;
|
||||
|
||||
// Read properties of the nucleus.
|
||||
@@ -115,7 +115,7 @@ G4FragmentVector * G4BertiniEvaporation::BreakItUp( G4LayeredNucleus & nucleus )
|
||||
|
||||
// Initialize evaporation channels and calculate sum of emission
|
||||
// probabilities.
|
||||
G4std::vector< G4BertiniEvaporationChannel * >::iterator iChannel = channelVector.begin();
|
||||
std::vector< G4BertiniEvaporationChannel * >::iterator iChannel = channelVector.begin();
|
||||
totalProbability = 0;
|
||||
for ( ; iChannel != channelVector.end() ; *iChannel++ )
|
||||
{
|
||||
@@ -177,7 +177,7 @@ G4FragmentVector * G4BertiniEvaporation::BreakItUp( G4LayeredNucleus & nucleus )
|
||||
|
||||
const G4int zRes = nucleusZ - pSelectedChannel->getParticleZ();
|
||||
const G4int aRes = nucleusA - pSelectedChannel->getParticleA();
|
||||
const G4double eBind = G4NucleiProperties::GetBindingEnergy( aRes, zRes ); // Binding energy of the nucleus.
|
||||
// const G4double eBind = G4NucleiProperties::GetBindingEnergy( aRes, zRes ); // Binding energy of the nucleus.
|
||||
mRes = G4NucleiProperties::GetAtomicMass( aRes, zRes ); // Mass of the target nucleus
|
||||
// In HETC88:
|
||||
// eBind = Z * (-0.78244) + A * 8.36755 - cameron ( A , Z );
|
||||
@@ -328,7 +328,7 @@ G4FragmentVector * G4BertiniEvaporation::BreakItUp( G4LayeredNucleus & nucleus )
|
||||
|
||||
void G4BertiniEvaporation::splitBe8( const G4double E,
|
||||
const G4ThreeVector boostToLab,
|
||||
G4std::vector< G4DynamicParticle * > & secondaryParticleVector )
|
||||
std::vector< G4DynamicParticle * > & secondaryParticleVector )
|
||||
{
|
||||
G4double kineticEnergy;
|
||||
G4double u;
|
||||
@@ -376,7 +376,7 @@ void G4BertiniEvaporation::splitBe8( const G4double E,
|
||||
}
|
||||
|
||||
|
||||
void G4BertiniEvaporation::fillResult( G4std::vector<G4DynamicParticle *> secondaryParticleVector,
|
||||
void G4BertiniEvaporation::fillResult( std::vector<G4DynamicParticle *> secondaryParticleVector,
|
||||
G4FragmentVector * aResult )
|
||||
{
|
||||
// Fill the vector pParticleChange with secondary particles stored in vector.
|
||||
|
||||
+2
-2
@@ -159,7 +159,7 @@ G4double G4BertiniEvaporationChannel::getCoulomb()
|
||||
// In HETC88 this factor was 0.88235, perhaps due to different r0
|
||||
|
||||
G4double coulomb = factor * particleZ * qmFactor() * residualZ /
|
||||
( pow( residualA, 0.33333333 ) + rho ) * MeV;
|
||||
( pow( G4double(residualA), 0.33333333 ) + rho ) * MeV;
|
||||
|
||||
if ( verboseLevel >= 10 )
|
||||
G4cout << " G4BertiniEvaporationChannel::getThresh() " << G4endl
|
||||
@@ -192,7 +192,7 @@ G4double G4BertiniEvaporationChannel::getLevelDensityParameter()
|
||||
G4double y0 = 1.5;
|
||||
|
||||
G4double temp = ( residualA - 2.0 * residualZ ) / residualA;
|
||||
G4double smallA = residualA * ( 1.0 + y0 * pow( temp, 2 ) ) / b0 / MeV;
|
||||
G4double smallA = residualA * ( 1.0 + y0 * pow( temp, 2. ) ) / b0 / MeV;
|
||||
|
||||
// In HETC98 b0 = b0(E).
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.2 1999/11/24 14:14:59 miheikki Exp $
|
||||
# $Id: GNUmakefile,v 1.3 2003/06/18 13:24:26 gcosmo Exp $
|
||||
# -----------------------------------------------------------
|
||||
# GNUmakefile for hadronic library. Gabriele Cosmo, 18/9/96.
|
||||
# -----------------------------------------------------------
|
||||
@@ -11,8 +11,6 @@ endif
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
G4TMPDIR = $(G4TMP)/$(G4SYSTEM)/$(name)
|
||||
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include \
|
||||
-I$(G4BASE)/global/HEPRandom/include \
|
||||
-I$(G4BASE)/global/HEPGeometry/include \
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PreEquilibrium.hh,v 1.9 2001/07/11 10:03:54 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4PreEquilibrium.hh,v 1.10 2003/06/16 17:03:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// Hadronic Process: Pre-equilibrium HETC
|
||||
// Joseph L. Chuma, TRIUMF, 24-Mar-2000
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "globals.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4PreEquilibrium
|
||||
{
|
||||
@@ -70,7 +70,7 @@
|
||||
G4int ip4; // values from 0 to N
|
||||
};
|
||||
|
||||
#define G4Vector G4std::vector
|
||||
#define G4Vector std::vector
|
||||
typedef G4Vector< G4DynamicParticle* > DPvector;
|
||||
typedef G4Vector< G4double > Dvector;
|
||||
typedef G4Vector< G4int > Ivector;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PreEquilibrium.cc,v 1.9 2001/07/11 10:03:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// Hadronic Process: Pre-equilibrium HETC
|
||||
// Joseph L. Chuma, TRIUMF, 24-Mar-2000
|
||||
|
||||
Reference in New Issue
Block a user