Moved Tao's code to TaoLEMuSR.
This commit is contained in:
629
geant4/TaoLEMuSR/G4Modified/G4ChordFinder.cc
Normal file
629
geant4/TaoLEMuSR/G4Modified/G4ChordFinder.cc
Normal file
@ -0,0 +1,629 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ChordFinder.cc,v 1.45 2003/11/13 19:46:56 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// 25.02.97 John Apostolakis, design and implimentation
|
||||
// 05.03.97 V. Grichine , style modification
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#include "G4ChordFinder.hh"
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4El_UsualEqRhs.hh"
|
||||
#include "G4Mag_UsualEqRhs.hh"
|
||||
#include "G4ClassicalRK4.hh"
|
||||
|
||||
#include <iomanip>
|
||||
#include "G4ios.hh"
|
||||
#include "G4Transform3D.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
|
||||
// ..........................................................................
|
||||
|
||||
G4ChordFinder::G4ChordFinder(G4MagInt_Driver* pIntegrationDriver)
|
||||
: fDefaultDeltaChord( 0.25 * mm ),
|
||||
fDeltaChord( fDefaultDeltaChord ),
|
||||
fAllocatedStepper(false),
|
||||
fEquation(0),
|
||||
fDriversStepper(0),
|
||||
fFirstFraction(0.999), fFractionLast(1.00), fFractionNextEstimate(0.98),
|
||||
fMultipleRadius(15.0),
|
||||
fTotalNoTrials_FNC(0), fNoCalls_FNC(0), fmaxTrials_FNC(0),
|
||||
fStatsVerbose(0)
|
||||
{
|
||||
// Simple constructor which does not create equation, ..
|
||||
// fDeltaChord= fDefaultDeltaChord;
|
||||
fIntgrDriver= pIntegrationDriver;
|
||||
fAllocatedStepper= false;
|
||||
fLastStepEstimate_Unconstrained = DBL_MAX; // Should move q, p to
|
||||
|
||||
SetFractions_Last_Next( fFractionLast, fFractionNextEstimate);
|
||||
// check the values and set the other parameters
|
||||
}
|
||||
|
||||
// ..........................................................................
|
||||
|
||||
G4ChordFinder::G4ChordFinder( G4MagneticField* theMagField,
|
||||
G4double stepMinimum,
|
||||
G4MagIntegratorStepper* pItsStepper )
|
||||
: fDefaultDeltaChord( 0.25 * mm ),
|
||||
fDeltaChord( fDefaultDeltaChord ),
|
||||
fAllocatedStepper(false),
|
||||
fEquation(0),
|
||||
fDriversStepper(0),
|
||||
fFirstFraction(0.999), fFractionLast(1.00), fFractionNextEstimate(0.98),
|
||||
fMultipleRadius(15.0),
|
||||
fTotalNoTrials_FNC(0), fNoCalls_FNC(0), fmaxTrials_FNC(0),
|
||||
fStatsVerbose(0)
|
||||
{
|
||||
// Construct the Chord Finder
|
||||
// by creating in inverse order the Driver, the Stepper and EqRhs ...
|
||||
G4Mag_EqRhs *pEquation = new G4Mag_UsualEqRhs(theMagField);
|
||||
fEquation = pEquation;
|
||||
fLastStepEstimate_Unconstrained = DBL_MAX; // Should move q, p to
|
||||
// G4FieldTrack ??
|
||||
|
||||
SetFractions_Last_Next( fFractionLast, fFractionNextEstimate);
|
||||
// check the values and set the other parameters
|
||||
|
||||
// --->> Charge Q = 0
|
||||
// --->> Momentum P = 1 NOMINAL VALUES !!!!!!!!!!!!!!!!!!
|
||||
|
||||
if( pItsStepper == 0 )
|
||||
{
|
||||
pItsStepper = fDriversStepper = new G4ClassicalRK4(pEquation);
|
||||
fAllocatedStepper= true;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAllocatedStepper= false;
|
||||
}
|
||||
fIntgrDriver = new G4MagInt_Driver(stepMinimum, pItsStepper,
|
||||
pItsStepper->GetNumberOfVariables() );
|
||||
}
|
||||
|
||||
// .........................................................................
|
||||
|
||||
G4ChordFinder::G4ChordFinder( G4ElectricField* theElField,
|
||||
G4double stepMinimum,
|
||||
G4MagIntegratorStepper* pItsStepper )
|
||||
: fDefaultDeltaChord( 0.25 * mm ),
|
||||
fDeltaChord( fDefaultDeltaChord ),
|
||||
fAllocatedStepper(false),
|
||||
fEquation(0),
|
||||
fDriversStepper(0),
|
||||
fFirstFraction(0.999), fFractionLast(1.00), fFractionNextEstimate(0.98),
|
||||
fMultipleRadius(15.0),
|
||||
fTotalNoTrials_FNC(0), fNoCalls_FNC(0), fmaxTrials_FNC(0),
|
||||
fStatsVerbose(0)
|
||||
{ // Construct the Chord Finder
|
||||
// by creating in inverse order the Driver, the Stepper and EqRhs ...
|
||||
G4El_UsualEqRhs *pEquation = new G4El_UsualEqRhs(theElField);
|
||||
fEquation = pEquation;
|
||||
fLastStepEstimate_Unconstrained = DBL_MAX; // Should move q, p to
|
||||
// G4FieldTrack ??
|
||||
|
||||
SetFractions_Last_Next( fFractionLast, fFractionNextEstimate);
|
||||
// check the values and set the other parameters
|
||||
|
||||
// --->> Charge Q = 0
|
||||
// --->> Momentum P = 1 NOMINAL VALUES !!!!!!!!!!!!!!!!!!
|
||||
|
||||
if( pItsStepper == 0 )
|
||||
{
|
||||
pItsStepper = fDriversStepper = new G4ClassicalRK4(pEquation);
|
||||
fAllocatedStepper= true;
|
||||
}
|
||||
else
|
||||
{
|
||||
fAllocatedStepper= false;
|
||||
}
|
||||
fIntgrDriver = new G4MagInt_Driver(stepMinimum, pItsStepper,
|
||||
pItsStepper->GetNumberOfVariables() );
|
||||
|
||||
|
||||
G4cout << " CHORD FINDER :: init..."
|
||||
<< G4endl;
|
||||
|
||||
|
||||
// tao
|
||||
mfield=theElField;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ......................................................................
|
||||
|
||||
void
|
||||
G4ChordFinder::SetFractions_Last_Next( G4double fractLast, G4double fractNext )
|
||||
{
|
||||
// Use -1.0 as request for Default.
|
||||
if( fractLast == -1.0 ) fractLast = 1.0; // 0.9;
|
||||
if( fractNext == -1.0 ) fractNext = 0.98; // 0.9;
|
||||
|
||||
// fFirstFraction = 0.999; // Orig 0.999 A safe value, range: ~ 0.95 - 0.999
|
||||
// fMultipleRadius = 15.0; // For later use, range: ~ 2 - 20
|
||||
|
||||
if( fStatsVerbose ) {
|
||||
G4cout << " ChordFnd> Trying to set fractions: "
|
||||
<< " first " << fFirstFraction
|
||||
<< " last " << fractLast
|
||||
<< " next " << fractNext
|
||||
<< " and multiple " << fMultipleRadius
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
if( (fractLast > 0.0) && (fractLast <=1.0) )
|
||||
{ fFractionLast= fractLast; }
|
||||
else
|
||||
G4cerr << "G4ChordFinder:: SetFractions_Last_Next: Invalid "
|
||||
<< " fraction Last = " << fractLast
|
||||
<< " must be 0 < fractionLast <= 1 " << G4endl;
|
||||
if( (fractNext > 0.0) && (fractNext <1.0) )
|
||||
{ fFractionNextEstimate = fractNext; }
|
||||
else
|
||||
G4cerr << "G4ChordFinder:: SetFractions_Last_Next: Invalid "
|
||||
<< " fraction Next = " << fractNext
|
||||
<< " must be 0 < fractionNext < 1 " << G4endl;
|
||||
}
|
||||
|
||||
// ......................................................................
|
||||
|
||||
G4ChordFinder::~G4ChordFinder()
|
||||
{
|
||||
delete fEquation; // fIntgrDriver->pIntStepper->theEquation_Rhs;
|
||||
if( fAllocatedStepper)
|
||||
{
|
||||
delete fDriversStepper;
|
||||
} // fIntgrDriver->pIntStepper;}
|
||||
delete fIntgrDriver;
|
||||
|
||||
if( fStatsVerbose ) { PrintStatistics(); }
|
||||
}
|
||||
|
||||
void
|
||||
G4ChordFinder::PrintStatistics()
|
||||
{
|
||||
// Print Statistics
|
||||
G4cout << "G4ChordFinder statistics report: " << G4endl;
|
||||
G4cout
|
||||
<< " No trials: " << fTotalNoTrials_FNC
|
||||
<< " No Calls: " << fNoCalls_FNC
|
||||
<< " Max-trial: " << fmaxTrials_FNC
|
||||
<< G4endl;
|
||||
G4cout
|
||||
<< " Parameters: "
|
||||
<< " fFirstFraction " << fFirstFraction
|
||||
<< " fFractionLast " << fFractionLast
|
||||
<< " fFractionNextEstimate " << fFractionNextEstimate
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
// ......................................................................
|
||||
|
||||
G4double
|
||||
G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent,
|
||||
G4double stepMax,
|
||||
G4double epsStep,
|
||||
const G4ThreeVector latestSafetyOrigin,
|
||||
G4double latestSafetyRadius
|
||||
)
|
||||
{
|
||||
|
||||
G4double stepPossible;
|
||||
G4double dyErr;
|
||||
G4FieldTrack yEnd( yCurrent);
|
||||
G4double startCurveLen= yCurrent.GetCurveLength();
|
||||
|
||||
G4double nextStep;
|
||||
// *************
|
||||
stepPossible= FindNextChord(yCurrent, stepMax, yEnd, dyErr, epsStep, &nextStep
|
||||
, latestSafetyOrigin, latestSafetyRadius
|
||||
);
|
||||
// *************
|
||||
G4bool good_advance;
|
||||
if ( dyErr < epsStep * stepPossible )
|
||||
{
|
||||
// Accept this accuracy.
|
||||
yCurrent = yEnd;
|
||||
good_advance = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Advance more accurately to "end of chord"
|
||||
// ***************
|
||||
good_advance = fIntgrDriver->AccurateAdvance(yCurrent, stepPossible, epsStep, nextStep);
|
||||
// ***************
|
||||
if ( ! good_advance ){
|
||||
// In this case the driver could not do the full distance
|
||||
stepPossible= yCurrent.GetCurveLength()-startCurveLen;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef G4DEBUG_FIELD
|
||||
G4cout << "Exiting FindNextChord Limited with:" << G4endl
|
||||
<< " yCurrent: " << yCurrent<< G4endl
|
||||
<<" step possible: " << stepPossible <<G4endl;
|
||||
|
||||
G4cout << "G4ChordFinder report: final fieldtrack \n" << yCurrent <<"\n"
|
||||
<< "spin" << yCurrent.GetSpin() <<"\n"
|
||||
<<"time of flight" <<yCurrent.GetProperTimeOfFlight()/ns <<"\n"
|
||||
<<G4endl;
|
||||
#endif
|
||||
|
||||
return stepPossible;
|
||||
}
|
||||
|
||||
// #define TEST_CHORD_PRINT 1
|
||||
|
||||
// ............................................................................
|
||||
|
||||
G4double
|
||||
G4ChordFinder::FindNextChord( const G4FieldTrack yStart,
|
||||
G4double stepMax,
|
||||
G4FieldTrack& yEnd, // Endpoint
|
||||
G4double& dyErrPos, // Error of endpoint
|
||||
G4double epsStep,
|
||||
G4double* pStepForAccuracy,
|
||||
const G4ThreeVector, // latestSafetyOrigin,
|
||||
G4double // latestSafetyRadius
|
||||
)
|
||||
// Returns Length of Step taken
|
||||
{
|
||||
// G4int stepRKnumber=0;
|
||||
G4FieldTrack yCurrent= yStart;
|
||||
G4double stepTrial, stepForAccuracy;
|
||||
G4double dydx[G4FieldTrack::ncompSVEC];
|
||||
|
||||
// 1.) Try to "leap" to end of interval
|
||||
// 2.) Evaluate if resulting chord gives d_chord that is good enough.
|
||||
// 2a.) If d_chord is not good enough, find one that is.
|
||||
|
||||
G4bool validEndPoint= false;
|
||||
G4double dChordStep, lastStepLength; // stepOfLastGoodChord;
|
||||
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout <<"\n---------- G4ChordFinder :: init FieldTrack : " << yCurrent << "\n------------";
|
||||
#endif
|
||||
|
||||
fIntgrDriver-> GetDerivatives( yCurrent, dydx ) ;
|
||||
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout <<"\n---------- G4ChordFinder :: derivative got, entering loop : dydx "
|
||||
<< dydx[0] <<" " << dydx[1] <<" "<< dydx[2] <<" "<<"\n"
|
||||
<< dydx[3] <<" " << dydx[4] <<" "<< dydx[5] <<" "<<"\n"
|
||||
<< dydx[6] <<" " << dydx[7] <<" "<< dydx[8] <<" "<<"\n"
|
||||
<< dydx[9] <<" " << dydx[10] <<" "<< dydx[11] <<" "<<"\n"
|
||||
<<G4endl;
|
||||
#endif
|
||||
|
||||
G4int noTrials=0;
|
||||
const G4double safetyFactor= fFirstFraction; // 0.975 or 0.99 ? was 0.999
|
||||
|
||||
stepTrial = std::min( stepMax,
|
||||
safetyFactor * fLastStepEstimate_Unconstrained );
|
||||
|
||||
G4double newStepEst_Uncons= 0.0;
|
||||
do
|
||||
{
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout <<"\n---------- G4ChordFinder :: quick Advance : " << yCurrent << "\n------------";
|
||||
#endif
|
||||
|
||||
G4double stepForChord;
|
||||
yCurrent = yStart; // Always start from initial point
|
||||
|
||||
// ************
|
||||
fIntgrDriver->QuickAdvance( yCurrent, dydx, stepTrial,
|
||||
dChordStep, dyErrPos);
|
||||
// ************
|
||||
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout <<"\n---------- G4ChordFinder :: current FieldTrack : " << yCurrent << "\n------------";
|
||||
#endif
|
||||
|
||||
// We check whether the criterion is met here.
|
||||
validEndPoint = AcceptableMissDist(dChordStep);
|
||||
// && (dyErrPos < eps) ;
|
||||
|
||||
lastStepLength = stepTrial;
|
||||
|
||||
// This method estimates to step size for a good chord.
|
||||
stepForChord = NewStep(stepTrial, dChordStep, newStepEst_Uncons );
|
||||
|
||||
if( ! validEndPoint ) {
|
||||
if( stepTrial<=0.0 )
|
||||
stepTrial = stepForChord;
|
||||
else if (stepForChord <= stepTrial)
|
||||
// Reduce by a fraction, possibly up to 20%
|
||||
stepTrial = std::min( stepForChord,
|
||||
fFractionLast * stepTrial);
|
||||
else
|
||||
stepTrial *= 0.1;
|
||||
|
||||
// if(dbg) G4cerr<<"Dchord too big. Try new hstep="<<stepTrial<<G4endl;
|
||||
}
|
||||
// #ifdef TEST_CHORD_PRINT
|
||||
// TestChordPrint( noTrials, lastStepLength, dChordStep, stepTrial );
|
||||
// #endif
|
||||
|
||||
noTrials++;
|
||||
}
|
||||
while( ! validEndPoint ); // End of do-while RKD
|
||||
|
||||
if( newStepEst_Uncons > 0.0 ){
|
||||
fLastStepEstimate_Unconstrained= newStepEst_Uncons;
|
||||
}
|
||||
|
||||
AccumulateStatistics( noTrials );
|
||||
|
||||
// stepOfLastGoodChord = stepTrial;
|
||||
|
||||
if( pStepForAccuracy ){
|
||||
// Calculate the step size required for accuracy, if it is needed
|
||||
G4double dyErr_relative = dyErrPos/(epsStep*lastStepLength);
|
||||
if( dyErr_relative > 1.0 ) {
|
||||
stepForAccuracy =
|
||||
fIntgrDriver->ComputeNewStepSize( dyErr_relative,
|
||||
lastStepLength );
|
||||
}else{
|
||||
stepForAccuracy = 0.0; // Convention to show step was ok
|
||||
}
|
||||
*pStepForAccuracy = stepForAccuracy;
|
||||
}
|
||||
|
||||
#ifdef TEST_CHORD_PRINT
|
||||
// static int dbg=0;
|
||||
// if( dbg )
|
||||
G4cout << "ChordF/FindNextChord: NoTrials= " << noTrials
|
||||
<< " StepForGoodChord=" << std::setw(10) << stepTrial << G4endl;
|
||||
#endif
|
||||
|
||||
yEnd= yCurrent;
|
||||
return stepTrial;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
#if 0
|
||||
// #ifdef G4VERBOSE
|
||||
if( dbg ) {
|
||||
G4cerr << "Returned from QuickAdvance with: yCur=" << yCurrent <<G4endl;
|
||||
G4cerr << " dChordStep= "<< dChordStep <<" dyErr=" << dyErr << G4endl;
|
||||
}
|
||||
#endif
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// ...........................................................................
|
||||
|
||||
G4double G4ChordFinder::NewStep(G4double stepTrialOld,
|
||||
G4double dChordStep, // Curr. dchord achieved
|
||||
G4double& stepEstimate_Unconstrained )
|
||||
//
|
||||
// Is called to estimate the next step size, even for successful steps,
|
||||
// in order to predict an accurate 'chord-sensitive' first step
|
||||
// which is likely to assist in more performant 'stepping'.
|
||||
//
|
||||
|
||||
{
|
||||
G4double stepTrial;
|
||||
static G4double lastStepTrial = 1., lastDchordStep= 1.;
|
||||
|
||||
#if 1
|
||||
// const G4double threshold = 1.21, multiplier = 0.9;
|
||||
// 0.9 < 1 / sqrt(1.21)
|
||||
|
||||
if (dChordStep > 0.0)
|
||||
{
|
||||
stepEstimate_Unconstrained = stepTrialOld*sqrt( fDeltaChord / dChordStep );
|
||||
// stepTrial = 0.98 * stepEstimate_Unconstrained;
|
||||
stepTrial = fFractionNextEstimate * stepEstimate_Unconstrained;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Should not update the Unconstrained Step estimate: incorrect!
|
||||
stepTrial = stepTrialOld * 2.;
|
||||
}
|
||||
|
||||
// if ( dChordStep < threshold * fDeltaChord ){
|
||||
// stepTrial= stepTrialOld * multiplier;
|
||||
// }
|
||||
if( stepTrial <= 0.001 * stepTrialOld)
|
||||
{
|
||||
if ( dChordStep > 1000.0 * fDeltaChord ){
|
||||
stepTrial= stepTrialOld * 0.03;
|
||||
}else{
|
||||
if ( dChordStep > 100. * fDeltaChord ){
|
||||
stepTrial= stepTrialOld * 0.1;
|
||||
}else{
|
||||
// Try halving the length until dChordStep OK
|
||||
stepTrial= stepTrialOld * 0.5;
|
||||
}
|
||||
}
|
||||
}else if (stepTrial > 1000.0 * stepTrialOld)
|
||||
{
|
||||
stepTrial= 1000.0 * stepTrialOld;
|
||||
}
|
||||
|
||||
if( stepTrial == 0.0 ){
|
||||
stepTrial= 0.000001;
|
||||
}
|
||||
|
||||
lastStepTrial = stepTrialOld;
|
||||
lastDchordStep= dChordStep;
|
||||
#else
|
||||
if ( dChordStep > 1000. * fDeltaChord ){
|
||||
stepTrial= stepTrialOld * 0.03;
|
||||
}else{
|
||||
if ( dChordStep > 100. * fDeltaChord ){
|
||||
stepTrial= stepTrialOld * 0.1;
|
||||
}else{
|
||||
// Keep halving the length until dChordStep OK
|
||||
stepTrial= stepTrialOld * 0.5;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// A more sophisticated chord-finder could figure out a better
|
||||
// stepTrial, from dChordStep and the required d_geometry
|
||||
// eg
|
||||
// Calculate R, r_helix (eg at orig point)
|
||||
// if( stepTrial < 2 pi R )
|
||||
// stepTrial = R arc_cos( 1 - fDeltaChord / r_helix )
|
||||
// else
|
||||
// ??
|
||||
|
||||
return stepTrial;
|
||||
}
|
||||
|
||||
//
|
||||
// Given a starting curve point A (CurveA_PointVelocity), a later
|
||||
// curve point B (CurveB_PointVelocity) and a point E which is (generally)
|
||||
// not on the curve, find and return a point F which is on the curve and
|
||||
// which is close to E. While advancing towards F utilise eps_step
|
||||
// as a measure of the relative accuracy of each Step.
|
||||
|
||||
G4FieldTrack
|
||||
G4ChordFinder::ApproxCurvePointV( const G4FieldTrack& CurveA_PointVelocity,
|
||||
const G4FieldTrack& CurveB_PointVelocity,
|
||||
const G4ThreeVector& CurrentE_Point,
|
||||
G4double eps_step)
|
||||
{
|
||||
// 1st implementation:
|
||||
// if r=|AE|/|AB|, and s=true path lenght (AB)
|
||||
// return the point that is r*s along the curve!
|
||||
|
||||
G4FieldTrack Current_PointVelocity= CurveA_PointVelocity;
|
||||
|
||||
G4ThreeVector CurveA_Point= CurveA_PointVelocity.GetPosition();
|
||||
G4ThreeVector CurveB_Point= CurveB_PointVelocity.GetPosition();
|
||||
|
||||
G4ThreeVector ChordAB_Vector= CurveB_Point - CurveA_Point;
|
||||
G4ThreeVector ChordAE_Vector= CurrentE_Point - CurveA_Point;
|
||||
|
||||
G4double ABdist= ChordAB_Vector.mag();
|
||||
G4double curve_length; // A curve length of AB
|
||||
G4double AE_fraction;
|
||||
|
||||
curve_length= CurveB_PointVelocity.GetCurveLength()
|
||||
- CurveA_PointVelocity.GetCurveLength();
|
||||
|
||||
// const
|
||||
G4double integrationInaccuracyLimit= std::max( perMillion, 0.5*eps_step );
|
||||
if( curve_length < ABdist * (1. - integrationInaccuracyLimit) ){
|
||||
#ifdef G4DEBUG_FIELD
|
||||
G4cerr << " Warning in G4ChordFinder::ApproxCurvePoint: "
|
||||
<< G4endl
|
||||
<< " The two points are further apart than the curve length "
|
||||
<< G4endl
|
||||
<< " Dist = " << ABdist
|
||||
<< " curve length = " << curve_length
|
||||
<< " relativeDiff = " << (curve_length-ABdist)/ABdist
|
||||
<< G4endl;
|
||||
if( curve_length < ABdist * (1. - 10*eps_step) ) {
|
||||
G4cerr << " ERROR: the size of the above difference"
|
||||
<< " exceeds allowed limits. Aborting." << G4endl;
|
||||
G4Exception("G4ChordFinder::ApproxCurvePointV()", "PrecisionError",
|
||||
FatalException, "Unphysical curve length.");
|
||||
}
|
||||
#endif
|
||||
// Take default corrective action:
|
||||
// --> adjust the maximum curve length.
|
||||
// NOTE: this case only happens for relatively straight paths.
|
||||
curve_length = ABdist;
|
||||
}
|
||||
|
||||
G4double new_st_length;
|
||||
|
||||
if ( ABdist > 0.0 ){
|
||||
AE_fraction = ChordAE_Vector.mag() / ABdist;
|
||||
}else{
|
||||
AE_fraction = 0.5; // Guess .. ?;
|
||||
#ifdef G4DEBUG_FIELD
|
||||
G4cout << "Warning in G4ChordFinder::ApproxCurvePoint:"
|
||||
<< " A and B are the same point!" << G4endl
|
||||
<< " Chord AB length = " << ChordAE_Vector.mag() << G4endl
|
||||
<< G4endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
if( (AE_fraction> 1.0 + perMillion) || (AE_fraction< 0.) ){
|
||||
#ifdef G4DEBUG_FIELD
|
||||
G4cerr << " G4ChordFinder::ApproxCurvePointV - Warning:"
|
||||
<< " Anomalous condition:AE > AB or AE/AB <= 0 " << G4endl
|
||||
<< " AE_fraction = " << AE_fraction << G4endl
|
||||
<< " Chord AE length = " << ChordAE_Vector.mag() << G4endl
|
||||
<< " Chord AB length = " << ABdist << G4endl << G4endl;
|
||||
G4cerr << " OK if this condition occurs after a recalculation of 'B'"
|
||||
<< G4endl << " Otherwise it is an error. " << G4endl ;
|
||||
#endif
|
||||
// This course can now result if B has been re-evaluated,
|
||||
// without E being recomputed (1 July 99)
|
||||
// In this case this is not a "real error" - but it undesired
|
||||
// and we cope with it by a default corrective action ...
|
||||
AE_fraction = 0.5; // Default value
|
||||
}
|
||||
|
||||
new_st_length= AE_fraction * curve_length;
|
||||
|
||||
G4bool good_advance;
|
||||
if ( AE_fraction > 0.0 ) {
|
||||
good_advance =
|
||||
fIntgrDriver->AccurateAdvance(Current_PointVelocity,
|
||||
new_st_length,
|
||||
eps_step ); // Relative accuracy
|
||||
// In this case it does not matter if it cannot advance the full distance
|
||||
}
|
||||
|
||||
// If there was a memory of the step_length actually require at the start
|
||||
// of the integration Step, this could be re-used ...
|
||||
|
||||
return Current_PointVelocity;
|
||||
}
|
||||
|
||||
void
|
||||
G4ChordFinder::TestChordPrint( G4int noTrials,
|
||||
G4int lastStepTrial,
|
||||
G4double dChordStep,
|
||||
G4double nextStepTrial )
|
||||
{
|
||||
G4int oldprec= G4cout.precision(5);
|
||||
G4cout << " ChF/fnc: notrial " << std::setw( 3) << noTrials
|
||||
<< " this_step= " << std::setw(10) << lastStepTrial;
|
||||
if( fabs( (dChordStep / fDeltaChord) - 1.0 ) < 0.001 ){
|
||||
G4cout.precision(8);
|
||||
}else{ G4cout.precision(6); }
|
||||
G4cout << " dChordStep= " << std::setw(12) << dChordStep;
|
||||
if( dChordStep > fDeltaChord ) { G4cout << " d+"; }
|
||||
else { G4cout << " d-"; }
|
||||
G4cout.precision(5);
|
||||
G4cout << " new_step= " << std::setw(10)
|
||||
<< fLastStepEstimate_Unconstrained
|
||||
<< " new_step_constr= " << std::setw(10)
|
||||
<< lastStepTrial << G4endl;
|
||||
G4cout << " nextStepTrial = " << std::setw(10) << nextStepTrial << G4endl;
|
||||
G4cout.precision(oldprec);
|
||||
}
|
198
geant4/TaoLEMuSR/G4Modified/G4ChordFinder.hh
Normal file
198
geant4/TaoLEMuSR/G4Modified/G4ChordFinder.hh
Normal file
@ -0,0 +1,198 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ChordFinder.hh,v 1.16 2003/11/13 17:53:47 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// class G4ChordFinder
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// A class that provides RK integration of motion ODE (as does g4magtr)
|
||||
// and also has a method that returns an Approximate point on the curve
|
||||
// near to a (chord) point.
|
||||
|
||||
// History:
|
||||
// - 25.02.97 John Apostolakis, design and implementation
|
||||
// - 05.03.97 V. Grichine , makeup to G4 'standard'
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4CHORDFINDER_HH
|
||||
#define G4CHORDFINDER_HH
|
||||
|
||||
#include "G4MagIntegratorDriver.hh"
|
||||
#include "G4FieldTrack.hh"
|
||||
|
||||
class G4MagneticField;
|
||||
class G4ElectricField;
|
||||
|
||||
class G4ChordFinder
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ChordFinder( G4MagInt_Driver* pIntegrationDriver );
|
||||
|
||||
G4ChordFinder( G4MagneticField* itsMagField,
|
||||
G4double stepMinimum = 1.0e-2 * mm,
|
||||
G4MagIntegratorStepper* pItsStepper = 0 );
|
||||
// A constructor that creates defaults for all "children" classes.
|
||||
G4ChordFinder( G4ElectricField* itsElField,
|
||||
G4double stepMinimum = 1.0e-2 * mm,
|
||||
G4MagIntegratorStepper* pItsStepper = 0 );
|
||||
|
||||
|
||||
virtual ~G4ChordFinder();
|
||||
|
||||
|
||||
G4double AdvanceChordLimited( G4FieldTrack& yCurrent,
|
||||
G4double stepInitial,
|
||||
G4double epsStep_Relative,
|
||||
const G4ThreeVector latestSafetyOrigin,
|
||||
G4double lasestSafetyRadius);
|
||||
// Uses ODE solver's driver to find the endpoint that satisfies
|
||||
// the chord criterion: that d_chord < delta_chord
|
||||
// -> Returns Length of Step taken.
|
||||
|
||||
G4FieldTrack ApproxCurvePointV(const G4FieldTrack& curveAPointVelocity,
|
||||
const G4FieldTrack& curveBPointVelocity,
|
||||
const G4ThreeVector& currentEPoint,
|
||||
G4double epsStep);
|
||||
|
||||
inline G4double GetDeltaChord() const;
|
||||
inline void SetDeltaChord(G4double newval);
|
||||
|
||||
inline void SetChargeMomentumMass(G4double pCharge, // in e+ units
|
||||
G4double pMomentum,
|
||||
G4double pMass );
|
||||
// Function to inform integration driver of charge, speed.
|
||||
|
||||
inline void SetIntegrationDriver(G4MagInt_Driver* IntegrationDriver);
|
||||
inline G4MagInt_Driver* GetIntegrationDriver();
|
||||
// Access and set Driver.
|
||||
|
||||
inline void ResetStepEstimate();
|
||||
// Clear internal state (last step estimate)
|
||||
|
||||
inline G4int GetNoCalls();
|
||||
inline G4int GetNoTrials(); // Total number of trials
|
||||
inline G4int GetNoMaxTrials(); // Maximum # of trials for one call
|
||||
// Get statistics about number of calls & trials in FindNextChord
|
||||
|
||||
virtual void PrintStatistics();
|
||||
// A report with the above -- and possibly other stats
|
||||
inline G4int SetVerbose( G4int newvalue=1);
|
||||
// Set verbosity and return old value
|
||||
|
||||
protected: // .........................................................
|
||||
|
||||
inline void AccumulateStatistics( G4int noTrials );
|
||||
// Accumulate the basic statistics
|
||||
// - other specialised ones must be kept by derived classes
|
||||
|
||||
inline G4bool AcceptableMissDist(G4double dChordStep) const;
|
||||
|
||||
G4double NewStep( G4double stepTrialOld,
|
||||
G4double dChordStep, // Current dchord estimate
|
||||
G4double& stepEstimate_Unconstrained ) ;
|
||||
|
||||
virtual G4double FindNextChord( const G4FieldTrack yStart,
|
||||
G4double stepMax,
|
||||
G4FieldTrack& yEnd,
|
||||
G4double& dyErr, // Error of endpoint
|
||||
G4double epsStep,
|
||||
G4double* pNextStepForAccuracy, // = 0,
|
||||
const G4ThreeVector latestSafetyOrigin,
|
||||
G4double latestSafetyRadius
|
||||
);
|
||||
|
||||
void PrintDchordTrial(G4int noTrials,
|
||||
G4double stepTrial,
|
||||
G4double oldStepTrial,
|
||||
G4double dChordStep);
|
||||
public: // no description
|
||||
void TestChordPrint( G4int noTrials,
|
||||
G4int lastStepTrial,
|
||||
G4double dChordStep,
|
||||
G4double nextStepTrial );
|
||||
// Printing for monitoring ...
|
||||
|
||||
inline G4double GetFirstFraction(); // Originally 0.999
|
||||
inline G4double GetFractionLast(); // Originally 1.000
|
||||
inline G4double GetFractionNextEstimate(); // Originally 0.980
|
||||
inline G4double GetMultipleRadius(); // No original value
|
||||
// Parameters for adapting performance ... use with great care
|
||||
|
||||
public: // with description
|
||||
void SetFractions_Last_Next( G4double fractLast= 0.90,
|
||||
G4double fractNext= 0.95 );
|
||||
// Parameters for performance ... change with great care
|
||||
|
||||
inline void SetFirstFraction(G4double fractFirst);
|
||||
// Parameter for performance ... change with great care
|
||||
|
||||
protected:
|
||||
inline G4double GetLastStepEstimateUnc();
|
||||
inline void SetLastStepEstimateUnc( G4double stepEst );
|
||||
|
||||
private: // ............................................................
|
||||
|
||||
G4ChordFinder(const G4ChordFinder&);
|
||||
G4ChordFinder& operator=(const G4ChordFinder&);
|
||||
// Private copy constructor and assignment operator.
|
||||
|
||||
private: // ............................................................
|
||||
// G4int nOK, nBAD;
|
||||
G4MagInt_Driver* fIntgrDriver;
|
||||
|
||||
const G4double fDefaultDeltaChord; // SET in G4ChordFinder.cc = 0.25 mm
|
||||
|
||||
G4double fDeltaChord; // Maximum miss distance
|
||||
|
||||
G4double fLastStepEstimate_Unconstrained; // State information for efficiency
|
||||
// Variables used in construction/destruction
|
||||
G4bool fAllocatedStepper;
|
||||
G4EquationOfMotion* fEquation;
|
||||
G4MagIntegratorStepper* fDriversStepper;
|
||||
|
||||
// Parameters
|
||||
G4double fFirstFraction, fFractionLast, fFractionNextEstimate;
|
||||
G4double fMultipleRadius;
|
||||
|
||||
// For Statistics
|
||||
// -- G4int fNoTrials, fNoCalls;
|
||||
G4int fTotalNoTrials_FNC, fNoCalls_FNC, fmaxTrials_FNC; // fnoTimesMaxTrFNC;
|
||||
G4int fStatsVerbose; // if > 0, print Statistics in destructor
|
||||
|
||||
|
||||
G4double itime, ftime;
|
||||
G4ElectricField* mfield;
|
||||
G4int firstChord;
|
||||
|
||||
};
|
||||
|
||||
// Inline function implementation:
|
||||
|
||||
#include "G4ChordFinder.icc"
|
||||
|
||||
#endif // G4CHORDFINDER_HH
|
80
geant4/TaoLEMuSR/G4Modified/G4El_EqRhs.cc
Normal file
80
geant4/TaoLEMuSR/G4Modified/G4El_EqRhs.cc
Normal file
@ -0,0 +1,80 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4El_EqRhs.cc,v 1.10 2003/11/05 16:33:55 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// This is the standard right-hand side for equation of motion
|
||||
// in a pure Electric Field .
|
||||
//
|
||||
// Other that might be required are:
|
||||
// i) is when using a moving reference frame ... or
|
||||
// ii) extending for other forces, eg an electric field
|
||||
//
|
||||
// J. Apostolakis, January 13th, 1997
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4El_EqRhs.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//const G4double G4El_EqRhs::fUnitConstant = 0.299792458 * (GeV/(tesla*m));
|
||||
|
||||
// Constructor Implementation
|
||||
//
|
||||
G4El_EqRhs::G4El_EqRhs( G4ElectricField *elField )
|
||||
: G4EquationOfMotion(elField)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
G4El_EqRhs::~G4El_EqRhs() { }
|
||||
|
||||
void G4El_EqRhs::RightHandSide( const G4double y[],
|
||||
G4double dydx[] ) const
|
||||
{
|
||||
G4double Field[3];
|
||||
G4double PositionAndTime[4];
|
||||
|
||||
// Position
|
||||
PositionAndTime[0] = y[0];
|
||||
PositionAndTime[1] = y[1];
|
||||
PositionAndTime[2] = y[2];
|
||||
// Global Time
|
||||
PositionAndTime[3] = y[7]; // See G4FieldTrack::LoadFromArray
|
||||
|
||||
G4cout <<"EL_EQ RIGHT HAND SIDE!"<<G4endl;
|
||||
GetFieldValue(PositionAndTime, Field) ;
|
||||
EvaluateRhsGivenB( y, Field, dydx );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
G4El_EqRhs::SetChargeMomentumMass( G4double particleCharge, // e+ units
|
||||
G4double , // MomentumXc
|
||||
G4double ) // particleMass
|
||||
{
|
||||
fCof_val = particleCharge*eplus*c_light ;
|
||||
|
||||
}
|
87
geant4/TaoLEMuSR/G4Modified/G4El_EqRhs.hh
Normal file
87
geant4/TaoLEMuSR/G4Modified/G4El_EqRhs.hh
Normal file
@ -0,0 +1,87 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4El_EqRhs.hh,v 1.8 2003/11/05 12:54:13 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// class G4El_EqRhs
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// The "standard" equation of motion of a particle in a pure electric field.
|
||||
|
||||
// History:
|
||||
// - Created. J.Apostolakis, January 13th 1997
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4_EL_EQRHS_DEF
|
||||
#define G4_EL_EQRHS_DEF
|
||||
|
||||
#include "G4Types.hh"
|
||||
#include "G4EquationOfMotion.hh"
|
||||
|
||||
class G4ElectricField;
|
||||
|
||||
class G4El_EqRhs : public G4EquationOfMotion
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4El_EqRhs( G4ElectricField *elField );
|
||||
virtual ~G4El_EqRhs();
|
||||
// Constructor and destructor. No actions.
|
||||
|
||||
virtual void EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double E[3],
|
||||
G4double dydx[] ) const = 0;
|
||||
// Given the value of the field "B", this function
|
||||
// calculates the value of the derivative dydx.
|
||||
// This is the _only_ function a subclass must define.
|
||||
// The other two functions use Rhs_givenB.
|
||||
|
||||
inline G4double FCof() const;
|
||||
void RightHandSide( const G4double y[], G4double dydx[] ) const;
|
||||
virtual void SetChargeMomentumMass( G4double particleCharge, // in e+ units
|
||||
G4double MomentumXc,
|
||||
G4double mass);
|
||||
|
||||
private:
|
||||
|
||||
G4double fCof_val;
|
||||
|
||||
static const G4double fUnitConstant; // Set in G4El_EqRhs.cc
|
||||
// to 0.299792458
|
||||
// Coefficient in the Lorentz motion equation (Lorentz force), if the
|
||||
// electric field B is in Tesla, the particle charge in units of the
|
||||
// elementary (positron?) charge, the momentum P in MeV/c, and the
|
||||
// space coordinates and path along the trajectory in mm .
|
||||
};
|
||||
|
||||
inline
|
||||
G4double G4El_EqRhs::FCof() const
|
||||
{
|
||||
return fCof_val;
|
||||
}
|
||||
|
||||
|
||||
#endif /* G4_EL_EQRHS_DEF */
|
76
geant4/TaoLEMuSR/G4Modified/G4El_MagEqRhs.cc
Normal file
76
geant4/TaoLEMuSR/G4Modified/G4El_MagEqRhs.cc
Normal file
@ -0,0 +1,76 @@
|
||||
|
||||
|
||||
#include "G4El_MagEqRhs.hh"
|
||||
#include "G4Mag_SpinEqRhs.hh"
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4El_UsualEqRhs.hh"
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
|
||||
|
||||
G4El_MagEqRhs::G4El_MagEqRhs( G4Mag_EqRhs *Meq, G4El_EqRhs *Eeq,G4Field* field)
|
||||
:G4EquationOfMotion(field)
|
||||
{
|
||||
fMagEq=Meq;
|
||||
fElEq=Eeq;
|
||||
}
|
||||
|
||||
|
||||
G4El_MagEqRhs::~G4El_MagEqRhs()
|
||||
{;}
|
||||
|
||||
void G4El_MagEqRhs::RightHandSide( const G4double y[],
|
||||
G4double dydx[] )const
|
||||
{
|
||||
|
||||
G4double MagField[3];
|
||||
G4double ElField[3];
|
||||
|
||||
G4double dydx1[12];
|
||||
G4double dydx2[12];
|
||||
|
||||
G4double PositionAndTime[4];
|
||||
|
||||
// Position
|
||||
PositionAndTime[0] = y[0];
|
||||
PositionAndTime[1] = y[1];
|
||||
PositionAndTime[2] = y[2];
|
||||
// Global Time
|
||||
PositionAndTime[3] = y[7];
|
||||
|
||||
|
||||
// Get Respective Field Values
|
||||
fMagEq->GetFieldValue(PositionAndTime, MagField) ;
|
||||
fElEq->GetFieldValue(PositionAndTime, ElField) ;
|
||||
|
||||
|
||||
fMagEq->EvaluateRhsGivenB( y, MagField, &dydx1[0] );
|
||||
|
||||
fElEq->EvaluateRhsGivenB( y, ElField, &dydx2[0] );
|
||||
|
||||
G4int i;
|
||||
i=0;
|
||||
for(i=0;i==18;i++)
|
||||
{
|
||||
dydx[i] = dydx1[i]+dydx2[i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void G4El_MagEqRhs::SetChargeMomentumMass( G4double particleCharge, // e+ units
|
||||
G4double MomentumXc, // MomentumXc
|
||||
G4double mass) // particleMass
|
||||
{
|
||||
|
||||
fMagEq->SetChargeMomentumMass( particleCharge, MomentumXc , mass);
|
||||
|
||||
fElEq->SetChargeMomentumMass( particleCharge,MomentumXc , mass);
|
||||
}
|
||||
|
||||
|
||||
void G4El_MagEqRhs::EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double B[3],
|
||||
G4double dydx[] ) const
|
||||
{}
|
42
geant4/TaoLEMuSR/G4Modified/G4El_MagEqRhs.hh
Normal file
42
geant4/TaoLEMuSR/G4Modified/G4El_MagEqRhs.hh
Normal file
@ -0,0 +1,42 @@
|
||||
#ifndef G4EL_MAGEQRHS
|
||||
#define G4EL_MAGEQRHS
|
||||
|
||||
#include "G4Types.hh"
|
||||
#include "G4Mag_EqRhs.hh"
|
||||
#include "G4El_UsualEqRhs.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4EquationOfMotion.hh"
|
||||
|
||||
|
||||
class G4MagneticField;
|
||||
class G4ElectricField;
|
||||
class G4Mag_EqRhs;
|
||||
class G4El_UsualEqRhs;
|
||||
|
||||
class G4El_MagEqRhs : public G4EquationOfMotion
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4El_MagEqRhs( G4Mag_EqRhs* , G4El_EqRhs*,G4Field* field );
|
||||
~G4El_MagEqRhs();
|
||||
// Constructor and destructor. No actions.
|
||||
|
||||
void RightHandSide( const G4double y[], G4double dydx[] ) const;
|
||||
|
||||
virtual void SetChargeMomentumMass( G4double particleCharge, // in e+ units
|
||||
G4double MomentumXc,
|
||||
G4double mass);
|
||||
|
||||
void EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double E[3],
|
||||
G4double dydx[] ) const;
|
||||
|
||||
private:
|
||||
|
||||
G4Mag_EqRhs *fMagEq;
|
||||
G4El_EqRhs *fElEq;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif /* G4EL_MAGEQRHS */
|
110
geant4/TaoLEMuSR/G4Modified/G4El_UsualEqRhs.cc
Normal file
110
geant4/TaoLEMuSR/G4Modified/G4El_UsualEqRhs.cc
Normal file
@ -0,0 +1,110 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4El_UsualEqRhs.cc,v 1.10 2003/11/05 17:31:31 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// This is the 'standard' right-hand side for the equation of motion
|
||||
// of a charged particle in a magnetic field.
|
||||
//
|
||||
// Initial version: J. Apostolakis, January 13th, 1997
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4El_UsualEqRhs.hh"
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
G4El_UsualEqRhs::G4El_UsualEqRhs( G4ElectricField* ElField )
|
||||
: G4El_EqRhs( ElField ) {}
|
||||
|
||||
G4El_UsualEqRhs::~G4El_UsualEqRhs() {}
|
||||
|
||||
void
|
||||
G4El_UsualEqRhs::EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double E[3],
|
||||
G4double dydx[] ) const
|
||||
{
|
||||
G4double momentum_square = y[3]*y[3] + y[4]*y[4] + y[5]*y[5];
|
||||
G4double inv_momentum_magnitude = 1.0 / sqrt( momentum_square );
|
||||
|
||||
G4double cof = cst*inv_momentum_magnitude;
|
||||
|
||||
dydx[0] = y[3]*inv_momentum_magnitude; // (d/ds)x = Vx/V
|
||||
dydx[1] = y[4]*inv_momentum_magnitude; // (d/ds)y = Vy/V
|
||||
dydx[2] = y[5]*inv_momentum_magnitude; // (d/ds)z = Vz/V
|
||||
|
||||
dydx[3] = cof*(E[0]) ; // Ax = a*(Ex)
|
||||
dydx[4] = cof*(E[1]) ; // Ay = a*(Ey)
|
||||
dydx[5] = cof*(E[2]) ; // Az = a*(Ez)
|
||||
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout<<"LEMuSREl_UsualEqRhs :: posmomE \n"
|
||||
<< y[0]/100 <<" " << y[1]/100 <<" "<< y[2]/100+5.67 <<" "<<"\n"
|
||||
<< y[3] <<" " << y[4] <<" "<< y[5] <<" "<<"\n"
|
||||
<< E[0]/volt*meter <<" " << E[1]/volt*meter <<" "<< E[2]/volt*meter <<" "<<"\n"
|
||||
<<G4endl;
|
||||
G4cout<<"LEMuSREl_UsualEqRhs :: dydx \n"
|
||||
<< dydx[0] <<" " << dydx[1] <<" "<< dydx[2] <<" "<<"\n"
|
||||
<< dydx[3] <<" " << dydx[4] <<" "<< dydx[5] <<" "<<"\n"
|
||||
<< dydx[6] <<" " << dydx[7] <<" "<< dydx[8] <<" "<<"\n"
|
||||
<< dydx[9] <<" " << dydx[10] <<" "<< dydx[11] <<" "<<"\n"
|
||||
<<G4endl;
|
||||
// getchar();
|
||||
#endif
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
void
|
||||
G4El_UsualEqRhs:: SetChargeMomentumMass( G4double particleCharge, // in e+ units
|
||||
G4double MomentumXc,
|
||||
G4double mass )//mass
|
||||
|
||||
{
|
||||
fInvCurrentMomentumXc= 1.0 / MomentumXc;
|
||||
cst = particleCharge*eplus*mass;//*c_light;
|
||||
}
|
||||
|
||||
void G4El_UsualEqRhs::RightHandSide( const G4double y[],
|
||||
G4double dydx[] ) const
|
||||
{
|
||||
G4double Field[3];
|
||||
G4double PositionAndTime[4];
|
||||
|
||||
// Position
|
||||
PositionAndTime[0] = y[0];
|
||||
PositionAndTime[1] = y[1];
|
||||
PositionAndTime[2] = y[2];
|
||||
// Global Time
|
||||
PositionAndTime[3] = y[7]; // See G4FieldTrack::LoadFromArray
|
||||
|
||||
#ifdef DEBUG_FIELD
|
||||
G4cout <<"EL_USUALEQ RIGHT HAND SIDE!"<<G4endl;
|
||||
#endif
|
||||
|
||||
GetFieldValue(PositionAndTime, Field) ;
|
||||
EvaluateRhsGivenB( y, Field, dydx );
|
||||
}
|
||||
|
76
geant4/TaoLEMuSR/G4Modified/G4El_UsualEqRhs.hh
Normal file
76
geant4/TaoLEMuSR/G4Modified/G4El_UsualEqRhs.hh
Normal file
@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4El_UsualEqRhs.hh,v 1.6 2003/10/31 14:35:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// class G4El_UsualEqRhs
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This is the standard right-hand side for equation of motion.
|
||||
// The only case another is required is when using a moving reference
|
||||
// frame ... or extending the class to include additional Forces,
|
||||
// eg an electric field
|
||||
|
||||
// History:
|
||||
// - Created: J. Apostolakis, January 13th 1997.
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4EL_USUAL_EQRHS
|
||||
#define G4EL_USUAL_EQRHS
|
||||
|
||||
#include "G4El_EqRhs.hh"
|
||||
|
||||
class G4ElectricField;
|
||||
|
||||
class G4El_UsualEqRhs : public G4El_EqRhs
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4El_UsualEqRhs( G4ElectricField* ElField );
|
||||
~G4El_UsualEqRhs();
|
||||
// Constructor and destructor. No actions.
|
||||
|
||||
void EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double E[3],
|
||||
G4double dydx[] ) const;
|
||||
// Given the value of the electric field E, this function
|
||||
// calculates the value of the derivative dydx.
|
||||
|
||||
virtual void SetChargeMomentumMass( G4double particleCharge, // in e+ units
|
||||
G4double MomentumXc,
|
||||
G4double mass);
|
||||
|
||||
void RightHandSide( const G4double y[], G4double dydx[] ) const;
|
||||
|
||||
private:
|
||||
|
||||
G4double cst;
|
||||
G4double fInvCurrentMomentumXc; // This extra state enables us
|
||||
// to save a square root in a
|
||||
// critical method.
|
||||
};
|
||||
|
||||
#endif /* G4EL_USUAL_EQRHS */
|
119
geant4/TaoLEMuSR/G4Modified/G4FieldManager.cc
Normal file
119
geant4/TaoLEMuSR/G4Modified/G4FieldManager.cc
Normal file
@ -0,0 +1,119 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FieldManager.cc,v 1.13 2003/11/08 04:08:13 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// - Augsut 05 T.K.Paraïso add magcomponent l.138
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#include "G4FieldManager.hh"
|
||||
#include "G4Field.hh"
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4ChordFinder.hh"
|
||||
|
||||
G4FieldManager::G4FieldManager(G4Field *detectorField,
|
||||
G4ChordFinder *pChordFinder,
|
||||
G4bool fieldChangesEnergy
|
||||
)
|
||||
: fDetectorField(detectorField),
|
||||
fChordFinder(pChordFinder),
|
||||
fAllocatedChordFinder(false),
|
||||
fDefault_Delta_One_Step_Value(0.01*mm),
|
||||
fDefault_Delta_Intersection_Val(0.001*mm),
|
||||
fEpsilonMinDefault(5.0e-5),
|
||||
fEpsilonMaxDefault(0.001),
|
||||
fEpsilonMin( fEpsilonMinDefault ),
|
||||
fEpsilonMax( fEpsilonMaxDefault),
|
||||
fMagComponent(false)
|
||||
{
|
||||
fDelta_One_Step_Value= fDefault_Delta_One_Step_Value;
|
||||
fDelta_Intersection_Val= fDefault_Delta_Intersection_Val;
|
||||
if ( detectorField )
|
||||
fFieldChangesEnergy= detectorField->DoesFieldChangeEnergy();
|
||||
else
|
||||
fFieldChangesEnergy= fieldChangesEnergy;
|
||||
}
|
||||
|
||||
G4FieldManager::G4FieldManager(G4MagneticField *detectorField)
|
||||
: fDetectorField(detectorField), fAllocatedChordFinder(true),
|
||||
fFieldChangesEnergy(false),
|
||||
fDefault_Delta_One_Step_Value(0.01*mm),
|
||||
fDefault_Delta_Intersection_Val(0.001*mm),
|
||||
fEpsilonMinDefault(5.0e-5),
|
||||
fEpsilonMaxDefault(0.001),
|
||||
fEpsilonMin( fEpsilonMinDefault ),
|
||||
fEpsilonMax( fEpsilonMaxDefault),
|
||||
fMagComponent(true)
|
||||
{
|
||||
fChordFinder= new G4ChordFinder( detectorField );
|
||||
fDelta_One_Step_Value= fDefault_Delta_One_Step_Value;
|
||||
fDelta_Intersection_Val= fDefault_Delta_Intersection_Val;
|
||||
}
|
||||
|
||||
void G4FieldManager::ConfigureForTrack( const G4Track * )
|
||||
{
|
||||
// Default is to do nothing!
|
||||
;
|
||||
}
|
||||
|
||||
G4FieldManager::~G4FieldManager()
|
||||
{
|
||||
if( fAllocatedChordFinder ){
|
||||
delete fChordFinder;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
G4FieldManager::CreateChordFinder(G4MagneticField *detectorMagField)
|
||||
{
|
||||
if ( fAllocatedChordFinder )
|
||||
delete fChordFinder;
|
||||
fChordFinder= new G4ChordFinder( detectorMagField );
|
||||
fAllocatedChordFinder= true;
|
||||
}
|
||||
|
||||
G4bool G4FieldManager::SetDetectorField(G4Field *pDetectorField)
|
||||
{
|
||||
fDetectorField= pDetectorField;
|
||||
|
||||
if ( pDetectorField )
|
||||
fFieldChangesEnergy= pDetectorField->DoesFieldChangeEnergy();
|
||||
else
|
||||
fFieldChangesEnergy= false; // No field
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
G4bool G4FieldManager::SetDetectorField(G4Field *pDetectorField,G4bool mag)
|
||||
{
|
||||
fDetectorField= pDetectorField;
|
||||
|
||||
fMagComponent = mag;
|
||||
|
||||
if ( pDetectorField )
|
||||
fFieldChangesEnergy= pDetectorField->DoesFieldChangeEnergy();
|
||||
else
|
||||
fFieldChangesEnergy= false; // No field
|
||||
|
||||
return false;
|
||||
}
|
191
geant4/TaoLEMuSR/G4Modified/G4FieldManager.hh
Normal file
191
geant4/TaoLEMuSR/G4Modified/G4FieldManager.hh
Normal file
@ -0,0 +1,191 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FieldManager.hh,v 1.13 2003/11/08 03:55:16 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// class G4FieldManager
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// A class to manage (Store) a pointer to the Field subclass that
|
||||
// describes the field of a detector (magnetic, electric or other).
|
||||
// Also stores a reference to the chord finder.
|
||||
//
|
||||
// The G4FieldManager class exists to allow the user program to specify
|
||||
// the electric, magnetic and/or other field(s) of the detector.
|
||||
// (OR, in the future, of a part of it - planned to be a logical volume).
|
||||
// It also stores a pointer to the ChordFinder object that can do the
|
||||
// propagation in this field. All geometrical track "advancement"
|
||||
// in the field is handled by this ChordFinder object.
|
||||
//
|
||||
// G4FieldManager allows the other classes/object (of the MagneticField
|
||||
// & other class categories) to find out whether a detector field object
|
||||
// exists and what that object is.
|
||||
//
|
||||
// The Chord Finder must be created either by calling CreateChordFinder
|
||||
// for a Magnetic Field or by the user creating a a Chord Finder object
|
||||
// "manually" and setting this pointer.
|
||||
//
|
||||
// A default FieldManager is created by the singleton class
|
||||
// G4NavigatorForTracking and exists before main is called.
|
||||
// However a new one can be created and given to G4NavigatorForTracking.
|
||||
//
|
||||
// Our current design envisions that one Field manager is
|
||||
// valid for each region detector.
|
||||
|
||||
// History:
|
||||
// - 10.03.97 John Apostolakis, design and implementation.
|
||||
// - Augsut 05 T.K.Paraïso add magcomponent l.138
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4FIELDMANAGER_HH
|
||||
#define G4FIELDMANAGER_HH 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Field;
|
||||
class G4MagneticField;
|
||||
class G4ElectricField;
|
||||
class G4ChordFinder;
|
||||
class G4Track; // Forward reference for parameter configuration
|
||||
|
||||
class G4FieldManager
|
||||
{
|
||||
public: // with description
|
||||
G4FieldManager(G4Field *detectorField=0,
|
||||
G4ChordFinder *pChordFinder=0,
|
||||
G4bool b=true ); // fieldChangesEnergy is taken from field
|
||||
// General constructor for any field.
|
||||
// -> Must be set with field and chordfinder for use.
|
||||
G4FieldManager(G4MagneticField *detectorMagneticField);
|
||||
// Creates ChordFinder
|
||||
// - assumes pure magnetic field (so Energy constant)
|
||||
virtual ~G4FieldManager();
|
||||
|
||||
G4bool SetDetectorField(G4Field *detectorField);
|
||||
// TAO
|
||||
G4bool SetDetectorField(G4Field *detectorField, G4bool magcomponent);
|
||||
inline const G4Field* GetDetectorField() const;
|
||||
inline G4bool DoesFieldExist() const;
|
||||
// Set, get and check the field object
|
||||
|
||||
void CreateChordFinder(G4MagneticField *detectorMagField);
|
||||
inline void SetChordFinder(G4ChordFinder *aChordFinder);
|
||||
inline G4ChordFinder* GetChordFinder();
|
||||
inline const G4ChordFinder* GetChordFinder() const;
|
||||
// Create, set or get the associated Chord Finder
|
||||
|
||||
virtual void ConfigureForTrack( const G4Track * );
|
||||
// Setup the choice of the configurable parameters
|
||||
// relying on the current track's energy, particle identity, ..
|
||||
// Note: In addition to the values of member variables,
|
||||
// a user can use this to change the ChordFinder, the field, ...
|
||||
|
||||
public: // with description
|
||||
|
||||
inline G4double GetDeltaIntersection() const; // virtual ?
|
||||
// Accuracy for boundary intersection.
|
||||
|
||||
inline G4double GetDeltaOneStep() const; // virtual ?
|
||||
// Accuracy for one tracking/physics step.
|
||||
|
||||
inline void SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep);
|
||||
// Sets both accuracies, maintaining a fixed ratio for accuracties
|
||||
// of volume Intersection and Integration (in One Step)
|
||||
|
||||
inline void SetDeltaOneStep(G4double valueD1step);
|
||||
// Set accuracy for integration of one step. (only)
|
||||
inline void SetDeltaIntersection(G4double valueDintersection);
|
||||
// Set accuracy of intersection of a volume. (only)
|
||||
|
||||
inline G4double GetMinimumEpsilonStep() const;
|
||||
inline void SetMinimumEpsilonStep( G4double newEpsMin );
|
||||
// Minimum for Relative accuracy of a Step
|
||||
|
||||
inline G4double GetMaximumEpsilonStep() const;
|
||||
inline void SetMaximumEpsilonStep( G4double newEpsMax );
|
||||
// Maximum for Relative accuracy of a Step
|
||||
|
||||
inline G4bool DoesFieldChangeEnergy() const;
|
||||
inline void SetFieldChangesEnergy(G4bool value);
|
||||
// For electric field this should be true
|
||||
// For electromagnetic field this should be true
|
||||
// For magnetic field this should be false
|
||||
|
||||
|
||||
inline G4bool FieldHasMagComponent() const;
|
||||
inline void SetFieldMagComponent(G4bool value);
|
||||
// For electric field this should be true
|
||||
// For magnetic field this should be false
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4FieldManager(const G4FieldManager&);
|
||||
G4FieldManager& operator=(const G4FieldManager&);
|
||||
// Private copy constructor and assignment operator.
|
||||
|
||||
private:
|
||||
|
||||
G4Field* fDetectorField;
|
||||
G4ChordFinder* fChordFinder;
|
||||
|
||||
G4bool fAllocatedChordFinder; // Did we used "new" to
|
||||
// create fChordFinder ?
|
||||
G4bool fFieldChangesEnergy;
|
||||
|
||||
// Values for the required accuracies
|
||||
//
|
||||
G4double fDelta_One_Step_Value; // for one tracking/physics step
|
||||
G4double fDelta_Intersection_Val; // for boundary intersection
|
||||
|
||||
G4double fDefault_Delta_One_Step_Value; // = 0.25 * mm;
|
||||
G4double fDefault_Delta_Intersection_Val; // = 0.1 * mm;
|
||||
|
||||
// Values for the small possible relative accuracy of a step
|
||||
// (corresponding to the greatest possible integration accuracy)
|
||||
|
||||
G4double fEpsilonMinDefault; // Can be 1.0e-5 to 1.0e-10 ...
|
||||
G4double fEpsilonMaxDefault; // Can be 1.0e-3 to 1.0e-8 ...
|
||||
G4double fEpsilonMin;
|
||||
G4double fEpsilonMax;
|
||||
//TAO (nb if we add a value which is initialized in constructor: respect the order of declaration - initialization. therefor fMagComponent should be declared after fEpsilonMax .-cf constructors)
|
||||
G4bool fMagComponent;
|
||||
|
||||
};
|
||||
|
||||
// Our current design envisions that one Field manager is valid for a region of the detector.
|
||||
// (eg a detector with electric E and magnetic B field will now treat
|
||||
// them as one field - and could treat any other field of importance
|
||||
// as additional components of a single field.)
|
||||
// Does it make sense to have several instead ?
|
||||
// Is the lack of elegance of the design (of G4Field) made up
|
||||
// for by the simplification it allows ?
|
||||
|
||||
// Implementation of inline functions
|
||||
|
||||
#include "G4FieldManager.icc"
|
||||
|
||||
#endif /* G4FIELDMANAGER_HH */
|
133
geant4/TaoLEMuSR/G4Modified/G4FieldManager.icc
Normal file
133
geant4/TaoLEMuSR/G4Modified/G4FieldManager.icc
Normal file
@ -0,0 +1,133 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FieldManager.icc,v 1.9 2003/11/08 03:39:39 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// G4FieldManager inline implementation
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
inline
|
||||
const G4Field* G4FieldManager::GetDetectorField() const
|
||||
{
|
||||
// If pointer is null, should this raise an exception ??
|
||||
return fDetectorField;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4FieldManager::DoesFieldExist() const
|
||||
{
|
||||
return (fDetectorField != 0);
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetChordFinder(G4ChordFinder *aChordFinder)
|
||||
{
|
||||
fChordFinder= aChordFinder;
|
||||
}
|
||||
|
||||
inline
|
||||
G4ChordFinder* G4FieldManager::GetChordFinder()
|
||||
{
|
||||
return fChordFinder;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4FieldManager::GetDeltaIntersection() const
|
||||
{
|
||||
return fDelta_Intersection_Val;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4FieldManager::GetDeltaOneStep() const
|
||||
{
|
||||
return fDelta_One_Step_Value;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetDeltaOneStep(G4double valDeltaOneStep)
|
||||
{
|
||||
fDelta_One_Step_Value= valDeltaOneStep;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetDeltaIntersection(G4double valDeltaIntersection)
|
||||
{
|
||||
fDelta_Intersection_Val = valDeltaIntersection;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep)
|
||||
{
|
||||
fDelta_One_Step_Value= valDeltaOneStep;
|
||||
fDelta_Intersection_Val = 0.4 * fDelta_One_Step_Value;
|
||||
}
|
||||
|
||||
inline G4bool G4FieldManager::DoesFieldChangeEnergy() const
|
||||
{ return fFieldChangesEnergy;}
|
||||
|
||||
inline void G4FieldManager::SetFieldChangesEnergy(G4bool value)
|
||||
{ fFieldChangesEnergy = value; }
|
||||
|
||||
inline G4bool G4FieldManager:: FieldHasMagComponent() const
|
||||
{ return fMagComponent; }
|
||||
|
||||
inline void G4FieldManager::SetFieldMagComponent(G4bool value)
|
||||
{ fMagComponent = value;}
|
||||
|
||||
|
||||
// Minimum for Relative accuracy of any Step
|
||||
inline
|
||||
G4double G4FieldManager::GetMinimumEpsilonStep() const
|
||||
{
|
||||
return fEpsilonMin;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetMinimumEpsilonStep( G4double newEpsMin )
|
||||
{
|
||||
if( (newEpsMin > 0.0) && (fabs(1.0+newEpsMin) > 1.0) )
|
||||
{
|
||||
fEpsilonMin = newEpsMin;
|
||||
}
|
||||
}
|
||||
|
||||
// Maximum for Relative accuracy of any Step
|
||||
inline
|
||||
G4double G4FieldManager::GetMaximumEpsilonStep() const
|
||||
{
|
||||
return fEpsilonMax;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4FieldManager::SetMaximumEpsilonStep( G4double newEpsMax )
|
||||
{
|
||||
if( (newEpsMax > 0.0)
|
||||
&& (newEpsMax >= fEpsilonMin )
|
||||
&& (fabs(1.0+newEpsMax)>1.0) )
|
||||
{
|
||||
fEpsilonMax = newEpsMax;
|
||||
}
|
||||
}
|
209
geant4/TaoLEMuSR/G4Modified/G4MuonDecayChannel.cc
Normal file
209
geant4/TaoLEMuSR/G4Modified/G4MuonDecayChannel.cc
Normal file
@ -0,0 +1,209 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonDecayChannel.cc,v 1.13 2005/06/23 11:02:26 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// 30 May 1997 H.Kurashige
|
||||
//
|
||||
// Fix bug in calcuration of electron energy in DecayIt 28 Feb. 01 H.Kurashige
|
||||
//2005
|
||||
// M. Melissas ( melissas AT cppm.in2p3.fr)
|
||||
// J. Brunner ( brunner AT cppm.in2p3.fr)
|
||||
// Adding V-A fluxes for neutrinos using a new algortithm :
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4DecayProducts.hh"
|
||||
#include "G4VDecayChannel.hh"
|
||||
#include "G4MuonDecayChannel.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
#include "G4LorentzRotation.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
|
||||
G4MuonDecayChannel::G4MuonDecayChannel(const G4String& theParentName,
|
||||
G4double theBR)
|
||||
:G4VDecayChannel("Muon Decay",1)
|
||||
{
|
||||
// set names for daughter particles
|
||||
if (theParentName == "mu+") {
|
||||
SetBR(theBR);
|
||||
SetParent("mu+");
|
||||
SetNumberOfDaughters(3);
|
||||
SetDaughter(0, "e+");
|
||||
SetDaughter(1, "nu_e");
|
||||
SetDaughter(2, "anti_nu_mu");
|
||||
} else if (theParentName == "Mu") {
|
||||
SetBR(theBR);
|
||||
SetParent("Mu");
|
||||
SetNumberOfDaughters(3);
|
||||
SetDaughter(0, "e+");
|
||||
SetDaughter(1, "nu_e");
|
||||
SetDaughter(2, "anti_nu_mu");
|
||||
} else if (theParentName == "mu-") {
|
||||
SetBR(theBR);
|
||||
SetParent("mu-");
|
||||
SetNumberOfDaughters(3);
|
||||
SetDaughter(0, "e-");
|
||||
SetDaughter(1, "anti_nu_e");
|
||||
SetDaughter(2, "nu_mu");
|
||||
} else {
|
||||
#ifdef G4VERBOSE
|
||||
if (GetVerboseLevel()>0) {
|
||||
G4cout << "G4MuonDecayChannel:: constructor :";
|
||||
G4cout << " parent particle is not muon but ";
|
||||
G4cout << theParentName << G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
G4MuonDecayChannel::~G4MuonDecayChannel()
|
||||
{
|
||||
}
|
||||
|
||||
G4DecayProducts *G4MuonDecayChannel::DecayIt(G4double)
|
||||
{
|
||||
// this version neglects muon polarization,and electron mass
|
||||
// assumes the pure V-A coupling
|
||||
// the Neutrinos are correctly V-A.
|
||||
#ifdef G4VERBOSE
|
||||
if (GetVerboseLevel()>1) G4cout << "G4MuonDecayChannel::DecayIt ";
|
||||
#endif
|
||||
|
||||
if (parent == 0) FillParent();
|
||||
if (daughters == 0) FillDaughters();
|
||||
|
||||
// parent mass
|
||||
G4double parentmass = parent->GetPDGMass();
|
||||
|
||||
//daughters'mass
|
||||
G4double daughtermass[3];
|
||||
G4double sumofdaughtermass = 0.0;
|
||||
for (G4int index=0; index<3; index++){
|
||||
daughtermass[index] = daughters[index]->GetPDGMass();
|
||||
sumofdaughtermass += daughtermass[index];
|
||||
}
|
||||
|
||||
//create parent G4DynamicParticle at rest
|
||||
G4ThreeVector dummy;
|
||||
G4DynamicParticle * parentparticle = new G4DynamicParticle( parent, dummy, 0.0);
|
||||
//create G4Decayproducts
|
||||
G4DecayProducts *products = new G4DecayProducts(*parentparticle);
|
||||
delete parentparticle;
|
||||
|
||||
// calculate daughter momentum
|
||||
G4double daughtermomentum[3];
|
||||
// calcurate electron energy
|
||||
G4double xmax = (1.0+daughtermass[0]*daughtermass[0]/parentmass/parentmass);
|
||||
G4double x;
|
||||
|
||||
G4double Ee,Ene;
|
||||
|
||||
G4double gam;
|
||||
G4double EMax=parentmass/2-daughtermass[0];
|
||||
|
||||
|
||||
//Generating Random Energy
|
||||
do {
|
||||
Ee=G4UniformRand();
|
||||
do{
|
||||
x=xmax*G4UniformRand();
|
||||
gam=G4UniformRand();
|
||||
}while (gam >x*(1.-x));
|
||||
Ene=x;
|
||||
} while ( Ene < (1.-Ee));
|
||||
G4double Enm=(2.-Ee-Ene);
|
||||
|
||||
|
||||
//initialisation of rotation parameters
|
||||
|
||||
G4double costheta,sintheta,rphi,rtheta,rpsi;
|
||||
costheta= 1.-2./Ee-2./Ene+2./Ene/Ee;
|
||||
sintheta=sqrt(1.-costheta*costheta);
|
||||
|
||||
|
||||
rphi=twopi*G4UniformRand()*rad;
|
||||
rtheta=(acos(2.*G4UniformRand()-1.));
|
||||
rpsi=twopi*G4UniformRand()*rad;
|
||||
|
||||
G4RotationMatrix *rot= new G4RotationMatrix();
|
||||
rot->set(rphi,rtheta,rpsi);
|
||||
|
||||
//electron 0
|
||||
daughtermomentum[0]=sqrt(Ee*Ee*EMax*EMax+2.0*Ee*EMax * daughtermass[0]);
|
||||
G4ThreeVector *direction0 =new G4ThreeVector(0.0,0.0,1.0);
|
||||
|
||||
*direction0 *= *rot;
|
||||
|
||||
G4DynamicParticle * daughterparticle = new G4DynamicParticle ( daughters[0], *direction0 * daughtermomentum[0]);
|
||||
|
||||
products->PushProducts(daughterparticle);
|
||||
|
||||
//electronic neutrino 1
|
||||
|
||||
daughtermomentum[1]=sqrt(Ene*Ene*EMax*EMax+2.0*Ene*EMax * daughtermass[1]);
|
||||
G4ThreeVector *direction1 =new G4ThreeVector(sintheta,0.0,costheta);
|
||||
|
||||
*direction1 *= *rot;
|
||||
|
||||
G4DynamicParticle * daughterparticle1 = new G4DynamicParticle ( daughters[1], *direction1 * daughtermomentum[1]);
|
||||
products->PushProducts(daughterparticle1);
|
||||
|
||||
//muonnic neutrino 2
|
||||
|
||||
daughtermomentum[2]=sqrt(Enm*Enm*EMax*EMax +2.0*Enm*EMax*daughtermass[2]);
|
||||
G4ThreeVector *direction2 =new G4ThreeVector(-Ene/Enm*sintheta,0,-Ee/Enm-Ene/Enm*costheta);
|
||||
|
||||
*direction2 *= *rot;
|
||||
|
||||
G4DynamicParticle * daughterparticle2 = new G4DynamicParticle ( daughters[2],
|
||||
*direction2 * daughtermomentum[2]);
|
||||
products->PushProducts(daughterparticle2);
|
||||
|
||||
|
||||
|
||||
|
||||
// output message
|
||||
#ifdef G4VERBOSE
|
||||
if (GetVerboseLevel()>1) {
|
||||
G4cout << "G4MuonDecayChannel::DecayIt ";
|
||||
G4cout << " create decay products in rest frame " <<G4endl;
|
||||
products->DumpInfo();
|
||||
}
|
||||
#endif
|
||||
return products;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
63
geant4/TaoLEMuSR/G4Modified/G4MuonDecayChannel.hh
Normal file
63
geant4/TaoLEMuSR/G4Modified/G4MuonDecayChannel.hh
Normal file
@ -0,0 +1,63 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonDecayChannel.hh,v 1.5 2001/07/11 10:01:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// 30 May 1997 H.Kurashige
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4MuonDecayChannel_h
|
||||
#define G4MuonDecayChannel_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4VDecayChannel.hh"
|
||||
|
||||
class G4MuonDecayChannel :public G4VDecayChannel
|
||||
{
|
||||
// Class Decription
|
||||
// This class describes muon decay kinemtics.
|
||||
// This version neglects muon polarization
|
||||
// assumes the pure V-A coupling
|
||||
// gives incorrect energy spectrum for neutrinos
|
||||
//
|
||||
|
||||
public: // With Description
|
||||
//Constructors
|
||||
G4MuonDecayChannel(const G4String& theParentName,
|
||||
G4double theBR);
|
||||
// Destructor
|
||||
virtual ~G4MuonDecayChannel();
|
||||
|
||||
public: // With Description
|
||||
virtual G4DecayProducts *DecayIt(G4double);
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
460
geant4/TaoLEMuSR/G4Modified/G4VDecayChannel.cc
Normal file
460
geant4/TaoLEMuSR/G4Modified/G4VDecayChannel.cc
Normal file
@ -0,0 +1,460 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDecayChannel.cc,v 1.16 2004/12/02 08:09:00 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// 27 July 1996 H.Kurashige
|
||||
// 30 May 1997 H.Kurashige
|
||||
// 23 Mar. 2000 H.Weber : add GetAngularMomentum
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
#include "G4DecayProducts.hh"
|
||||
#include "G4VDecayChannel.hh"
|
||||
|
||||
const G4String G4VDecayChannel::noName = " ";
|
||||
|
||||
G4VDecayChannel::G4VDecayChannel(const G4String &aName, G4int Verbose)
|
||||
:kinematics_name(aName),
|
||||
rbranch(0.0),
|
||||
numberOfDaughters(0),
|
||||
parent_name(0), daughters_name(0),
|
||||
particletable(0),
|
||||
parent(0), daughters(0),
|
||||
parent_mass(0.0), daughters_mass(0),
|
||||
verboseLevel(Verbose)
|
||||
{
|
||||
// set pointer to G4ParticleTable (static and singleton object)
|
||||
particletable = G4ParticleTable::GetParticleTable();
|
||||
}
|
||||
|
||||
G4VDecayChannel::G4VDecayChannel(const G4String &aName,
|
||||
const G4String& theParentName,
|
||||
G4double theBR,
|
||||
G4int theNumberOfDaughters,
|
||||
const G4String& theDaughterName1,
|
||||
const G4String& theDaughterName2,
|
||||
const G4String& theDaughterName3,
|
||||
const G4String& theDaughterName4 )
|
||||
:kinematics_name(aName),
|
||||
rbranch(theBR),
|
||||
numberOfDaughters(theNumberOfDaughters),
|
||||
parent_name(0), daughters_name(0),
|
||||
particletable(0),
|
||||
parent(0), daughters(0),
|
||||
parent_mass(0.0), daughters_mass(0),
|
||||
verboseLevel(1)
|
||||
{
|
||||
// set pointer to G4ParticleTable (static and singleton object)
|
||||
particletable = G4ParticleTable::GetParticleTable();
|
||||
|
||||
// parent name
|
||||
parent_name = new G4String(theParentName);
|
||||
|
||||
// cleate array
|
||||
daughters_name = new G4String*[numberOfDaughters];
|
||||
for (G4int index=0;index<numberOfDaughters;index++) daughters_name[index]=0;
|
||||
|
||||
// daughters' name
|
||||
if (numberOfDaughters>0) daughters_name[0] = new G4String(theDaughterName1);
|
||||
if (numberOfDaughters>1) daughters_name[1] = new G4String(theDaughterName2);
|
||||
if (numberOfDaughters>2) daughters_name[2] = new G4String(theDaughterName3);
|
||||
if (numberOfDaughters>3) daughters_name[3] = new G4String(theDaughterName4);
|
||||
}
|
||||
|
||||
|
||||
|
||||
G4VDecayChannel::G4VDecayChannel(const G4VDecayChannel &right)
|
||||
{
|
||||
kinematics_name = right.kinematics_name;
|
||||
verboseLevel = right.verboseLevel;
|
||||
rbranch = right.rbranch;
|
||||
|
||||
// copy parent name
|
||||
parent_name = new G4String(*right.parent_name);
|
||||
parent = 0;
|
||||
parent_mass = 0.0;
|
||||
|
||||
//create array
|
||||
numberOfDaughters = right.numberOfDaughters;
|
||||
|
||||
if ( numberOfDaughters >0 ) {
|
||||
daughters_name = new G4String*[numberOfDaughters];
|
||||
//copy daughters name
|
||||
for (G4int index=0; index < numberOfDaughters; index++)
|
||||
{
|
||||
daughters_name[index] = new G4String(*right.daughters_name[index]);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
daughters_mass = 0;
|
||||
daughters = 0;
|
||||
|
||||
// particle table
|
||||
particletable = G4ParticleTable::GetParticleTable();
|
||||
}
|
||||
|
||||
G4VDecayChannel & G4VDecayChannel::operator=(const G4VDecayChannel &right)
|
||||
{
|
||||
if (this != &right) {
|
||||
kinematics_name = right.kinematics_name;
|
||||
verboseLevel = right.verboseLevel;
|
||||
rbranch = right.rbranch;
|
||||
|
||||
// copy parent name
|
||||
parent_name = new G4String(*right.parent_name);
|
||||
|
||||
// clear daughters_name array
|
||||
ClearDaughtersName();
|
||||
|
||||
// recreate array
|
||||
numberOfDaughters = right.numberOfDaughters;
|
||||
if ( numberOfDaughters >0 ) {
|
||||
daughters_name = new G4String*[numberOfDaughters];
|
||||
//copy daughters name
|
||||
for (G4int index=0; index < numberOfDaughters; index++) {
|
||||
daughters_name[index] = new G4String(*right.daughters_name[index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
parent = 0;
|
||||
daughters = 0;
|
||||
parent_mass = 0.0;
|
||||
daughters_mass = 0;
|
||||
|
||||
// particle table
|
||||
particletable = G4ParticleTable::GetParticleTable();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
G4VDecayChannel::~G4VDecayChannel()
|
||||
{
|
||||
if (parent_name != 0) delete parent_name;
|
||||
ClearDaughtersName();
|
||||
if (daughters_mass != 0) delete [] daughters_mass;
|
||||
}
|
||||
|
||||
void G4VDecayChannel::ClearDaughtersName()
|
||||
{
|
||||
if ( daughters_name != 0) {
|
||||
if (numberOfDaughters>0) {
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1) {
|
||||
G4cout << "G4VDecayChannel::ClearDaughtersName ";
|
||||
G4cout << "clear all daughters " << G4endl;
|
||||
}
|
||||
#endif
|
||||
for (G4int index=0; index < numberOfDaughters; index++) {
|
||||
if (daughters_name[index] != 0) delete daughters_name[index];
|
||||
}
|
||||
}
|
||||
delete [] daughters_name;
|
||||
daughters_name = 0;
|
||||
}
|
||||
//
|
||||
if (daughters != 0) delete [] daughters;
|
||||
if (daughters_mass != 0) delete [] daughters_mass;
|
||||
daughters = 0;
|
||||
daughters_mass = 0;
|
||||
|
||||
numberOfDaughters = 0;
|
||||
}
|
||||
|
||||
void G4VDecayChannel::SetNumberOfDaughters(G4int size)
|
||||
{
|
||||
if (size >0) {
|
||||
// remove old contents
|
||||
ClearDaughtersName();
|
||||
// cleate array
|
||||
daughters_name = new G4String*[size];
|
||||
for (G4int index=0;index<size;index++) daughters_name[index]=0;
|
||||
numberOfDaughters = size;
|
||||
}
|
||||
}
|
||||
|
||||
void G4VDecayChannel::SetDaughter(G4int anIndex,
|
||||
const G4String &particle_name)
|
||||
{
|
||||
// check numberOfDaughters is positive
|
||||
if (numberOfDaughters<=0) {
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::SetDaughter: ";
|
||||
G4cout << "Number of daughters is not defined" << G4endl;
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
// check existence of daughters_name array
|
||||
if (daughters_name == 0) {
|
||||
// cleate array
|
||||
daughters_name = new G4String*[numberOfDaughters];
|
||||
for (G4int index=0;index<numberOfDaughters;index++) {
|
||||
daughters_name[index]=0;
|
||||
}
|
||||
}
|
||||
|
||||
// check an index
|
||||
if ( (anIndex<0) || (anIndex>=numberOfDaughters) ) {
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::SetDaughter";
|
||||
G4cout << "index out of range " << anIndex << G4endl;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
// delete the old name if it exists
|
||||
if (daughters_name[anIndex]!=0) delete daughters_name[anIndex];
|
||||
// fill the name
|
||||
daughters_name[anIndex] = new G4String(particle_name);
|
||||
// refill the array of daughters[] if it exists
|
||||
if (daughters != 0) FillDaughters();
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1) {
|
||||
G4cout << "G4VDecayChannel::SetDaughter[" << anIndex <<"] :";
|
||||
G4cout << daughters_name[anIndex] << ":" << *daughters_name[anIndex]<<G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void G4VDecayChannel::SetDaughter(G4int anIndex, const G4ParticleDefinition * parent_type)
|
||||
{
|
||||
if (parent_type != 0) SetDaughter(anIndex, parent_type->GetParticleName());
|
||||
}
|
||||
|
||||
void G4VDecayChannel::FillDaughters()
|
||||
{
|
||||
G4int index;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1) G4cout << "G4VDecayChannel::FillDaughters()" <<G4endl;
|
||||
#endif
|
||||
if (daughters != 0) delete [] daughters;
|
||||
|
||||
// parent mass
|
||||
if (parent == 0) FillParent();
|
||||
G4double parentmass = parent->GetPDGMass();
|
||||
|
||||
//
|
||||
G4double sumofdaughtermass = 0.0;
|
||||
if ((numberOfDaughters <=0) || (daughters_name == 0) ){
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::FillDaughters ";
|
||||
G4cout << "[ " << parent->GetParticleName() << " ]";
|
||||
G4cout << "numberOfDaughters is not defined yet";
|
||||
}
|
||||
#endif
|
||||
daughters = 0;
|
||||
G4Exception("G4VDecayChannel::FillDaughters");
|
||||
}
|
||||
|
||||
//create and set the array of pointers to daughter particles
|
||||
daughters = new G4ParticleDefinition*[numberOfDaughters];
|
||||
if (daughters_mass != 0) delete [] daughters_mass;
|
||||
daughters_mass = new G4double[numberOfDaughters];
|
||||
// loop over all daughters
|
||||
for (index=0; index < numberOfDaughters; index++) {
|
||||
if (daughters_name[index] == 0) {
|
||||
// daughter name is not defined
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::FillDaughters ";
|
||||
G4cout << "[ " << parent->GetParticleName() << " ]";
|
||||
G4cout << index << "-th daughter is not defined yet" << G4endl;
|
||||
}
|
||||
#endif
|
||||
daughters[index] = 0;
|
||||
G4Exception("G4VDecayChannel::FillDaughters");
|
||||
}
|
||||
//search daughter particles in the particle table
|
||||
daughters[index] = particletable->FindParticle(*daughters_name[index]);
|
||||
if (daughters[index] == 0) {
|
||||
// can not find the daughter particle
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::FillDaughters ";
|
||||
G4cout << "[ " << parent->GetParticleName() << " ]";
|
||||
G4cout << index << ":" << *daughters_name[index];
|
||||
G4cout << " is not defined !!" << G4endl;
|
||||
G4cout << " The BR of this decay mode is set to zero " << G4endl;
|
||||
}
|
||||
#endif
|
||||
SetBR(0.0);
|
||||
return;
|
||||
}
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1) {
|
||||
G4cout << index << ":" << *daughters_name[index];
|
||||
G4cout << ":" << daughters[index] << G4endl;
|
||||
}
|
||||
#endif
|
||||
daughters_mass[index] = daughters[index]->GetPDGMass();
|
||||
sumofdaughtermass += daughters[index]->GetPDGMass();
|
||||
} // end loop over all daughters
|
||||
|
||||
// check sum of daghter mass
|
||||
G4double widthMass = parent->GetPDGWidth();
|
||||
if ( (parent->GetParticleType() != "nucleus") &&
|
||||
(sumofdaughtermass > parentmass + 5*widthMass) ){
|
||||
// !!! illegal mass !!!
|
||||
#ifdef G4VERBOSE
|
||||
if (GetVerboseLevel()>0) {
|
||||
G4cout << "G4VDecayChannel::FillDaughters ";
|
||||
G4cout << "[ " << parent->GetParticleName() << " ]";
|
||||
G4cout << " Energy/Momentum conserevation breaks " <<G4endl;
|
||||
if (GetVerboseLevel()>1) {
|
||||
G4cout << " parent:" << *parent_name;
|
||||
G4cout << " mass:" << parentmass/GeV << "[GeV/c/c]" <<G4endl;
|
||||
for (index=0; index < numberOfDaughters; index++){
|
||||
G4cout << " daughter " << index << ":" << *daughters_name[index];
|
||||
G4cout << " mass:" << daughters[index]->GetPDGMass()/GeV;
|
||||
G4cout << "[GeV/c/c]" <<G4endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void G4VDecayChannel::FillParent()
|
||||
{
|
||||
if (parent_name == 0) {
|
||||
// parent name is not defined
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::FillParent ";
|
||||
G4cout << ": parent name is not defined !!" << G4endl;
|
||||
}
|
||||
#endif
|
||||
parent = 0;
|
||||
G4Exception("G4VDecayChannel::FillParent");
|
||||
}
|
||||
// search parent particle in the particle table
|
||||
parent = particletable->FindParticle(*parent_name);
|
||||
if (parent == 0) {
|
||||
// parent particle does not exist
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4VDecayChannel::FillParent ";
|
||||
G4cout << *parent_name << " does not exist !!" << G4endl;
|
||||
}
|
||||
#endif
|
||||
G4Exception("G4VDecayChannel::FillParent");
|
||||
}
|
||||
parent_mass = parent->GetPDGMass();
|
||||
}
|
||||
|
||||
void G4VDecayChannel::SetParent(const G4ParticleDefinition * parent_type)
|
||||
{
|
||||
if (parent_type != 0) SetParent(parent_type->GetParticleName());
|
||||
}
|
||||
|
||||
G4int G4VDecayChannel::GetAngularMomentum()
|
||||
{
|
||||
// determine angular momentum
|
||||
|
||||
// fill pointers to daughter particles if not yet set
|
||||
if (daughters == 0) FillDaughters();
|
||||
|
||||
const G4int PiSpin = parent->GetPDGiSpin();
|
||||
const G4int PParity = parent->GetPDGiParity();
|
||||
if (2==numberOfDaughters) { // up to now we can only handle two particle decays
|
||||
const G4int D1iSpin = daughters[0]->GetPDGiSpin();
|
||||
const G4int D1Parity = daughters[0]->GetPDGiParity();
|
||||
const G4int D2iSpin = daughters[1]->GetPDGiSpin();
|
||||
const G4int D2Parity = daughters[1]->GetPDGiParity();
|
||||
const G4int MiniSpin = std::abs (D1iSpin - D2iSpin);
|
||||
const G4int MaxiSpin = D1iSpin + D2iSpin;
|
||||
const G4int lMax = (PiSpin+D1iSpin+D2iSpin)/2; // l is allways int
|
||||
G4int lMin;
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1) {
|
||||
G4cout << "iSpin: " << PiSpin << " -> " << D1iSpin << " + " << D2iSpin << G4endl;
|
||||
G4cout << "2*jmin, 2*jmax, lmax " << MiniSpin << " " << MaxiSpin << " " << lMax << G4endl;
|
||||
}
|
||||
#endif
|
||||
for (G4int j=MiniSpin; j<=MaxiSpin; j+=2){ // loop over all possible spin couplings
|
||||
lMin = std::abs(PiSpin-j)/2;
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1)
|
||||
G4cout << "-> checking 2*j=" << j << G4endl;
|
||||
#endif
|
||||
for (G4int l=lMin; l<=lMax; l++) {
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>1)
|
||||
G4cout << " checking l=" << l << G4endl;
|
||||
#endif
|
||||
if (l%2==0) {
|
||||
if (PParity == D1Parity*D2Parity) { // check parity for this l
|
||||
return l;
|
||||
}
|
||||
} else {
|
||||
if (PParity == -1*D1Parity*D2Parity) { // check parity for this l
|
||||
return l;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
G4Exception ("G4VDecayChannel::GetAngularMomentum: Sorry, can't handle 3 particle decays (up to now)");
|
||||
}
|
||||
G4Exception ("G4VDecayChannel::GetAngularMomentum: Can't find angular momentum for this decay!");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void G4VDecayChannel::DumpInfo()
|
||||
{
|
||||
G4cout << " BR: " << rbranch << " [" << kinematics_name << "]";
|
||||
G4cout << " : " ;
|
||||
for (G4int index=0; index < numberOfDaughters; index++)
|
||||
{
|
||||
if(daughters_name[index] != 0) {
|
||||
G4cout << " " << *(daughters_name[index]);
|
||||
} else {
|
||||
G4cout << " not defined ";
|
||||
}
|
||||
}
|
||||
G4cout << G4endl;
|
||||
}
|
||||
|
||||
const G4String& G4VDecayChannel::GetNoName() const
|
||||
{
|
||||
return noName;
|
||||
}
|
290
geant4/TaoLEMuSR/G4Modified/G4VDecayChannel.hh
Normal file
290
geant4/TaoLEMuSR/G4Modified/G4VDecayChannel.hh
Normal file
@ -0,0 +1,290 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDecayChannel.hh,v 1.11 2004/12/02 08:08:58 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// 27 July 1996 H.Kurashige
|
||||
// 30 May 1997 H.Kurashige
|
||||
// 23 Mar. 2000 H.Weber : add GetAngularMomentum()
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4VDecayChannel_h
|
||||
#define G4VDecayChannel_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
#include <cmath>
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4ParticleDefinition;
|
||||
class G4DecayProducts;
|
||||
class G4ParticleTable;
|
||||
|
||||
class G4VDecayChannel
|
||||
{
|
||||
// Class Description
|
||||
// This class is a abstract class to describe decay kinematics
|
||||
//
|
||||
|
||||
public:
|
||||
//Constructors
|
||||
G4VDecayChannel(const G4String &aName, G4int Verbose = 1);
|
||||
G4VDecayChannel(const G4String &aName,
|
||||
const G4String& theParentName,
|
||||
G4double theBR,
|
||||
G4int theNumberOfDaughters,
|
||||
const G4String& theDaughterName1,
|
||||
const G4String& theDaughterName2 = "",
|
||||
const G4String& theDaughterName3 = "",
|
||||
const G4String& theDaughterName4 = "" );
|
||||
|
||||
// Destructor
|
||||
virtual ~G4VDecayChannel();
|
||||
|
||||
private:
|
||||
// copy constructor and assignment operatotr
|
||||
G4VDecayChannel(const G4VDecayChannel &);
|
||||
G4VDecayChannel & operator=(const G4VDecayChannel &);
|
||||
|
||||
public:
|
||||
// equality operators
|
||||
G4int operator==(const G4VDecayChannel &right) const {return (this == &right);}
|
||||
G4int operator!=(const G4VDecayChannel &right) const {return (this != &right);}
|
||||
|
||||
// less-than operator is defined for G4DecayTable
|
||||
G4int operator<(const G4VDecayChannel &right) const;
|
||||
|
||||
public: // With Description
|
||||
virtual G4DecayProducts* DecayIt(G4double parentMass = -1.0) = 0;
|
||||
|
||||
public: // With Description
|
||||
//get kinematics name
|
||||
G4String GetKinematicsName() const;
|
||||
//get branching ratio
|
||||
G4double GetBR() const;
|
||||
//get number of daughter particles
|
||||
G4int GetNumberOfDaughters() const;
|
||||
|
||||
//get the pointer to the parent particle
|
||||
G4ParticleDefinition * GetParent();
|
||||
//get the pointer to a daughter particle
|
||||
G4ParticleDefinition * GetDaughter(G4int anIndex);
|
||||
|
||||
//get the angular momentum of the decay
|
||||
G4int GetAngularMomentum();
|
||||
//get the name of the parent particle
|
||||
const G4String& GetParentName() const;
|
||||
//get the name of a daughter particle
|
||||
const G4String& GetDaughterName(G4int anIndex) const;
|
||||
|
||||
// get mass of parent
|
||||
G4double GetParentMass() const;
|
||||
G4double GetDaughterMass(G4int anIndex) const;
|
||||
G4ThreeVector GetParentPolarization();
|
||||
//set the parent particle (by name or by pointer)
|
||||
void SetParent(const G4ParticleDefinition * particle_type);
|
||||
void SetParent(const G4String &particle_name);
|
||||
//set branching ratio
|
||||
void SetBR(G4double value);
|
||||
//set number of daughter particles
|
||||
void SetNumberOfDaughters(G4int value);
|
||||
//set a daughter particle (by name or by pointer)
|
||||
void SetDaughter(G4int anIndex,
|
||||
const G4ParticleDefinition * particle_type);
|
||||
void SetDaughter(G4int anIndex,
|
||||
const G4String &particle_name);
|
||||
protected:
|
||||
// kinematics name
|
||||
G4String kinematics_name;
|
||||
// branching ratio [0.0 - 1.0]
|
||||
G4double rbranch;
|
||||
// number of daughters
|
||||
G4int numberOfDaughters;
|
||||
// parent particle
|
||||
G4String* parent_name;
|
||||
//daughter particles
|
||||
G4String** daughters_name;
|
||||
|
||||
protected: // With Description
|
||||
// celar daughters array
|
||||
void ClearDaughtersName();
|
||||
|
||||
protected:
|
||||
// pointer to particle table
|
||||
G4ParticleTable* particletable;
|
||||
|
||||
// temporary buffers of pointers to G4ParticleDefinition
|
||||
G4ParticleDefinition* parent;
|
||||
G4ParticleDefinition** daughters;
|
||||
|
||||
// parent mass
|
||||
G4double parent_mass;
|
||||
G4double* daughters_mass;
|
||||
|
||||
//parent theParentPolarization
|
||||
G4ThreeVector theParentPolarization;
|
||||
|
||||
// fill daughters array
|
||||
void FillDaughters();
|
||||
// fill parent
|
||||
void FillParent();
|
||||
|
||||
public: // With Description
|
||||
void SetVerboseLevel(G4int value);
|
||||
G4int GetVerboseLevel() const;
|
||||
void DumpInfo();
|
||||
|
||||
private:
|
||||
const G4String& GetNoName() const;
|
||||
|
||||
private:
|
||||
// controle flag for output message
|
||||
G4int verboseLevel;
|
||||
// 0: Silent
|
||||
// 1: Warning message
|
||||
// 2: More
|
||||
|
||||
static const G4String noName;
|
||||
|
||||
public:
|
||||
void SetParentPolarization(G4ThreeVector polar);
|
||||
};
|
||||
|
||||
inline
|
||||
G4int G4VDecayChannel::operator<(const G4VDecayChannel &right) const
|
||||
{
|
||||
return (this->rbranch < right.rbranch);
|
||||
}
|
||||
|
||||
inline
|
||||
G4ParticleDefinition* G4VDecayChannel::GetDaughter(G4int anIndex)
|
||||
{
|
||||
//pointers to daughter particles are filled, if they are not set yet
|
||||
if (daughters == 0) FillDaughters();
|
||||
|
||||
//get the pointer to a daughter particle
|
||||
if ( (anIndex>=0) && (anIndex<numberOfDaughters) ) {
|
||||
return daughters[anIndex];
|
||||
} else {
|
||||
if (verboseLevel>0)
|
||||
G4cout << "G4VDecayChannel::GetDaughter index out of range "<<anIndex<<G4endl;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
const G4String& G4VDecayChannel::GetDaughterName(G4int anIndex) const
|
||||
{
|
||||
if ( (anIndex>=0) && (anIndex<numberOfDaughters) ) {
|
||||
return *daughters_name[anIndex];
|
||||
} else {
|
||||
if (verboseLevel>0){
|
||||
G4cout << "G4VDecayChannel::GetDaughterName ";
|
||||
G4cout << "index out of range " << anIndex << G4endl;
|
||||
}
|
||||
return GetNoName();
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VDecayChannel::GetDaughterMass(G4int anIndex) const
|
||||
{
|
||||
if ( (anIndex>=0) && (anIndex<numberOfDaughters) ) {
|
||||
return daughters_mass[anIndex];
|
||||
} else {
|
||||
if (verboseLevel>0){
|
||||
G4cout << "G4VDecayChannel::GetDaughterMass ";
|
||||
G4cout << "index out of range " << anIndex << G4endl;
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
G4ParticleDefinition* G4VDecayChannel::GetParent()
|
||||
{
|
||||
//the pointer to the parent particle is filled, if it is not set yet
|
||||
if (parent == 0) FillParent();
|
||||
//get the pointer to the parent particle
|
||||
return parent;
|
||||
}
|
||||
|
||||
inline
|
||||
const G4String& G4VDecayChannel::GetParentName() const
|
||||
{
|
||||
return *parent_name;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VDecayChannel::GetParentMass() const
|
||||
{
|
||||
return parent_mass;
|
||||
}
|
||||
|
||||
|
||||
inline
|
||||
void G4VDecayChannel::SetParent(const G4String &particle_name)
|
||||
{
|
||||
if (parent_name != 0) delete parent_name;
|
||||
parent_name = new G4String(particle_name);
|
||||
parent = 0;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4VDecayChannel::GetNumberOfDaughters() const
|
||||
{
|
||||
return numberOfDaughters;
|
||||
}
|
||||
|
||||
inline
|
||||
G4String G4VDecayChannel::GetKinematicsName() const { return kinematics_name; }
|
||||
|
||||
inline
|
||||
void G4VDecayChannel::SetBR(G4double value){ rbranch = value; }
|
||||
|
||||
inline
|
||||
G4double G4VDecayChannel::GetBR() const { return rbranch; }
|
||||
|
||||
inline
|
||||
void G4VDecayChannel::SetVerboseLevel(G4int value){ verboseLevel = value; }
|
||||
|
||||
inline
|
||||
G4int G4VDecayChannel::GetVerboseLevel() const { return verboseLevel; }
|
||||
|
||||
|
||||
inline G4ThreeVector G4VDecayChannel::GetParentPolarization(){return theParentPolarization;}
|
||||
inline void G4VDecayChannel::SetParentPolarization(G4ThreeVector polar){theParentPolarization=polar;}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
8
geant4/TaoLEMuSR/G4Modified/Readme.txt
Normal file
8
geant4/TaoLEMuSR/G4Modified/Readme.txt
Normal file
@ -0,0 +1,8 @@
|
||||
Geant4 ElectricField update files:
|
||||
|
||||
Copy files in the following directories:
|
||||
|
||||
G4El_EqRhs -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
G4El_UsualEqRhs -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
G4ChordFinder -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
|
42
geant4/TaoLEMuSR/G4Modified/update.sh
Normal file
42
geant4/TaoLEMuSR/G4Modified/update.sh
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
|
||||
# In order to handle the LEMuSR new types of field
|
||||
cp G4ChordFinder.cc $G4INSTALL/source/geometry/magneticfield/src/
|
||||
cp G4ChordFinder.hh $G4INSTALL/source/geometry/magneticfield/include/
|
||||
|
||||
# For the FieldHasMagComponent boolean variable
|
||||
cp G4FieldManager.cc $G4INSTALL/source/geometry/magneticfield/src/
|
||||
cp G4FieldManager.hh $G4INSTALL/source/geometry/magneticfield/include/
|
||||
cp G4FieldManager.icc $G4INSTALL/source/geometry/magneticfield/include/
|
||||
|
||||
# Better equations of motions including time update
|
||||
cp G4El_EqRhs.cc $G4INSTALL/source/geometry/magneticfield/src/
|
||||
cp G4El_EqRhs.hh $G4INSTALL/source/geometry/magneticfield/include/
|
||||
|
||||
cp G4El_UsualEqRhs.cc $G4INSTALL/source/geometry/magneticfield/src/
|
||||
cp G4El_UsualEqRhs.hh $G4INSTALL/source/geometry/magneticfield/include/
|
||||
|
||||
# Enable the muon decay channel for "Mu" particle
|
||||
# Set parent polarization
|
||||
cp G4VDecayChannel.cc $G4INSTALL/source/particles/management/src/
|
||||
cp G4VDecayChannel.hh $G4INSTALL/source/particles/management/include/
|
||||
cp G4MuonDecayChannel.cc $G4INSTALL/source/particles/management/src/
|
||||
cp G4MuonDecayChannel.hh $G4INSTALL/source/particles/management/include/
|
||||
|
||||
|
||||
#cd $G4INSTALL/source/geometry/magneticfield/
|
||||
#gmake clean
|
||||
#gmake
|
||||
|
||||
|
||||
#cd $G4INSTALL/source/particles/management/
|
||||
#gmake clean
|
||||
#gmake
|
||||
|
||||
cd $G4INSTALL/source
|
||||
gmake
|
||||
|
||||
cd $G4WORKDIR
|
||||
|
||||
|
||||
|
74
geant4/TaoLEMuSR/GNUmakefile
Normal file
74
geant4/TaoLEMuSR/GNUmakefile
Normal file
@ -0,0 +1,74 @@
|
||||
# $Id$
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
|
||||
name := LEMuSR
|
||||
G4TARGET := $(name)
|
||||
G4EXLIB := true
|
||||
|
||||
ifndef G4INSTALL
|
||||
G4INSTALL = ../
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
|
||||
########################### TRIUMF ###############################
|
||||
#CPPFLAGS += -I$(G4INSTALL)/spintest/triumf/spintest/include
|
||||
|
||||
########################### ROOT #################################
|
||||
ifdef ROOTSYS
|
||||
ifndef G4UI_USE_ROOT
|
||||
CPPFLAGS += -DG4ANALYSIS_USE_ROOT $(shell $(ROOTSYS)/bin/root-config --cflags)
|
||||
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --nonew --glibs) -lMinuit -lHtml
|
||||
ROOTLIBS := $(filter-out -lNew,$(ROOTLIBS))
|
||||
ROOTLIBS := $(filter-out -lThread,$(ROOTLIBS))
|
||||
ROOTLIBS := $(filter-out -lpthread,$(ROOTLIBS))
|
||||
LDLIBS += $(ROOTLIBS)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef ASYM_USE_LEMU
|
||||
CPPFLAGS += -DASYM_USE_LEMU
|
||||
endif
|
||||
|
||||
ifdef LEMU_TEST_ASYM
|
||||
CPPFLAGS += -DLEMU_TEST_ASYM
|
||||
endif
|
||||
|
||||
ifdef LEMU_TEST_FIELD
|
||||
CPPFLAGS += -DLEMU_TEST_FIELD
|
||||
endif
|
||||
|
||||
ifdef LEMU_TEST_CFOIL
|
||||
CPPFLAGS += -DLEMU_TEST_CFOIL
|
||||
endif
|
||||
|
||||
ifdef LEMU_TEST_FOCAL_LENGTH
|
||||
CPPFLAGS += -DLEMU_TEST_FOCAL_LENGTH
|
||||
endif
|
||||
|
||||
ifdef G4SRVERBOSE
|
||||
CPPFLAGS += -DG4SRVERBOSE
|
||||
endif
|
||||
|
||||
ifdef DEBUG_INTERPOLATING_FIELD
|
||||
CPPFLAGS += -DDEBUG_INTERPOLATING_FIELD
|
||||
endif
|
||||
|
||||
ifdef NO_CFOIL
|
||||
CPPFLAGS += -DNO_CFOIL
|
||||
endif
|
||||
|
||||
ifdef LEMU_GET_NEWMAPS
|
||||
CPPFLAGS += -DLEMU_GET_NEWMAPS
|
||||
endif
|
||||
|
||||
ifdef LEMU_TRANSVERSE_FIELD
|
||||
CPPFLAGS += -DLEMU_TRANSVERSE_FIELD
|
||||
endif
|
179
geant4/TaoLEMuSR/LEMuSR.cc
Normal file
179
geant4/TaoLEMuSR/LEMuSR.cc
Normal file
@ -0,0 +1,179 @@
|
||||
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//*
|
||||
// LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION Geant4 SIMULATION
|
||||
// ID : LEMuSR.cc , v 1.2
|
||||
// AUTHOR: Taofiq PARAISO
|
||||
// DATE : 2004-06-24 09:57
|
||||
|
||||
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
|
||||
//
|
||||
// & &&&&&&&&&& &&&&&&& &&&&&&&&
|
||||
// & & && && & &&
|
||||
// & & & & & & &&
|
||||
// & &&&&&&& & & &&&&&& &&&&&&&&
|
||||
// & & & && & & &&
|
||||
// & & && & & && && & &
|
||||
// &&&&&&&&&& &&&&&&&&&& & &&&&& && &&&&&&& & &&
|
||||
// &
|
||||
// &
|
||||
// &
|
||||
// &
|
||||
//
|
||||
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
|
||||
|
||||
|
||||
|
||||
// I G4 CLASSES
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4UIterminal.hh"
|
||||
#include "G4UItcsh.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
// II LEMuSR CLASSES
|
||||
// a_ Mandatory Classes
|
||||
#include "LEMuSRDetectorConstruction.hh"
|
||||
#include "LEMuSRPhysicsList.hh"
|
||||
#include "PhysicsList.hh"
|
||||
#include "LEMuSRPrimaryGeneratorAction.hh"
|
||||
|
||||
// b_ Optionnal Classes
|
||||
#include "LEMuSRRunAction.hh"
|
||||
#include "LEMuSREventAction.hh"
|
||||
#include "LEMuSRSteppingAction.hh"
|
||||
#include "LEMuSRStackingAction.hh"
|
||||
#include "LEMuSRTrackingAction.hh"
|
||||
|
||||
// III TEST STEPPING ACTIONS CLASSES
|
||||
#include "AsymCheck.hh"
|
||||
#include "FieldCheck.hh"
|
||||
#include "TDCheck.hh"
|
||||
#include "FocalLengthTest.hh"
|
||||
|
||||
|
||||
// IV LEMuSR VISUALIZATION CLASS
|
||||
#include "LEMuSRVisManager.hh"
|
||||
|
||||
// V Interactive root xwindow
|
||||
#ifdef G4UI_USE_ROOT
|
||||
#include "G4UIRoot.hh"
|
||||
#endif
|
||||
|
||||
|
||||
int main() //argc:: defines the user interface
|
||||
{
|
||||
// random numbers
|
||||
time_t myseed;
|
||||
time(&myseed);
|
||||
RanecuEngine *theRanGenerator = new RanecuEngine;
|
||||
theRanGenerator->setSeed(myseed);
|
||||
HepRandom::setTheEngine(theRanGenerator);
|
||||
|
||||
|
||||
//! 1 The run manager construction
|
||||
G4RunManager* runManager = new G4RunManager;
|
||||
|
||||
//! 2 The three mandatory classes
|
||||
|
||||
//! 2.1 LEMuSR Initialization classes
|
||||
LEMuSRDetectorConstruction* lemuDetector = new LEMuSRDetectorConstruction();
|
||||
|
||||
LEMuSRPhysicsList* lemuPhysicsList = new LEMuSRPhysicsList();
|
||||
|
||||
|
||||
//! 2.2 Setting the mandatory Initialization classes
|
||||
runManager ->SetUserInitialization( lemuDetector );
|
||||
|
||||
runManager ->SetUserInitialization( lemuPhysicsList );
|
||||
|
||||
|
||||
//! 2.3 LEMuSR Action class
|
||||
LEMuSRPrimaryGeneratorAction* lemuPGA = new LEMuSRPrimaryGeneratorAction();
|
||||
|
||||
|
||||
|
||||
//! 2.4 Setting the mandatory Action class
|
||||
runManager ->SetUserAction( lemuPGA );
|
||||
|
||||
//! 3 The optionnal classes
|
||||
runManager ->SetUserAction( new LEMuSRRunAction());
|
||||
runManager ->SetUserAction( new LEMuSREventAction());// scintillators, sensitive detectors
|
||||
runManager ->SetUserAction( new LEMuSRTrackingAction());
|
||||
runManager ->SetUserAction( new LEMuSRStackingAction());
|
||||
|
||||
|
||||
|
||||
//! Optionnal stepping action: enable one at once only
|
||||
|
||||
#if defined LEMU_TEST_ASYM
|
||||
runManager ->SetUserAction( new AsymCheck()); //! To test the asymmetry
|
||||
#elif defined LEMU_TEST_FIELD
|
||||
runManager ->SetUserAction( new FieldCheck()); //! To test the EM fields
|
||||
#elif defined LEMU_TEST_CFOIL
|
||||
runManager ->SetUserAction( new TDCheck()); //! To test the trigger foil
|
||||
#elif defined LEMU_TEST_FOCAL_LENGTH
|
||||
runManager ->SetUserAction( new FocalLengthTest()); //! To test the focal length of the einzel lens
|
||||
#else
|
||||
runManager ->SetUserAction( new LEMuSRSteppingAction()); //! For a normal run
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//! 4 The visualization manager construction and initialization. It will be initialize only if the env variable G4VIS_USE=1 !
|
||||
#ifdef G4VIS_USE
|
||||
LEMuSRVisManager* lemuVisManager = new LEMuSRVisManager;
|
||||
lemuVisManager -> Initialize();
|
||||
#endif
|
||||
|
||||
//! 5 Initialize G4 kernel
|
||||
runManager -> Initialize();
|
||||
|
||||
|
||||
//! 6 Configuration of the User Interface manager
|
||||
G4UImanager* UI = G4UImanager::GetUIpointer();
|
||||
|
||||
G4UIsession* session = 0;
|
||||
|
||||
|
||||
|
||||
#if defined G4UI_USE_ROOT
|
||||
// G4UIRoot is a ROOT based GUI
|
||||
session = new G4UIRoot( argc, argv);
|
||||
#elif defined G4UI_USE_TCSH
|
||||
session = new G4UIterminal(new G4UItcsh);
|
||||
G4cout<<"\n G4UI_USE_TCSH! \n"<<G4endl;
|
||||
#else
|
||||
session = new G4UIterminal();
|
||||
#endif
|
||||
|
||||
UI->ApplyCommand("/vis/sceneHandler/create");
|
||||
UI->ApplyCommand("/control/verbose 1");
|
||||
UI->ApplyCommand("/run/verbose 1");
|
||||
|
||||
#if defined LEMU_TEST_ASYM
|
||||
UI->ApplyCommand("/Detector/MagneticField 50");
|
||||
UI->ApplyCommand("/Detector/AsymCheck on");
|
||||
UI->ApplyCommand("/lemuGun/gunPosition 0 0 0");
|
||||
UI->ApplyCommand("/lemuGun/energy/defined 0");
|
||||
UI->ApplyCommand("/lemuGun/energy/offset 0");
|
||||
G4cout<<"\n READY TO TEST ASYMETRY! ";
|
||||
#endif
|
||||
|
||||
//! JOB START
|
||||
|
||||
session->SessionStart();
|
||||
|
||||
//! JOB TERMINATION
|
||||
|
||||
delete session;
|
||||
|
||||
#if defined G4VIS_USE
|
||||
delete lemuVisManager;
|
||||
#endif
|
||||
|
||||
|
||||
delete runManager;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
28
geant4/TaoLEMuSR/LastModifications.txt
Normal file
28
geant4/TaoLEMuSR/LastModifications.txt
Normal file
@ -0,0 +1,28 @@
|
||||
LAST MODIFICATIONS
|
||||
|
||||
Stacking Manager:
|
||||
The stacking manager is now responsible for the tracks selection. If the tracks in the staks are not desired partiles they are killed directly. This was done before by the stepping manager and costed more CPU time.
|
||||
The gamma particles are killed. It seems that some processes for gamma particles have a bug in the 8.0.2.p01 version of geant4. The consequence is a global time that goes back. One should contact them to check it.
|
||||
|
||||
DetectorConstruction:
|
||||
The ring anode was entirely built in the half or quarter detector view modes (cf command Detector/View ). This caused few problems with the geometry controler.
|
||||
|
||||
|
||||
AtRestSpinPrecession:
|
||||
The spin precession at rest is not calculated if the magnetic field is (0,0,0). This "mute" problem caused crashed in the simulation under rare special conditions. The typical error when a (0,0,0) vector is used or when a vector is divided by zero leads to a "ZMxpvInifiteVector thrown" message.
|
||||
|
||||
|
||||
PhysicsList:
|
||||
For simplicity the modular physics list was removed and everything is now in LEMuSRPhyiscsList.
|
||||
|
||||
|
||||
|
||||
SteppingAction:
|
||||
Some data about the killed particles (killed for looping in fields) are now printed out.
|
||||
|
||||
|
||||
LEMuSRMultipleScattering:
|
||||
This class is now G4 independant and has its own ParticleChange.
|
||||
|
||||
|
||||
|
734
geant4/TaoLEMuSR/MEYER/M10.eps
Normal file
734
geant4/TaoLEMuSR/MEYER/M10.eps
Normal file
@ -0,0 +1,734 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: M10.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Mon Apr 11 19:41:32 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 420 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 865 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 865 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 865 M
|
||||
( 0.1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1310 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1310 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1756 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1756 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.3) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2201 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2201 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2646 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2646 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3091 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3091 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3536 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3536 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.7) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3982 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3982 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4427 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4427 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.9) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4872 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4872 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
714 280 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1408 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1408 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2102 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2102 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2797 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2797 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3491 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3491 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4185 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4185 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4879 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4879 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5574 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5574 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6268 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6268 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
6248 0 V
|
||||
0 4452 V
|
||||
-6248 0 V
|
||||
714 420 L
|
||||
140 2646 M
|
||||
currentpoint gsave translate 90 rotate 0 0 M
|
||||
(Meyer's distribution) Cshow
|
||||
grestore
|
||||
3838 70 M
|
||||
(scatt. angle [deg]) Cshow
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('M10.keV' us 1:2) Rshow
|
||||
783 4872 Pls
|
||||
853 4843 Pls
|
||||
922 4814 Pls
|
||||
992 4785 Pls
|
||||
1061 4756 Pls
|
||||
1131 4712 Pls
|
||||
1200 4619 Pls
|
||||
1269 4527 Pls
|
||||
1339 4434 Pls
|
||||
1408 4342 Pls
|
||||
1478 4238 Pls
|
||||
1547 4121 Pls
|
||||
1616 4003 Pls
|
||||
1686 3869 Pls
|
||||
1755 3734 Pls
|
||||
1825 3601 Pls
|
||||
1894 3467 Pls
|
||||
1964 3334 Pls
|
||||
2033 3201 Pls
|
||||
2102 3067 Pls
|
||||
2172 2939 Pls
|
||||
2241 2811 Pls
|
||||
2311 2682 Pls
|
||||
2380 2554 Pls
|
||||
2450 2430 Pls
|
||||
2519 2323 Pls
|
||||
2588 2215 Pls
|
||||
2658 2108 Pls
|
||||
2727 2001 Pls
|
||||
2797 1903 Pls
|
||||
2866 1818 Pls
|
||||
2936 1733 Pls
|
||||
3005 1648 Pls
|
||||
3074 1563 Pls
|
||||
3144 1489 Pls
|
||||
3213 1420 Pls
|
||||
3283 1354 Pls
|
||||
3352 1297 Pls
|
||||
3421 1239 Pls
|
||||
3491 1193 Pls
|
||||
3560 1147 Pls
|
||||
3630 1101 Pls
|
||||
3699 1055 Pls
|
||||
3769 1011 Pls
|
||||
3838 978 Pls
|
||||
3907 945 Pls
|
||||
3977 912 Pls
|
||||
4046 879 Pls
|
||||
4116 850 Pls
|
||||
4185 826 Pls
|
||||
4255 802 Pls
|
||||
4324 778 Pls
|
||||
4393 755 Pls
|
||||
4463 735 Pls
|
||||
4532 717 Pls
|
||||
4602 700 Pls
|
||||
4671 682 Pls
|
||||
4740 665 Pls
|
||||
4810 652 Pls
|
||||
4879 640 Pls
|
||||
4949 629 Pls
|
||||
5018 617 Pls
|
||||
5088 605 Pls
|
||||
5157 596 Pls
|
||||
5226 587 Pls
|
||||
5296 578 Pls
|
||||
5365 569 Pls
|
||||
5435 560 Pls
|
||||
5504 554 Pls
|
||||
5574 547 Pls
|
||||
5643 540 Pls
|
||||
5712 534 Pls
|
||||
5782 529 Pls
|
||||
5851 524 Pls
|
||||
5921 520 Pls
|
||||
5990 516 Pls
|
||||
6060 512 Pls
|
||||
6129 508 Pls
|
||||
6198 504 Pls
|
||||
6268 500 Pls
|
||||
6337 496 Pls
|
||||
6407 492 Pls
|
||||
6476 488 Pls
|
||||
6545 483 Pls
|
||||
6615 481 Pls
|
||||
6684 479 Pls
|
||||
6754 477 Pls
|
||||
6823 474 Pls
|
||||
6893 472 Pls
|
||||
6962 470 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
(exp\(-x*x/200.\)) Rshow
|
||||
6395 4599 M
|
||||
399 0 V
|
||||
714 4872 M
|
||||
63 -5 V
|
||||
63 -13 V
|
||||
63 -23 V
|
||||
63 -32 V
|
||||
64 -41 V
|
||||
63 -49 V
|
||||
63 -57 V
|
||||
63 -65 V
|
||||
63 -72 V
|
||||
63 -80 V
|
||||
63 -86 V
|
||||
63 -92 V
|
||||
63 -98 V
|
||||
64 -103 V
|
||||
63 -107 V
|
||||
63 -112 V
|
||||
63 -114 V
|
||||
63 -117 V
|
||||
63 -120 V
|
||||
63 -121 V
|
||||
63 -122 V
|
||||
63 -123 V
|
||||
64 -122 V
|
||||
63 -123 V
|
||||
63 -121 V
|
||||
63 -120 V
|
||||
63 -118 V
|
||||
63 -115 V
|
||||
63 -114 V
|
||||
63 -110 V
|
||||
63 -107 V
|
||||
64 -104 V
|
||||
63 -101 V
|
||||
63 -96 V
|
||||
63 -93 V
|
||||
63 -89 V
|
||||
63 -85 V
|
||||
63 -80 V
|
||||
63 -77 V
|
||||
63 -72 V
|
||||
64 -69 V
|
||||
63 -64 V
|
||||
63 -61 V
|
||||
63 -56 V
|
||||
63 -53 V
|
||||
63 -50 V
|
||||
63 -46 V
|
||||
63 -42 V
|
||||
63 -39 V
|
||||
64 -37 V
|
||||
63 -33 V
|
||||
63 -30 V
|
||||
63 -28 V
|
||||
63 -26 V
|
||||
63 -23 V
|
||||
63 -22 V
|
||||
63 -19 V
|
||||
63 -17 V
|
||||
64 -16 V
|
||||
63 -14 V
|
||||
63 -13 V
|
||||
63 -11 V
|
||||
63 -10 V
|
||||
63 -9 V
|
||||
63 -8 V
|
||||
63 -8 V
|
||||
63 -6 V
|
||||
64 -6 V
|
||||
63 -4 V
|
||||
63 -5 V
|
||||
63 -4 V
|
||||
63 -3 V
|
||||
63 -3 V
|
||||
63 -2 V
|
||||
63 -3 V
|
||||
63 -2 V
|
||||
64 -1 V
|
||||
63 -2 V
|
||||
63 -1 V
|
||||
63 -1 V
|
||||
63 -1 V
|
||||
63 -1 V
|
||||
63 0 V
|
||||
63 -1 V
|
||||
63 0 V
|
||||
64 -1 V
|
||||
63 0 V
|
||||
63 -1 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 -1 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
167
geant4/TaoLEMuSR/MEYER/M10.keV
Normal file
167
geant4/TaoLEMuSR/MEYER/M10.keV
Normal file
@ -0,0 +1,167 @@
|
||||
0.5 1 0
|
||||
1 0.99351 0.0357481
|
||||
1.5 0.98702 0.0710264
|
||||
2 0.98053 0.105832
|
||||
2.5 0.974041 0.140163
|
||||
3 0.964167 0.173408
|
||||
3.5 0.943389 0.203577
|
||||
4 0.922611 0.232237
|
||||
4.5 0.901832 0.259387
|
||||
5 0.881054 0.285026
|
||||
5.5 0.857766 0.30825
|
||||
6 0.83169 0.328679
|
||||
6.5 0.805237 0.347053
|
||||
7 0.775073 0.361776
|
||||
7.5 0.744909 0.374314
|
||||
8 0.714917 0.384761
|
||||
8.5 0.684995 0.39308
|
||||
9 0.655074 0.399237
|
||||
9.5 0.625152 0.403233
|
||||
10 0.595231 0.405073
|
||||
10.5 0.566391 0.405532
|
||||
11 0.537611 0.403961
|
||||
11.5 0.508832 0.400324
|
||||
12 0.480052 0.394622
|
||||
12.5 0.452135 0.387601
|
||||
13 0.428038 0.381995
|
||||
13.5 0.403941 0.374666
|
||||
14 0.379845 0.36562
|
||||
14.5 0.355748 0.354859
|
||||
15 0.333765 0.344571
|
||||
15.5 0.314688 0.335826
|
||||
16 0.295611 0.32573
|
||||
16.5 0.276534 0.314285
|
||||
17 0.257457 0.301498
|
||||
17.5 0.240716 0.290187
|
||||
18 0.225189 0.279208
|
||||
18.5 0.21038 0.268056
|
||||
19 0.19745 0.258329
|
||||
19.5 0.18452 0.247699
|
||||
20 0.173957 0.239428
|
||||
20.5 0.163673 0.230816
|
||||
21 0.153388 0.22149
|
||||
21.5 0.143103 0.211455
|
||||
22 0.133193 0.201278
|
||||
22.5 0.125753 0.194237
|
||||
23 0.118313 0.186686
|
||||
23.5 0.110873 0.178626
|
||||
24 0.103433 0.170059
|
||||
24.5 0.0967697 0.16229
|
||||
25 0.0914364 0.156345
|
||||
25.5 0.086103 0.150039
|
||||
26 0.0807697 0.143374
|
||||
26.5 0.0754364 0.136352
|
||||
27 0.0709517 0.130535
|
||||
27.5 0.0670204 0.125456
|
||||
28 0.063089 0.120115
|
||||
28.5 0.0591577 0.114514
|
||||
29 0.0552264 0.108655
|
||||
29.5 0.0523566 0.10466
|
||||
30 0.0496858 0.100881
|
||||
30.5 0.0470149 0.0969269
|
||||
31 0.0443441 0.0927989
|
||||
31.5 0.041722 0.0886018
|
||||
32 0.0396678 0.0854598
|
||||
32.5 0.0376137 0.0821853
|
||||
33 0.0355596 0.0787792
|
||||
33.5 0.0335055 0.0752425
|
||||
34 0.0316272 0.0719762
|
||||
34.5 0.0301299 0.0694702
|
||||
35 0.0286327 0.0668695
|
||||
35.5 0.0271354 0.064175
|
||||
36 0.0256381 0.0613873
|
||||
36.5 0.0244597 0.0592799
|
||||
37 0.0235393 0.0577323
|
||||
37.5 0.0226189 0.0561271
|
||||
38 0.0216985 0.0544646
|
||||
38.5 0.0207781 0.0527455
|
||||
39 0.0198577 0.0509702
|
||||
39.5 0.0189373 0.0491392
|
||||
40 0.0180169 0.0472529
|
||||
40.5 0.0170965 0.045312
|
||||
41 0.0161761 0.0433168
|
||||
41.5 0.0152557 0.041268
|
||||
42 0.0143353 0.0391661
|
||||
42.5 0.013698 0.0377927
|
||||
43 0.0132167 0.0368168
|
||||
43.5 0.0127354 0.0358126
|
||||
44 0.0122542 0.0347803
|
||||
44.5 0.0117729 0.0337203
|
||||
45 0.0112916 0.0326328
|
||||
45.5 0.0108103 0.0315181
|
||||
46 0.010329 0.0303765
|
||||
46.5 0.00984769 0.0292083
|
||||
47 0.00936639 0.0280139
|
||||
47.5 0.0088851 0.0267934
|
||||
48 0.00840381 0.0255473
|
||||
48.5 0.00807864 0.0247543
|
||||
49 0.00780923 0.0241159
|
||||
49.5 0.00753982 0.0234628
|
||||
50 0.00727041 0.0227952
|
||||
50.5 0.007001 0.0221132
|
||||
51 0.00673158 0.0214171
|
||||
51.5 0.00646217 0.0207071
|
||||
52 0.00619276 0.0199833
|
||||
52.5 0.00592335 0.0192459
|
||||
53 0.00565394 0.0184951
|
||||
53.5 0.00538453 0.0177311
|
||||
54 0.00511512 0.016954
|
||||
54.5 0.00493893 0.0164751
|
||||
55 0.00478199 0.0160521
|
||||
55.5 0.00462504 0.0156214
|
||||
56 0.0044681 0.0151829
|
||||
56.5 0.00431115 0.0147369
|
||||
57 0.00415421 0.0142835
|
||||
57.5 0.00399726 0.0138227
|
||||
58 0.00384032 0.0133547
|
||||
58.5 0.00368337 0.0128797
|
||||
59 0.00352643 0.0123976
|
||||
59.5 0.00336948 0.0119088
|
||||
60 0.00321254 0.0114132
|
||||
60.5 0.00307638 0.0109852
|
||||
61 0.00294201 0.0105579
|
||||
61.5 0.00280764 0.0101251
|
||||
62 0.00267327 0.00968679
|
||||
62.5 0.0025389 0.00924312
|
||||
63 0.00240453 0.00879422
|
||||
63.5 0.00227016 0.00834018
|
||||
64 0.00213579 0.00788111
|
||||
64.5 0.00200142 0.00741713
|
||||
65 0.00186704 0.00694834
|
||||
65.5 0.00173267 0.00647487
|
||||
66 0.0015983 0.00599681
|
||||
66.5 0.00146393 0.00551429
|
||||
67 0.00132956 0.00502741
|
||||
67.5 0.00119519 0.0045363
|
||||
68 0.00106082 0.00404106
|
||||
68.5 0.000926448 0.00354181
|
||||
69 0.000792077 0.00303867
|
||||
69.5 0.000657706 0.00253176
|
||||
70 0.000523335 0.00202119
|
||||
70.5 0.000388965 0.00150707
|
||||
71 0.000254594 0.000989538
|
||||
71.5 0.000120223 0.0004687
|
||||
72 0 0
|
||||
72.5 0 0
|
||||
73 0 0
|
||||
73.5 0 0
|
||||
74 0 0
|
||||
74.5 0 0
|
||||
75 0 0
|
||||
75.5 0 0
|
||||
76 0 0
|
||||
76.5 0 0
|
||||
77 0 0
|
||||
77.5 0 0
|
||||
78 0 0
|
||||
78.5 0 0
|
||||
79 0 0
|
||||
79.5 0 0
|
||||
80 0 0
|
||||
80.5 0 0
|
||||
81 0 0
|
||||
81.5 0 0
|
||||
82 0 0
|
||||
82.5 0 0
|
||||
83 0 0
|
||||
83.5 0 0
|
BIN
geant4/TaoLEMuSR/MEYER/M10.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/M10.pdf
Normal file
Binary file not shown.
805
geant4/TaoLEMuSR/MEYER/M10sin.eps
Normal file
805
geant4/TaoLEMuSR/MEYER/M10sin.eps
Normal file
@ -0,0 +1,805 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: Ma10sin.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Mon Apr 11 19:49:42 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 420 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 915 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 915 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 915 M
|
||||
( 0.1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1409 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1409 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1904 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1904 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.3) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2399 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2399 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2893 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2893 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3388 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3388 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3883 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3883 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.7) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4377 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4377 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4872 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4872 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.9) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
714 280 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1408 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1408 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2102 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2102 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2797 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2797 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3491 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3491 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4185 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4185 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4879 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4879 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5574 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5574 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6268 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6268 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
6248 0 V
|
||||
0 4452 V
|
||||
-6248 0 V
|
||||
714 420 L
|
||||
140 2646 M
|
||||
currentpoint gsave translate 90 rotate 0 0 M
|
||||
(distribution) Cshow
|
||||
grestore
|
||||
3838 70 M
|
||||
([deg]) Cshow
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('M20.keV' us 1:3) Rshow
|
||||
749 420 Pls
|
||||
783 773 Pls
|
||||
818 1122 Pls
|
||||
853 1466 Pls
|
||||
888 1806 Pls
|
||||
922 2135 Pls
|
||||
957 2433 Pls
|
||||
992 2717 Pls
|
||||
1026 2986 Pls
|
||||
1061 3240 Pls
|
||||
1096 3470 Pls
|
||||
1131 3673 Pls
|
||||
1165 3856 Pls
|
||||
1200 4003 Pls
|
||||
1235 4128 Pls
|
||||
1269 4232 Pls
|
||||
1304 4316 Pls
|
||||
1339 4379 Pls
|
||||
1374 4420 Pls
|
||||
1408 4439 Pls
|
||||
1443 4446 Pls
|
||||
1478 4432 Pls
|
||||
1512 4398 Pls
|
||||
1547 4343 Pls
|
||||
1582 4275 Pls
|
||||
1616 4221 Pls
|
||||
1651 4150 Pls
|
||||
1686 4062 Pls
|
||||
1721 3957 Pls
|
||||
1755 3856 Pls
|
||||
1790 3771 Pls
|
||||
1825 3672 Pls
|
||||
1859 3560 Pls
|
||||
1894 3435 Pls
|
||||
1929 3323 Pls
|
||||
1964 3215 Pls
|
||||
1998 3105 Pls
|
||||
2033 3010 Pls
|
||||
2068 2905 Pls
|
||||
2102 2824 Pls
|
||||
2137 2739 Pls
|
||||
2172 2648 Pls
|
||||
2207 2549 Pls
|
||||
2241 2447 Pls
|
||||
2276 2378 Pls
|
||||
2311 2304 Pls
|
||||
2345 2224 Pls
|
||||
2380 2140 Pls
|
||||
2415 2062 Pls
|
||||
2450 2003 Pls
|
||||
2484 1941 Pls
|
||||
2519 1875 Pls
|
||||
2554 1805 Pls
|
||||
2588 1747 Pls
|
||||
2623 1697 Pls
|
||||
2658 1644 Pls
|
||||
2693 1589 Pls
|
||||
2727 1530 Pls
|
||||
2762 1490 Pls
|
||||
2797 1453 Pls
|
||||
2831 1413 Pls
|
||||
2866 1372 Pls
|
||||
2901 1330 Pls
|
||||
2936 1299 Pls
|
||||
2970 1266 Pls
|
||||
3005 1232 Pls
|
||||
3040 1197 Pls
|
||||
3074 1164 Pls
|
||||
3109 1139 Pls
|
||||
3144 1113 Pls
|
||||
3178 1086 Pls
|
||||
3213 1058 Pls
|
||||
3248 1037 Pls
|
||||
3283 1022 Pls
|
||||
3317 1006 Pls
|
||||
3352 989 Pls
|
||||
3387 972 Pls
|
||||
3421 955 Pls
|
||||
3456 936 Pls
|
||||
3491 917 Pls
|
||||
3526 898 Pls
|
||||
3560 877 Pls
|
||||
3595 856 Pls
|
||||
3630 835 Pls
|
||||
3664 821 Pls
|
||||
3699 811 Pls
|
||||
3734 801 Pls
|
||||
3769 791 Pls
|
||||
3803 780 Pls
|
||||
3838 769 Pls
|
||||
3873 758 Pls
|
||||
3907 746 Pls
|
||||
3942 734 Pls
|
||||
3977 722 Pls
|
||||
4012 709 Pls
|
||||
4046 697 Pls
|
||||
4081 688 Pls
|
||||
4116 682 Pls
|
||||
4150 675 Pls
|
||||
4185 669 Pls
|
||||
4220 662 Pls
|
||||
4255 654 Pls
|
||||
4289 647 Pls
|
||||
4324 640 Pls
|
||||
4359 632 Pls
|
||||
4393 624 Pls
|
||||
4428 616 Pls
|
||||
4463 608 Pls
|
||||
4498 603 Pls
|
||||
4532 599 Pls
|
||||
4567 594 Pls
|
||||
4602 590 Pls
|
||||
4636 585 Pls
|
||||
4671 581 Pls
|
||||
4706 576 Pls
|
||||
4740 571 Pls
|
||||
4775 566 Pls
|
||||
4810 561 Pls
|
||||
4845 556 Pls
|
||||
4879 550 Pls
|
||||
4914 546 Pls
|
||||
4949 541 Pls
|
||||
4983 536 Pls
|
||||
5018 532 Pls
|
||||
5053 527 Pls
|
||||
5088 522 Pls
|
||||
5122 517 Pls
|
||||
5157 512 Pls
|
||||
5192 507 Pls
|
||||
5226 502 Pls
|
||||
5261 496 Pls
|
||||
5296 491 Pls
|
||||
5331 485 Pls
|
||||
5365 480 Pls
|
||||
5400 474 Pls
|
||||
5435 468 Pls
|
||||
5469 463 Pls
|
||||
5504 457 Pls
|
||||
5539 451 Pls
|
||||
5574 445 Pls
|
||||
5608 439 Pls
|
||||
5643 432 Pls
|
||||
5678 426 Pls
|
||||
5712 420 Pls
|
||||
5747 420 Pls
|
||||
5782 420 Pls
|
||||
5817 420 Pls
|
||||
5851 420 Pls
|
||||
5886 420 Pls
|
||||
5921 420 Pls
|
||||
5955 420 Pls
|
||||
5990 420 Pls
|
||||
6025 420 Pls
|
||||
6060 420 Pls
|
||||
6094 420 Pls
|
||||
6129 420 Pls
|
||||
6164 420 Pls
|
||||
6198 420 Pls
|
||||
6233 420 Pls
|
||||
6268 420 Pls
|
||||
6302 420 Pls
|
||||
6337 420 Pls
|
||||
6372 420 Pls
|
||||
6407 420 Pls
|
||||
6441 420 Pls
|
||||
6476 420 Pls
|
||||
6511 420 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
(exp\(-x*x/55.\)*sin\(x/180*3.14\)*14.7) Rshow
|
||||
6395 4599 M
|
||||
399 0 V
|
||||
749 737 M
|
||||
58 525 V
|
||||
58 509 V
|
||||
58 484 V
|
||||
59 449 V
|
||||
58 408 V
|
||||
58 359 V
|
||||
58 306 V
|
||||
58 250 V
|
||||
59 192 V
|
||||
58 133 V
|
||||
58 76 V
|
||||
58 21 V
|
||||
58 -30 V
|
||||
59 -77 V
|
||||
58 -118 V
|
||||
58 -153 V
|
||||
58 -181 V
|
||||
58 -205 V
|
||||
59 -220 V
|
||||
58 -232 V
|
||||
58 -236 V
|
||||
58 -237 V
|
||||
58 -232 V
|
||||
59 -225 V
|
||||
58 -215 V
|
||||
58 -202 V
|
||||
58 -187 V
|
||||
58 -172 V
|
||||
59 -156 V
|
||||
58 -140 V
|
||||
58 -125 V
|
||||
58 -110 V
|
||||
58 -96 V
|
||||
59 -83 V
|
||||
58 -70 V
|
||||
58 -61 V
|
||||
58 -50 V
|
||||
58 -42 V
|
||||
59 -35 V
|
||||
58 -29 V
|
||||
58 -23 V
|
||||
58 -19 V
|
||||
58 -15 V
|
||||
59 -12 V
|
||||
58 -10 V
|
||||
58 -7 V
|
||||
58 -6 V
|
||||
58 -5 V
|
||||
59 -3 V
|
||||
58 -3 V
|
||||
58 -2 V
|
||||
58 -1 V
|
||||
58 -1 V
|
||||
59 -1 V
|
||||
58 -1 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 -1 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
58 0 V
|
||||
59 0 V
|
||||
58 0 V
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
BIN
geant4/TaoLEMuSR/MEYER/M10sin.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/M10sin.pdf
Normal file
Binary file not shown.
167
geant4/TaoLEMuSR/MEYER/M20.keV
Normal file
167
geant4/TaoLEMuSR/MEYER/M20.keV
Normal file
@ -0,0 +1,167 @@
|
||||
0.25 1 0
|
||||
0.5 0.993513 0.0714331
|
||||
0.75 0.987026 0.141932
|
||||
1 0.980539 0.211496
|
||||
1.25 0.974052 0.280122
|
||||
1.5 0.964213 0.346606
|
||||
1.75 0.943444 0.406954
|
||||
2 0.922675 0.464309
|
||||
2.25 0.901907 0.51867
|
||||
2.5 0.881138 0.570036
|
||||
2.75 0.857883 0.61662
|
||||
3 0.831818 0.65763
|
||||
3.25 0.805398 0.694578
|
||||
3.5 0.775248 0.724233
|
||||
3.75 0.745097 0.749546
|
||||
4 0.715117 0.770701
|
||||
4.25 0.685209 0.787622
|
||||
4.5 0.655301 0.800238
|
||||
4.75 0.625393 0.808549
|
||||
5 0.595485 0.812558
|
||||
5.25 0.566648 0.813804
|
||||
5.5 0.537881 0.811008
|
||||
5.75 0.509114 0.804079
|
||||
6 0.480348 0.793016
|
||||
6.25 0.452393 0.779221
|
||||
6.5 0.428307 0.768354
|
||||
6.75 0.404221 0.754029
|
||||
7 0.380135 0.736248
|
||||
7.25 0.356049 0.715014
|
||||
7.5 0.334012 0.694589
|
||||
7.75 0.314943 0.677392
|
||||
8 0.295875 0.657464
|
||||
8.25 0.276806 0.634807
|
||||
8.5 0.257738 0.609422
|
||||
8.75 0.240951 0.58687
|
||||
9 0.225432 0.565096
|
||||
9.25 0.210588 0.542846
|
||||
9.5 0.197664 0.523563
|
||||
9.75 0.18474 0.502434
|
||||
10 0.174136 0.485941
|
||||
10.25 0.163856 0.46886
|
||||
10.5 0.153576 0.450315
|
||||
10.75 0.143296 0.430307
|
||||
11 0.133336 0.40982
|
||||
11.25 0.125899 0.395852
|
||||
11.5 0.118463 0.380827
|
||||
11.75 0.111026 0.364747
|
||||
12 0.10359 0.347611
|
||||
12.25 0.096884 0.331926
|
||||
12.5 0.0915531 0.320098
|
||||
12.75 0.0862222 0.307515
|
||||
13 0.0808912 0.294177
|
||||
13.25 0.0755603 0.280086
|
||||
13.5 0.0710447 0.268323
|
||||
13.75 0.0671152 0.258176
|
||||
14 0.0631856 0.247475
|
||||
14.25 0.0592561 0.236221
|
||||
14.5 0.0553265 0.224414
|
||||
14.75 0.0524258 0.216299
|
||||
15 0.0497562 0.208746
|
||||
15.25 0.0470865 0.200818
|
||||
15.5 0.0444169 0.192515
|
||||
15.75 0.0417789 0.183978
|
||||
16 0.0397257 0.177687
|
||||
16.25 0.0376725 0.171109
|
||||
16.5 0.0356193 0.164243
|
||||
16.75 0.033566 0.157091
|
||||
17 0.031672 0.150409
|
||||
17.25 0.0301754 0.145378
|
||||
17.5 0.0286788 0.140138
|
||||
17.75 0.0271822 0.13469
|
||||
18 0.0256856 0.129035
|
||||
18.25 0.0244893 0.124701
|
||||
18.5 0.0235693 0.121626
|
||||
18.75 0.0226493 0.118424
|
||||
19 0.0217293 0.115095
|
||||
19.25 0.0208093 0.111638
|
||||
19.5 0.0198893 0.108053
|
||||
19.75 0.0189694 0.104342
|
||||
20 0.0180494 0.100504
|
||||
20.25 0.0171294 0.0965393
|
||||
20.5 0.0162094 0.0924486
|
||||
20.75 0.0152894 0.0882321
|
||||
21 0.0143694 0.08389
|
||||
21.25 0.0137161 0.0809972
|
||||
21.5 0.013235 0.0790439
|
||||
21.75 0.0127539 0.0770247
|
||||
22 0.0122729 0.0749396
|
||||
22.25 0.0117918 0.0727889
|
||||
22.5 0.0113107 0.0705726
|
||||
22.75 0.0108296 0.068291
|
||||
23 0.0103485 0.0659441
|
||||
23.25 0.00986747 0.0635322
|
||||
23.5 0.00938639 0.0610554
|
||||
23.75 0.00890531 0.0585139
|
||||
24 0.00842423 0.0559078
|
||||
24.25 0.0080902 0.0542229
|
||||
24.5 0.00782091 0.0529312
|
||||
24.75 0.00755161 0.0516032
|
||||
25 0.00728232 0.050239
|
||||
25.25 0.00701303 0.0488387
|
||||
25.5 0.00674374 0.0474024
|
||||
25.75 0.00647445 0.0459301
|
||||
26 0.00620516 0.044422
|
||||
26.25 0.00593587 0.0428782
|
||||
26.5 0.00566658 0.0412987
|
||||
26.75 0.00539729 0.0396838
|
||||
27 0.00512799 0.0380334
|
||||
27.25 0.00494651 0.0370046
|
||||
27.5 0.00478963 0.0361375
|
||||
27.75 0.00463276 0.0352497
|
||||
28 0.00447588 0.0343412
|
||||
28.25 0.00431901 0.0334121
|
||||
28.5 0.00416213 0.0324624
|
||||
28.75 0.00400526 0.0314922
|
||||
29 0.00384838 0.0305016
|
||||
29.25 0.00369151 0.0294907
|
||||
29.5 0.00353463 0.0284594
|
||||
29.75 0.00337775 0.027408
|
||||
30 0.00322088 0.0263364
|
||||
30.25 0.00308359 0.025406
|
||||
30.5 0.00294928 0.0244828
|
||||
30.75 0.00281497 0.0235425
|
||||
31 0.00268065 0.022585
|
||||
31.25 0.00254634 0.0216106
|
||||
31.5 0.00241203 0.0206192
|
||||
31.75 0.00227772 0.0196108
|
||||
32 0.00214341 0.0185857
|
||||
32.25 0.0020091 0.0175437
|
||||
32.5 0.00187479 0.016485
|
||||
32.75 0.00174048 0.0154097
|
||||
33 0.00160617 0.0143178
|
||||
33.25 0.00147186 0.0132094
|
||||
33.5 0.00133755 0.0120846
|
||||
33.75 0.00120323 0.0109433
|
||||
34 0.00106892 0.00978579
|
||||
34.25 0.000934612 0.00861199
|
||||
34.5 0.000800302 0.00742201
|
||||
34.75 0.000665991 0.00621593
|
||||
35 0.00053168 0.00499382
|
||||
35.25 0.000397369 0.00375574
|
||||
35.5 0.000263058 0.00250177
|
||||
35.75 0.000128747 0.00123197
|
||||
36 0 0
|
||||
36.25 0 0
|
||||
36.5 0 0
|
||||
36.75 0 0
|
||||
37 0 0
|
||||
37.25 0 0
|
||||
37.5 0 0
|
||||
37.75 0 0
|
||||
38 0 0
|
||||
38.25 0 0
|
||||
38.5 0 0
|
||||
38.75 0 0
|
||||
39 0 0
|
||||
39.25 0 0
|
||||
39.5 0 0
|
||||
39.75 0 0
|
||||
40 0 0
|
||||
40.25 0 0
|
||||
40.5 0 0
|
||||
40.75 0 0
|
||||
41 0 0
|
||||
41.25 0 0
|
||||
41.5 0 0
|
||||
41.75 0 0
|
805
geant4/TaoLEMuSR/MEYER/M20sin.eps
Normal file
805
geant4/TaoLEMuSR/MEYER/M20sin.eps
Normal file
@ -0,0 +1,805 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: M20sin.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Tue Apr 12 08:56:48 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 420 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 915 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 915 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 915 M
|
||||
( 0.1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1409 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1409 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1904 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1904 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.3) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2399 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2399 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2893 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2893 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3388 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3388 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3883 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3883 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.7) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4377 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4377 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4872 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4872 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.9) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
714 280 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1408 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1408 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2102 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2102 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2797 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2797 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3491 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3491 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4185 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4185 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4879 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4879 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5574 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5574 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6268 420 M
|
||||
0 4109 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6268 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
6248 0 V
|
||||
0 4452 V
|
||||
-6248 0 V
|
||||
714 420 L
|
||||
140 2646 M
|
||||
currentpoint gsave translate 90 rotate 0 0 M
|
||||
(distribution) Cshow
|
||||
grestore
|
||||
3838 70 M
|
||||
([deg]) Cshow
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('M20.keV' us 1:3) Rshow
|
||||
749 420 Pls
|
||||
783 773 Pls
|
||||
818 1122 Pls
|
||||
853 1466 Pls
|
||||
888 1806 Pls
|
||||
922 2135 Pls
|
||||
957 2433 Pls
|
||||
992 2717 Pls
|
||||
1026 2986 Pls
|
||||
1061 3240 Pls
|
||||
1096 3470 Pls
|
||||
1131 3673 Pls
|
||||
1165 3856 Pls
|
||||
1200 4003 Pls
|
||||
1235 4128 Pls
|
||||
1269 4232 Pls
|
||||
1304 4316 Pls
|
||||
1339 4379 Pls
|
||||
1374 4420 Pls
|
||||
1408 4439 Pls
|
||||
1443 4446 Pls
|
||||
1478 4432 Pls
|
||||
1512 4398 Pls
|
||||
1547 4343 Pls
|
||||
1582 4275 Pls
|
||||
1616 4221 Pls
|
||||
1651 4150 Pls
|
||||
1686 4062 Pls
|
||||
1721 3957 Pls
|
||||
1755 3856 Pls
|
||||
1790 3771 Pls
|
||||
1825 3672 Pls
|
||||
1859 3560 Pls
|
||||
1894 3435 Pls
|
||||
1929 3323 Pls
|
||||
1964 3215 Pls
|
||||
1998 3105 Pls
|
||||
2033 3010 Pls
|
||||
2068 2905 Pls
|
||||
2102 2824 Pls
|
||||
2137 2739 Pls
|
||||
2172 2648 Pls
|
||||
2207 2549 Pls
|
||||
2241 2447 Pls
|
||||
2276 2378 Pls
|
||||
2311 2304 Pls
|
||||
2345 2224 Pls
|
||||
2380 2140 Pls
|
||||
2415 2062 Pls
|
||||
2450 2003 Pls
|
||||
2484 1941 Pls
|
||||
2519 1875 Pls
|
||||
2554 1805 Pls
|
||||
2588 1747 Pls
|
||||
2623 1697 Pls
|
||||
2658 1644 Pls
|
||||
2693 1589 Pls
|
||||
2727 1530 Pls
|
||||
2762 1490 Pls
|
||||
2797 1453 Pls
|
||||
2831 1413 Pls
|
||||
2866 1372 Pls
|
||||
2901 1330 Pls
|
||||
2936 1299 Pls
|
||||
2970 1266 Pls
|
||||
3005 1232 Pls
|
||||
3040 1197 Pls
|
||||
3074 1164 Pls
|
||||
3109 1139 Pls
|
||||
3144 1113 Pls
|
||||
3178 1086 Pls
|
||||
3213 1058 Pls
|
||||
3248 1037 Pls
|
||||
3283 1022 Pls
|
||||
3317 1006 Pls
|
||||
3352 989 Pls
|
||||
3387 972 Pls
|
||||
3421 955 Pls
|
||||
3456 936 Pls
|
||||
3491 917 Pls
|
||||
3526 898 Pls
|
||||
3560 877 Pls
|
||||
3595 856 Pls
|
||||
3630 835 Pls
|
||||
3664 821 Pls
|
||||
3699 811 Pls
|
||||
3734 801 Pls
|
||||
3769 791 Pls
|
||||
3803 780 Pls
|
||||
3838 769 Pls
|
||||
3873 758 Pls
|
||||
3907 746 Pls
|
||||
3942 734 Pls
|
||||
3977 722 Pls
|
||||
4012 709 Pls
|
||||
4046 697 Pls
|
||||
4081 688 Pls
|
||||
4116 682 Pls
|
||||
4150 675 Pls
|
||||
4185 669 Pls
|
||||
4220 662 Pls
|
||||
4255 654 Pls
|
||||
4289 647 Pls
|
||||
4324 640 Pls
|
||||
4359 632 Pls
|
||||
4393 624 Pls
|
||||
4428 616 Pls
|
||||
4463 608 Pls
|
||||
4498 603 Pls
|
||||
4532 599 Pls
|
||||
4567 594 Pls
|
||||
4602 590 Pls
|
||||
4636 585 Pls
|
||||
4671 581 Pls
|
||||
4706 576 Pls
|
||||
4740 571 Pls
|
||||
4775 566 Pls
|
||||
4810 561 Pls
|
||||
4845 556 Pls
|
||||
4879 550 Pls
|
||||
4914 546 Pls
|
||||
4949 541 Pls
|
||||
4983 536 Pls
|
||||
5018 532 Pls
|
||||
5053 527 Pls
|
||||
5088 522 Pls
|
||||
5122 517 Pls
|
||||
5157 512 Pls
|
||||
5192 507 Pls
|
||||
5226 502 Pls
|
||||
5261 496 Pls
|
||||
5296 491 Pls
|
||||
5331 485 Pls
|
||||
5365 480 Pls
|
||||
5400 474 Pls
|
||||
5435 468 Pls
|
||||
5469 463 Pls
|
||||
5504 457 Pls
|
||||
5539 451 Pls
|
||||
5574 445 Pls
|
||||
5608 439 Pls
|
||||
5643 432 Pls
|
||||
5678 426 Pls
|
||||
5712 420 Pls
|
||||
5747 420 Pls
|
||||
5782 420 Pls
|
||||
5817 420 Pls
|
||||
5851 420 Pls
|
||||
5886 420 Pls
|
||||
5921 420 Pls
|
||||
5955 420 Pls
|
||||
5990 420 Pls
|
||||
6025 420 Pls
|
||||
6060 420 Pls
|
||||
6094 420 Pls
|
||||
6129 420 Pls
|
||||
6164 420 Pls
|
||||
6198 420 Pls
|
||||
6233 420 Pls
|
||||
6268 420 Pls
|
||||
6302 420 Pls
|
||||
6337 420 Pls
|
||||
6372 420 Pls
|
||||
6407 420 Pls
|
||||
6441 420 Pls
|
||||
6476 420 Pls
|
||||
6511 420 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
(exp\(-x*x/55.\)*sin\(x/180*3.14\)*14.7) Rshow
|
||||
6395 4599 M
|
||||
399 0 V
|
||||
714 420 M
|
||||
63 574 V
|
||||
63 562 V
|
||||
63 536 V
|
||||
63 499 V
|
||||
64 453 V
|
||||
63 397 V
|
||||
63 335 V
|
||||
63 269 V
|
||||
63 200 V
|
||||
63 131 V
|
||||
63 65 V
|
||||
63 1 V
|
||||
63 -56 V
|
||||
64 -108 V
|
||||
63 -152 V
|
||||
63 -189 V
|
||||
63 -217 V
|
||||
63 -238 V
|
||||
63 -250 V
|
||||
63 -256 V
|
||||
63 -257 V
|
||||
63 -250 V
|
||||
64 -241 V
|
||||
63 -228 V
|
||||
63 -211 V
|
||||
63 -194 V
|
||||
63 -176 V
|
||||
63 -157 V
|
||||
63 -138 V
|
||||
63 -121 V
|
||||
63 -104 V
|
||||
64 -89 V
|
||||
63 -75 V
|
||||
63 -63 V
|
||||
63 -52 V
|
||||
63 -43 V
|
||||
63 -34 V
|
||||
63 -28 V
|
||||
63 -22 V
|
||||
63 -17 V
|
||||
64 -14 V
|
||||
63 -11 V
|
||||
63 -8 V
|
||||
63 -6 V
|
||||
63 -4 V
|
||||
63 -4 V
|
||||
63 -2 V
|
||||
63 -2 V
|
||||
63 -2 V
|
||||
64 -1 V
|
||||
63 0 V
|
||||
63 -1 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 -1 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
64 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
63 0 V
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
111
geant4/TaoLEMuSR/MEYER/M30.keV
Normal file
111
geant4/TaoLEMuSR/MEYER/M30.keV
Normal file
@ -0,0 +1,111 @@
|
||||
0.25 1 0
|
||||
0.5 0.990251 0.160806
|
||||
0.75 0.980502 0.318444
|
||||
1 0.970753 0.472909
|
||||
1.25 0.943207 0.612639
|
||||
1.5 0.911995 0.740436
|
||||
1.75 0.880783 0.858084
|
||||
2 0.84433 0.959627
|
||||
2.25 0.804711 1.0452
|
||||
2.5 0.759399 1.10958
|
||||
2.75 0.714265 1.15953
|
||||
3 0.669317 1.19514
|
||||
3.25 0.62437 1.21614
|
||||
3.5 0.579965 1.22369
|
||||
3.75 0.536733 1.21948
|
||||
4 0.493501 1.20124
|
||||
4.25 0.451294 1.17162
|
||||
4.5 0.415097 1.14488
|
||||
4.75 0.378899 1.10639
|
||||
5 0.342701 1.05616
|
||||
5.25 0.313856 1.01805
|
||||
5.5 0.285199 0.971222
|
||||
5.75 0.256542 0.91511
|
||||
6 0.232174 0.865709
|
||||
6.25 0.209704 0.815799
|
||||
6.5 0.190281 0.770961
|
||||
6.75 0.173374 0.730441
|
||||
7 0.157925 0.690826
|
||||
7.25 0.142476 0.646215
|
||||
7.5 0.129003 0.605895
|
||||
7.75 0.117827 0.572379
|
||||
8 0.106651 0.535254
|
||||
8.25 0.0963976 0.499303
|
||||
8.5 0.088386 0.472015
|
||||
8.75 0.0803744 0.442142
|
||||
9 0.0726174 0.411129
|
||||
9.25 0.0667118 0.388398
|
||||
9.5 0.0608063 0.363766
|
||||
9.75 0.0549008 0.337233
|
||||
10 0.0507941 0.32014
|
||||
10.25 0.046782 0.302337
|
||||
10.5 0.04277 0.283246
|
||||
10.75 0.0394798 0.267763
|
||||
11 0.0363941 0.252644
|
||||
11.25 0.0333085 0.236535
|
||||
11.5 0.0307317 0.223133
|
||||
11.75 0.0284825 0.211337
|
||||
12 0.0262334 0.198821
|
||||
12.25 0.0243634 0.18852
|
||||
12.5 0.0229808 0.181471
|
||||
12.75 0.0215982 0.173979
|
||||
13 0.0202156 0.166045
|
||||
13.25 0.018833 0.15767
|
||||
13.5 0.0174504 0.148854
|
||||
13.75 0.0160678 0.139599
|
||||
14 0.0146852 0.129905
|
||||
14.25 0.0136393 0.122803
|
||||
14.5 0.0129163 0.118327
|
||||
14.75 0.0121933 0.113622
|
||||
15 0.0114703 0.108687
|
||||
15.25 0.0107473 0.103523
|
||||
15.5 0.0100243 0.0981307
|
||||
15.75 0.00930134 0.0925096
|
||||
16 0.00857836 0.0866604
|
||||
16.25 0.00804106 0.0824885
|
||||
16.5 0.00763635 0.0795281
|
||||
16.75 0.00723165 0.0764401
|
||||
17 0.00682694 0.0732246
|
||||
17.25 0.00642224 0.0698818
|
||||
17.5 0.00601753 0.0664119
|
||||
17.75 0.00561283 0.0628153
|
||||
18 0.00520812 0.0590922
|
||||
18.25 0.0049143 0.0565179
|
||||
18.5 0.00467854 0.0545286
|
||||
18.75 0.00444278 0.0524655
|
||||
19 0.00420702 0.0503287
|
||||
19.25 0.00397126 0.0481185
|
||||
19.5 0.0037355 0.045835
|
||||
19.75 0.00349974 0.0434784
|
||||
20 0.00326398 0.0410487
|
||||
20.25 0.00305295 0.038861
|
||||
20.5 0.0028511 0.0367263
|
||||
20.75 0.00264925 0.0345295
|
||||
21 0.0024474 0.0322706
|
||||
21.25 0.00224555 0.0299498
|
||||
21.5 0.0020437 0.0275673
|
||||
21.75 0.00184185 0.0251231
|
||||
22 0.00164 0.0226174
|
||||
22.25 0.00143816 0.0200504
|
||||
22.5 0.00123631 0.0174223
|
||||
22.75 0.00103446 0.0147331
|
||||
23 0.000832607 0.0119831
|
||||
23.25 0.000630758 0.0091724
|
||||
23.5 0.000428908 0.00630118
|
||||
23.75 0.000227059 0.00336962
|
||||
24 2.52097e-05 0.00037787
|
||||
24.25 0 0
|
||||
24.5 0 0
|
||||
24.75 0 0
|
||||
25 0 0
|
||||
25.25 0 0
|
||||
25.5 0 0
|
||||
25.75 0 0
|
||||
26 0 0
|
||||
26.25 0 0
|
||||
26.5 0 0
|
||||
26.75 0 0
|
||||
27 0 0
|
||||
27.25 0 0
|
||||
27.5 0 0
|
||||
27.75 0 0
|
203
geant4/TaoLEMuSR/MEYER/M5.keV
Normal file
203
geant4/TaoLEMuSR/MEYER/M5.keV
Normal file
@ -0,0 +1,203 @@
|
||||
0.5 1 0
|
||||
1 0.996752 0.00898079
|
||||
1.5 0.993505 0.0179024
|
||||
2 0.990257 0.0267641
|
||||
2.5 0.98701 0.0355652
|
||||
3 0.983762 0.0443052
|
||||
3.5 0.980515 0.0529833
|
||||
4 0.977267 0.061599
|
||||
4.5 0.974019 0.0701516
|
||||
5 0.970772 0.0786404
|
||||
5.5 0.964082 0.0867551
|
||||
6 0.953685 0.0943763
|
||||
6.5 0.943287 0.101804
|
||||
7 0.93289 0.109037
|
||||
7.5 0.922492 0.116076
|
||||
8 0.912095 0.12292
|
||||
8.5 0.901697 0.129569
|
||||
9 0.8913 0.136023
|
||||
9.5 0.880902 0.14228
|
||||
10 0.870505 0.148342
|
||||
10.5 0.857554 0.153751
|
||||
11 0.844505 0.158899
|
||||
11.5 0.831456 0.163804
|
||||
12 0.818407 0.168465
|
||||
12.5 0.804942 0.172794
|
||||
13 0.789848 0.176508
|
||||
13.5 0.774753 0.179944
|
||||
14 0.759659 0.1831
|
||||
14.5 0.744565 0.185979
|
||||
15 0.729524 0.188593
|
||||
15.5 0.714551 0.190948
|
||||
16 0.699579 0.193028
|
||||
16.5 0.684606 0.194834
|
||||
17 0.669633 0.196365
|
||||
17.5 0.65466 0.197622
|
||||
18 0.639687 0.198607
|
||||
18.5 0.624714 0.199319
|
||||
19 0.609741 0.199759
|
||||
19.5 0.594768 0.199928
|
||||
20 0.580324 0.20001
|
||||
20.5 0.565922 0.199845
|
||||
21 0.551521 0.199422
|
||||
21.5 0.537119 0.19874
|
||||
22 0.522718 0.197801
|
||||
22.5 0.508316 0.196605
|
||||
23 0.493915 0.195154
|
||||
23.5 0.479513 0.193448
|
||||
24 0.465111 0.191488
|
||||
24.5 0.451664 0.189677
|
||||
25 0.439606 0.188224
|
||||
25.5 0.427548 0.18656
|
||||
26 0.415489 0.184684
|
||||
26.5 0.403431 0.182598
|
||||
27 0.391373 0.180303
|
||||
27.5 0.379315 0.1778
|
||||
28 0.367257 0.17509
|
||||
28.5 0.355198 0.172173
|
||||
29 0.34314 0.169052
|
||||
29.5 0.333314 0.166844
|
||||
30 0.323768 0.164611
|
||||
30.5 0.314222 0.162215
|
||||
31 0.304675 0.159658
|
||||
31.5 0.295129 0.156941
|
||||
32 0.285583 0.154064
|
||||
32.5 0.276037 0.151029
|
||||
33 0.26649 0.147837
|
||||
33.5 0.256944 0.144488
|
||||
34 0.248055 0.141359
|
||||
34.5 0.240286 0.138731
|
||||
35 0.232516 0.135977
|
||||
35.5 0.224747 0.133098
|
||||
36 0.216977 0.130093
|
||||
36.5 0.210001 0.127446
|
||||
37 0.203531 0.124998
|
||||
37.5 0.197061 0.122447
|
||||
38 0.19059 0.119794
|
||||
38.5 0.18412 0.117038
|
||||
39 0.178777 0.114907
|
||||
39.5 0.173631 0.112819
|
||||
40 0.168484 0.110651
|
||||
40.5 0.163338 0.108402
|
||||
41 0.158191 0.106075
|
||||
41.5 0.153045 0.103668
|
||||
42 0.147898 0.101184
|
||||
42.5 0.142752 0.0986228
|
||||
43 0.137605 0.095985
|
||||
43.5 0.132933 0.0936053
|
||||
44 0.12921 0.0918317
|
||||
44.5 0.125487 0.0900024
|
||||
45 0.121764 0.0881181
|
||||
45.5 0.118041 0.0861791
|
||||
46 0.114318 0.0841862
|
||||
46.5 0.110595 0.0821398
|
||||
47 0.106872 0.0800406
|
||||
47.5 0.103149 0.0778891
|
||||
48 0.0994258 0.0756859
|
||||
48.5 0.0965613 0.0740903
|
||||
49 0.0938924 0.0726059
|
||||
49.5 0.0912236 0.0710841
|
||||
50 0.0885548 0.0695253
|
||||
50.5 0.0858859 0.0679299
|
||||
51 0.0832171 0.0662985
|
||||
51.5 0.0805483 0.0646314
|
||||
52 0.0778794 0.0629292
|
||||
52.5 0.0752106 0.0611922
|
||||
53 0.0727493 0.059591
|
||||
53.5 0.070782 0.0583656
|
||||
54 0.0688148 0.0571144
|
||||
54.5 0.0668475 0.0558378
|
||||
55 0.0648803 0.0545361
|
||||
55.5 0.062913 0.0532096
|
||||
56 0.0609458 0.0518588
|
||||
56.5 0.0589785 0.0504839
|
||||
57 0.0570113 0.0490854
|
||||
57.5 0.055044 0.0476636
|
||||
58 0.053567 0.0466457
|
||||
58.5 0.0522305 0.045733
|
||||
59 0.050894 0.0448041
|
||||
59.5 0.0495575 0.0438591
|
||||
60 0.048221 0.0428984
|
||||
60.5 0.0468845 0.0419223
|
||||
61 0.045548 0.0409309
|
||||
61.5 0.0442115 0.0399245
|
||||
62 0.042875 0.0389034
|
||||
62.5 0.0416183 0.0379406
|
||||
63 0.0405904 0.0371738
|
||||
63.5 0.0395625 0.0363957
|
||||
64 0.0385346 0.0356063
|
||||
64.5 0.0375067 0.034806
|
||||
65 0.0364788 0.0339949
|
||||
65.5 0.0354509 0.0331733
|
||||
66 0.034423 0.0323413
|
||||
66.5 0.0333951 0.0314991
|
||||
67 0.0323672 0.030647
|
||||
67.5 0.0315455 0.0299812
|
||||
68 0.0307963 0.0293764
|
||||
68.5 0.0300471 0.0287642
|
||||
69 0.0292978 0.0281448
|
||||
69.5 0.0285486 0.0275183
|
||||
70 0.0277993 0.0268848
|
||||
70.5 0.0270501 0.0262446
|
||||
71 0.0263008 0.0255977
|
||||
71.5 0.0255516 0.0249444
|
||||
72 0.0248663 0.0243474
|
||||
72.5 0.0244057 0.0239653
|
||||
73 0.0239451 0.0235788
|
||||
73.5 0.0234846 0.023188
|
||||
74 0.023024 0.0227931
|
||||
74.5 0.0225634 0.022394
|
||||
75 0.0221029 0.0219909
|
||||
75.5 0.0216423 0.021584
|
||||
76 0.0211817 0.0211733
|
||||
76.5 0.0207211 0.0207588
|
||||
77 0.0202606 0.0203408
|
||||
77.5 0.0198 0.0199193
|
||||
78 0.0193394 0.0194944
|
||||
78.5 0.0188788 0.0190662
|
||||
79 0.0184183 0.0186349
|
||||
79.5 0.0179577 0.0182005
|
||||
80 0.0174971 0.0177631
|
||||
80.5 0.0170366 0.0173228
|
||||
81 0.016576 0.0168798
|
||||
81.5 0.0161154 0.0164341
|
||||
82 0.0156548 0.0159859
|
||||
82.5 0.0151943 0.0155352
|
||||
83 0.0147337 0.0150822
|
||||
83.5 0.0142731 0.014627
|
||||
84 0.013906 0.0142654
|
||||
84.5 0.0136651 0.0140318
|
||||
85 0.0134243 0.0137966
|
||||
85.5 0.0131834 0.0135599
|
||||
86 0.0129426 0.0133219
|
||||
86.5 0.0127017 0.0130825
|
||||
87 0.0124609 0.0128417
|
||||
87.5 0.0122201 0.0125998
|
||||
88 0.0119792 0.0123566
|
||||
88.5 0.0117384 0.0121124
|
||||
89 0.0114975 0.011867
|
||||
89.5 0.0112567 0.0116206
|
||||
90 0.0110159 0.0113733
|
||||
90.5 0.010775 0.0111251
|
||||
91 0.0105342 0.010876
|
||||
91.5 0.0102933 0.0106261
|
||||
92 0.0100525 0.0103755
|
||||
92.5 0.00981164 0.0101242
|
||||
93 0.0095708 0.00987233
|
||||
93.5 0.00932995 0.00961987
|
||||
94 0.00908911 0.0093669
|
||||
94.5 0.00884827 0.00911348
|
||||
95 0.00860743 0.00885967
|
||||
95.5 0.00836658 0.00860553
|
||||
96 0.0081924 0.00841962
|
||||
96.5 0.00805759 0.00827379
|
||||
97 0.00792277 0.00812758
|
||||
97.5 0.00778795 0.00798104
|
||||
98 0.00765314 0.00783418
|
||||
98.5 0.00751832 0.00768704
|
||||
99 0.00738351 0.00753965
|
||||
99.5 0.00724869 0.00739205
|
||||
100 0.00711388 0.00724426
|
||||
100.5 0.00697906 0.00709633
|
||||
101 0.00684425 0.00694827
|
||||
101.5 1.96893e-305 -1.98021
|
134
geant4/TaoLEMuSR/MEYER/M50.keV
Normal file
134
geant4/TaoLEMuSR/MEYER/M50.keV
Normal file
@ -0,0 +1,134 @@
|
||||
0.125 1 0
|
||||
0.25 0.991892 0.222817
|
||||
0.375 0.983784 0.44199
|
||||
0.5 0.975677 0.657519
|
||||
0.625 0.964224 0.866397
|
||||
0.75 0.938266 1.05383
|
||||
0.875 0.912308 1.2296
|
||||
1 0.88635 1.3937
|
||||
1.125 0.857911 1.54168
|
||||
1.25 0.825333 1.66851
|
||||
1.375 0.790363 1.77532
|
||||
1.5 0.752679 1.85971
|
||||
1.625 0.715166 1.92763
|
||||
1.75 0.677784 1.97907
|
||||
1.875 0.640403 2.01372
|
||||
2 0.603022 2.03157
|
||||
2.125 0.56671 2.03646
|
||||
2.25 0.530755 2.02641
|
||||
2.375 0.4948 2.00021
|
||||
2.5 0.458846 1.95785
|
||||
2.625 0.428372 1.92397
|
||||
2.75 0.398268 1.87813
|
||||
2.875 0.368163 1.81878
|
||||
3 0.338838 1.74993
|
||||
3.125 0.315005 1.69752
|
||||
3.25 0.291172 1.6344
|
||||
3.375 0.267339 1.56058
|
||||
3.5 0.244888 1.48444
|
||||
3.625 0.22549 1.41743
|
||||
3.75 0.207408 1.35026
|
||||
3.875 0.191254 1.28797
|
||||
4 0.176749 1.22991
|
||||
4.125 0.1639 1.17723
|
||||
4.25 0.151052 1.11879
|
||||
4.375 0.138203 1.05459
|
||||
4.5 0.127794 1.00378
|
||||
4.625 0.118499 0.957314
|
||||
4.75 0.109204 0.906678
|
||||
4.875 0.0999093 0.851876
|
||||
5 0.0929137 0.813026
|
||||
5.125 0.0862508 0.774027
|
||||
5.25 0.0795878 0.732041
|
||||
5.375 0.0730317 0.688077
|
||||
5.5 0.0681202 0.65704
|
||||
5.625 0.0632088 0.623803
|
||||
5.75 0.0582974 0.588367
|
||||
5.875 0.0537771 0.554767
|
||||
6 0.0504404 0.531618
|
||||
6.125 0.0471037 0.506975
|
||||
6.25 0.043767 0.480839
|
||||
6.375 0.040766 0.456974
|
||||
6.5 0.0381998 0.436736
|
||||
6.625 0.0356336 0.415351
|
||||
6.75 0.0330673 0.392818
|
||||
6.875 0.0309346 0.374384
|
||||
7 0.029064 0.358228
|
||||
7.125 0.0271935 0.341237
|
||||
7.25 0.0253229 0.32341
|
||||
7.375 0.0240364 0.312337
|
||||
7.5 0.0228866 0.302494
|
||||
7.625 0.0217367 0.292138
|
||||
7.75 0.0205869 0.281269
|
||||
7.875 0.019437 0.269886
|
||||
8 0.0182872 0.25799
|
||||
8.125 0.0171373 0.245581
|
||||
8.25 0.0159874 0.232659
|
||||
8.375 0.0148376 0.219225
|
||||
8.5 0.0138407 0.207572
|
||||
8.625 0.0132394 0.201497
|
||||
8.75 0.0126381 0.195153
|
||||
8.875 0.0120368 0.188541
|
||||
9 0.0114356 0.181661
|
||||
9.125 0.0108343 0.174514
|
||||
9.25 0.010233 0.167098
|
||||
9.375 0.00963171 0.159416
|
||||
9.5 0.00903042 0.151466
|
||||
9.625 0.00842914 0.143248
|
||||
9.75 0.00802566 0.138169
|
||||
9.875 0.00768908 0.134077
|
||||
10 0.0073525 0.129836
|
||||
10.125 0.00701592 0.125445
|
||||
10.25 0.00667934 0.120904
|
||||
10.375 0.00634277 0.116214
|
||||
10.5 0.00600619 0.111374
|
||||
10.625 0.00566961 0.106386
|
||||
10.75 0.00533303 0.101248
|
||||
10.875 0.00502675 0.0965427
|
||||
11 0.00483068 0.0938429
|
||||
11.125 0.00463461 0.0910561
|
||||
11.25 0.00443854 0.0881824
|
||||
11.375 0.00424246 0.0852218
|
||||
11.5 0.00404639 0.0821744
|
||||
11.625 0.00385032 0.0790403
|
||||
11.75 0.00365424 0.0758195
|
||||
11.875 0.00345817 0.0725121
|
||||
12 0.0032621 0.069118
|
||||
12.125 0.00308532 0.0660504
|
||||
12.25 0.00291745 0.0630975
|
||||
12.375 0.00274958 0.0600706
|
||||
12.5 0.0025817 0.0569697
|
||||
12.625 0.00241383 0.0537949
|
||||
12.75 0.00224596 0.0505462
|
||||
12.875 0.00207809 0.0472236
|
||||
13 0.00191022 0.0438273
|
||||
13.125 0.00174235 0.0403572
|
||||
13.25 0.00157448 0.0368134
|
||||
13.375 0.00140661 0.033196
|
||||
13.5 0.00123874 0.0295051
|
||||
13.625 0.00107087 0.0257406
|
||||
13.75 0.000902998 0.0219027
|
||||
13.875 0.000735128 0.0179913
|
||||
14 0.000567257 0.0140066
|
||||
14.125 0.000399386 0.00994868
|
||||
14.25 0.000231516 0.00581749
|
||||
14.375 6.36452e-05 0.00161313
|
||||
14.5 0 0
|
||||
14.625 0 0
|
||||
14.75 0 0
|
||||
14.875 0 0
|
||||
15 0 0
|
||||
15.125 0 0
|
||||
15.25 0 0
|
||||
15.375 0 0
|
||||
15.5 0 0
|
||||
15.625 0 0
|
||||
15.75 0 0
|
||||
15.875 0 0
|
||||
16 0 0
|
||||
16.125 0 0
|
||||
16.25 0 0
|
||||
16.375 0 0
|
||||
16.5 0 0
|
||||
16.625 0 0
|
||||
16.75 0 0
|
1129
geant4/TaoLEMuSR/MEYER/Mall.eps
Normal file
1129
geant4/TaoLEMuSR/MEYER/Mall.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
geant4/TaoLEMuSR/MEYER/Mall.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/Mall.pdf
Normal file
Binary file not shown.
977
geant4/TaoLEMuSR/MEYER/Mall2.eps
Normal file
977
geant4/TaoLEMuSR/MEYER/Mall2.eps
Normal file
@ -0,0 +1,977 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: Mall2.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Mon Apr 11 19:39:42 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 420 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1310 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1310 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2201 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2201 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3091 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3091 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3982 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3982 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4872 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4872 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
714 280 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1408 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1408 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2102 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2102 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2797 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2797 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3491 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3491 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4185 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4185 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4879 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4879 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5574 420 M
|
||||
0 3829 V
|
||||
0 560 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5574 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6268 420 M
|
||||
0 3829 V
|
||||
0 560 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6268 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
6248 0 V
|
||||
0 4452 V
|
||||
-6248 0 V
|
||||
714 420 L
|
||||
140 2646 M
|
||||
currentpoint gsave translate 90 rotate 0 0 M
|
||||
(Meyer's distribution) Cshow
|
||||
grestore
|
||||
3838 70 M
|
||||
(scatt. angle [deg]) Cshow
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('M5.keV') Rshow
|
||||
783 4872 Pls
|
||||
853 4858 Pls
|
||||
922 4843 Pls
|
||||
992 4829 Pls
|
||||
1061 4814 Pls
|
||||
1131 4800 Pls
|
||||
1200 4785 Pls
|
||||
1269 4771 Pls
|
||||
1339 4756 Pls
|
||||
1408 4742 Pls
|
||||
1478 4712 Pls
|
||||
1547 4666 Pls
|
||||
1616 4620 Pls
|
||||
1686 4573 Pls
|
||||
1755 4527 Pls
|
||||
1825 4481 Pls
|
||||
1894 4434 Pls
|
||||
1964 4388 Pls
|
||||
2033 4342 Pls
|
||||
2102 4296 Pls
|
||||
2172 4238 Pls
|
||||
2241 4180 Pls
|
||||
2311 4122 Pls
|
||||
2380 4064 Pls
|
||||
2450 4004 Pls
|
||||
2519 3937 Pls
|
||||
2588 3869 Pls
|
||||
2658 3802 Pls
|
||||
2727 3735 Pls
|
||||
2797 3668 Pls
|
||||
2866 3601 Pls
|
||||
2936 3535 Pls
|
||||
3005 3468 Pls
|
||||
3074 3401 Pls
|
||||
3144 3335 Pls
|
||||
3213 3268 Pls
|
||||
3283 3201 Pls
|
||||
3352 3135 Pls
|
||||
3421 3068 Pls
|
||||
3491 3004 Pls
|
||||
3560 2940 Pls
|
||||
3630 2876 Pls
|
||||
3699 2811 Pls
|
||||
3769 2747 Pls
|
||||
3838 2683 Pls
|
||||
3907 2619 Pls
|
||||
3977 2555 Pls
|
||||
4046 2491 Pls
|
||||
4116 2431 Pls
|
||||
4185 2377 Pls
|
||||
4255 2324 Pls
|
||||
4324 2270 Pls
|
||||
4393 2216 Pls
|
||||
4463 2163 Pls
|
||||
4532 2109 Pls
|
||||
4602 2055 Pls
|
||||
4671 2002 Pls
|
||||
4740 1948 Pls
|
||||
4810 1904 Pls
|
||||
4879 1862 Pls
|
||||
4949 1819 Pls
|
||||
5018 1777 Pls
|
||||
5088 1734 Pls
|
||||
5157 1692 Pls
|
||||
5226 1649 Pls
|
||||
5296 1607 Pls
|
||||
5365 1564 Pls
|
||||
5435 1525 Pls
|
||||
5504 1490 Pls
|
||||
5574 1455 Pls
|
||||
5643 1421 Pls
|
||||
5712 1386 Pls
|
||||
5782 1355 Pls
|
||||
5851 1326 Pls
|
||||
5921 1297 Pls
|
||||
5990 1269 Pls
|
||||
6060 1240 Pls
|
||||
6129 1216 Pls
|
||||
6198 1193 Pls
|
||||
6268 1170 Pls
|
||||
6337 1147 Pls
|
||||
6407 1124 Pls
|
||||
6476 1102 Pls
|
||||
6545 1079 Pls
|
||||
6615 1056 Pls
|
||||
6684 1033 Pls
|
||||
6754 1012 Pls
|
||||
6823 995 Pls
|
||||
6893 979 Pls
|
||||
6962 962 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
('M10.keV') Rshow
|
||||
783 4872 Crs
|
||||
853 4843 Crs
|
||||
922 4814 Crs
|
||||
992 4785 Crs
|
||||
1061 4756 Crs
|
||||
1131 4712 Crs
|
||||
1200 4619 Crs
|
||||
1269 4527 Crs
|
||||
1339 4434 Crs
|
||||
1408 4342 Crs
|
||||
1478 4238 Crs
|
||||
1547 4121 Crs
|
||||
1616 4003 Crs
|
||||
1686 3869 Crs
|
||||
1755 3734 Crs
|
||||
1825 3601 Crs
|
||||
1894 3467 Crs
|
||||
1964 3334 Crs
|
||||
2033 3201 Crs
|
||||
2102 3067 Crs
|
||||
2172 2939 Crs
|
||||
2241 2811 Crs
|
||||
2311 2682 Crs
|
||||
2380 2554 Crs
|
||||
2450 2430 Crs
|
||||
2519 2323 Crs
|
||||
2588 2215 Crs
|
||||
2658 2108 Crs
|
||||
2727 2001 Crs
|
||||
2797 1903 Crs
|
||||
2866 1818 Crs
|
||||
2936 1733 Crs
|
||||
3005 1648 Crs
|
||||
3074 1563 Crs
|
||||
3144 1489 Crs
|
||||
3213 1420 Crs
|
||||
3283 1354 Crs
|
||||
3352 1297 Crs
|
||||
3421 1239 Crs
|
||||
3491 1193 Crs
|
||||
3560 1147 Crs
|
||||
3630 1101 Crs
|
||||
3699 1055 Crs
|
||||
3769 1011 Crs
|
||||
3838 978 Crs
|
||||
3907 945 Crs
|
||||
3977 912 Crs
|
||||
4046 879 Crs
|
||||
4116 850 Crs
|
||||
4185 826 Crs
|
||||
4255 802 Crs
|
||||
4324 778 Crs
|
||||
4393 755 Crs
|
||||
4463 735 Crs
|
||||
4532 717 Crs
|
||||
4602 700 Crs
|
||||
4671 682 Crs
|
||||
4740 665 Crs
|
||||
4810 652 Crs
|
||||
4879 640 Crs
|
||||
4949 629 Crs
|
||||
5018 617 Crs
|
||||
5088 605 Crs
|
||||
5157 596 Crs
|
||||
5226 587 Crs
|
||||
5296 578 Crs
|
||||
5365 569 Crs
|
||||
5435 560 Crs
|
||||
5504 554 Crs
|
||||
5574 547 Crs
|
||||
5643 540 Crs
|
||||
5712 534 Crs
|
||||
5782 529 Crs
|
||||
5851 524 Crs
|
||||
5921 520 Crs
|
||||
5990 516 Crs
|
||||
6060 512 Crs
|
||||
6129 508 Crs
|
||||
6198 504 Crs
|
||||
6268 500 Crs
|
||||
6337 496 Crs
|
||||
6407 492 Crs
|
||||
6476 488 Crs
|
||||
6545 483 Crs
|
||||
6615 481 Crs
|
||||
6684 479 Crs
|
||||
6754 477 Crs
|
||||
6823 474 Crs
|
||||
6893 472 Crs
|
||||
6962 470 Crs
|
||||
6594 4599 Crs
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT2
|
||||
6311 4459 M
|
||||
('M20.keV') Rshow
|
||||
749 4872 Star
|
||||
783 4843 Star
|
||||
818 4814 Star
|
||||
853 4785 Star
|
||||
888 4757 Star
|
||||
922 4713 Star
|
||||
957 4620 Star
|
||||
992 4528 Star
|
||||
1026 4436 Star
|
||||
1061 4343 Star
|
||||
1096 4240 Star
|
||||
1131 4124 Star
|
||||
1165 4006 Star
|
||||
1200 3872 Star
|
||||
1235 3738 Star
|
||||
1269 3605 Star
|
||||
1304 3472 Star
|
||||
1339 3338 Star
|
||||
1374 3205 Star
|
||||
1408 3072 Star
|
||||
1443 2944 Star
|
||||
1478 2816 Star
|
||||
1512 2688 Star
|
||||
1547 2560 Star
|
||||
1582 2435 Star
|
||||
1616 2328 Star
|
||||
1651 2221 Star
|
||||
1686 2114 Star
|
||||
1721 2007 Star
|
||||
1755 1908 Star
|
||||
1790 1823 Star
|
||||
1825 1738 Star
|
||||
1859 1654 Star
|
||||
1894 1569 Star
|
||||
1929 1494 Star
|
||||
1964 1425 Star
|
||||
1998 1359 Star
|
||||
2033 1301 Star
|
||||
2068 1244 Star
|
||||
2102 1196 Star
|
||||
2137 1150 Star
|
||||
2172 1105 Star
|
||||
2207 1059 Star
|
||||
2241 1014 Star
|
||||
2276 981 Star
|
||||
2311 948 Star
|
||||
2345 915 Star
|
||||
2380 882 Star
|
||||
2415 852 Star
|
||||
2450 828 Star
|
||||
2484 804 Star
|
||||
2519 781 Star
|
||||
2554 757 Star
|
||||
2588 737 Star
|
||||
2623 719 Star
|
||||
2658 702 Star
|
||||
2693 684 Star
|
||||
2727 667 Star
|
||||
2762 654 Star
|
||||
2797 642 Star
|
||||
2831 630 Star
|
||||
2866 618 Star
|
||||
2901 606 Star
|
||||
2936 597 Star
|
||||
2970 588 Star
|
||||
3005 579 Star
|
||||
3040 570 Star
|
||||
3074 561 Star
|
||||
3109 555 Star
|
||||
3144 548 Star
|
||||
3178 541 Star
|
||||
3213 535 Star
|
||||
3248 529 Star
|
||||
3283 525 Star
|
||||
3317 521 Star
|
||||
3352 517 Star
|
||||
3387 513 Star
|
||||
3421 509 Star
|
||||
3456 505 Star
|
||||
3491 501 Star
|
||||
3526 496 Star
|
||||
3560 492 Star
|
||||
3595 488 Star
|
||||
3630 484 Star
|
||||
3664 481 Star
|
||||
3699 479 Star
|
||||
3734 477 Star
|
||||
3769 475 Star
|
||||
3803 473 Star
|
||||
3838 470 Star
|
||||
3873 468 Star
|
||||
3907 466 Star
|
||||
3942 464 Star
|
||||
3977 462 Star
|
||||
4012 460 Star
|
||||
4046 458 Star
|
||||
4081 456 Star
|
||||
4116 455 Star
|
||||
4150 454 Star
|
||||
4185 452 Star
|
||||
4220 451 Star
|
||||
4255 450 Star
|
||||
4289 449 Star
|
||||
4324 448 Star
|
||||
4359 446 Star
|
||||
4393 445 Star
|
||||
4428 444 Star
|
||||
4463 443 Star
|
||||
4498 442 Star
|
||||
4532 441 Star
|
||||
4567 441 Star
|
||||
4602 440 Star
|
||||
4636 439 Star
|
||||
4671 439 Star
|
||||
4706 438 Star
|
||||
4740 437 Star
|
||||
4775 436 Star
|
||||
4810 436 Star
|
||||
4845 435 Star
|
||||
4879 434 Star
|
||||
4914 434 Star
|
||||
4949 433 Star
|
||||
4983 433 Star
|
||||
5018 432 Star
|
||||
5053 431 Star
|
||||
5088 431 Star
|
||||
5122 430 Star
|
||||
5157 430 Star
|
||||
5192 429 Star
|
||||
5226 428 Star
|
||||
5261 428 Star
|
||||
5296 427 Star
|
||||
5331 427 Star
|
||||
5365 426 Star
|
||||
5400 425 Star
|
||||
5435 425 Star
|
||||
5469 424 Star
|
||||
5504 424 Star
|
||||
5539 423 Star
|
||||
5574 422 Star
|
||||
5608 422 Star
|
||||
5643 421 Star
|
||||
5678 421 Star
|
||||
5712 420 Star
|
||||
5747 420 Star
|
||||
5782 420 Star
|
||||
5817 420 Star
|
||||
5851 420 Star
|
||||
5886 420 Star
|
||||
5921 420 Star
|
||||
5955 420 Star
|
||||
5990 420 Star
|
||||
6025 420 Star
|
||||
6060 420 Star
|
||||
6094 420 Star
|
||||
6129 420 Star
|
||||
6164 420 Star
|
||||
6198 420 Star
|
||||
6233 420 Star
|
||||
6268 420 Star
|
||||
6302 420 Star
|
||||
6337 420 Star
|
||||
6372 420 Star
|
||||
6407 420 Star
|
||||
6441 420 Star
|
||||
6476 420 Star
|
||||
6511 420 Star
|
||||
6594 4459 Star
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT3
|
||||
6311 4319 M
|
||||
('M50.keV') Rshow
|
||||
731 4872 Box
|
||||
749 4836 Box
|
||||
766 4800 Box
|
||||
783 4764 Box
|
||||
801 4713 Box
|
||||
818 4597 Box
|
||||
835 4482 Box
|
||||
853 4366 Box
|
||||
870 4240 Box
|
||||
888 4095 Box
|
||||
905 3939 Box
|
||||
922 3771 Box
|
||||
940 3604 Box
|
||||
957 3438 Box
|
||||
974 3271 Box
|
||||
992 3105 Box
|
||||
1009 2943 Box
|
||||
1026 2783 Box
|
||||
1044 2623 Box
|
||||
1061 2463 Box
|
||||
1078 2327 Box
|
||||
1096 2193 Box
|
||||
1113 2059 Box
|
||||
1131 1929 Box
|
||||
1148 1823 Box
|
||||
1165 1717 Box
|
||||
1183 1611 Box
|
||||
1200 1511 Box
|
||||
1217 1424 Box
|
||||
1235 1344 Box
|
||||
1252 1272 Box
|
||||
1269 1207 Box
|
||||
1287 1150 Box
|
||||
1304 1093 Box
|
||||
1321 1036 Box
|
||||
1339 989 Box
|
||||
1356 948 Box
|
||||
1374 906 Box
|
||||
1391 865 Box
|
||||
1408 834 Box
|
||||
1426 804 Box
|
||||
1443 774 Box
|
||||
1460 745 Box
|
||||
1478 723 Box
|
||||
1495 702 Box
|
||||
1512 680 Box
|
||||
1530 660 Box
|
||||
1547 645 Box
|
||||
1564 630 Box
|
||||
1582 615 Box
|
||||
1599 602 Box
|
||||
1616 590 Box
|
||||
1634 579 Box
|
||||
1651 567 Box
|
||||
1669 558 Box
|
||||
1686 549 Box
|
||||
1703 541 Box
|
||||
1721 533 Box
|
||||
1738 527 Box
|
||||
1755 522 Box
|
||||
1773 517 Box
|
||||
1790 512 Box
|
||||
1807 507 Box
|
||||
1825 501 Box
|
||||
1842 496 Box
|
||||
1859 491 Box
|
||||
1877 486 Box
|
||||
1894 482 Box
|
||||
1912 479 Box
|
||||
1929 476 Box
|
||||
1946 474 Box
|
||||
1964 471 Box
|
||||
1981 468 Box
|
||||
1998 466 Box
|
||||
2016 463 Box
|
||||
2033 460 Box
|
||||
2050 458 Box
|
||||
2068 456 Box
|
||||
2085 454 Box
|
||||
2102 453 Box
|
||||
2120 451 Box
|
||||
2137 450 Box
|
||||
2155 448 Box
|
||||
2172 447 Box
|
||||
2189 445 Box
|
||||
2207 444 Box
|
||||
2224 442 Box
|
||||
2241 442 Box
|
||||
2259 441 Box
|
||||
2276 440 Box
|
||||
2293 439 Box
|
||||
2311 438 Box
|
||||
2328 437 Box
|
||||
2345 436 Box
|
||||
2363 435 Box
|
||||
2380 435 Box
|
||||
2397 434 Box
|
||||
2415 433 Box
|
||||
2432 432 Box
|
||||
2450 432 Box
|
||||
2467 431 Box
|
||||
2484 430 Box
|
||||
2502 429 Box
|
||||
2519 429 Box
|
||||
2536 428 Box
|
||||
2554 427 Box
|
||||
2571 426 Box
|
||||
2588 426 Box
|
||||
2606 425 Box
|
||||
2623 424 Box
|
||||
2640 423 Box
|
||||
2658 423 Box
|
||||
2675 422 Box
|
||||
2693 421 Box
|
||||
2710 420 Box
|
||||
2727 420 Box
|
||||
2745 420 Box
|
||||
2762 420 Box
|
||||
2779 420 Box
|
||||
2797 420 Box
|
||||
2814 420 Box
|
||||
2831 420 Box
|
||||
2849 420 Box
|
||||
2866 420 Box
|
||||
2883 420 Box
|
||||
2901 420 Box
|
||||
2918 420 Box
|
||||
2936 420 Box
|
||||
2953 420 Box
|
||||
2970 420 Box
|
||||
2988 420 Box
|
||||
3005 420 Box
|
||||
3022 420 Box
|
||||
3040 420 Box
|
||||
6594 4319 Box
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
BIN
geant4/TaoLEMuSR/MEYER/Mall2.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/Mall2.pdf
Normal file
Binary file not shown.
978
geant4/TaoLEMuSR/MEYER/Mallsin.eps
Normal file
978
geant4/TaoLEMuSR/MEYER/Mallsin.eps
Normal file
@ -0,0 +1,978 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: Mallsin.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Tue Apr 12 08:59:12 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
630 420 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1056 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1056 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 1692 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 1692 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2328 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2328 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 2964 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 2964 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 3600 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 3600 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4236 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4236 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 1.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 4872 M
|
||||
6248 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 4872 M
|
||||
63 0 V
|
||||
6185 0 R
|
||||
-63 0 V
|
||||
-6269 0 R
|
||||
( 1.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
714 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
714 280 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1408 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1408 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2102 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2102 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2797 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2797 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3491 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3491 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4185 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4185 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4879 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4879 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5574 420 M
|
||||
0 3829 V
|
||||
0 560 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5574 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6268 420 M
|
||||
0 3829 V
|
||||
0 560 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6268 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 420 M
|
||||
0 4452 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 420 M
|
||||
0 63 V
|
||||
0 4389 R
|
||||
0 -63 V
|
||||
0 -4529 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
714 420 M
|
||||
6248 0 V
|
||||
0 4452 V
|
||||
-6248 0 V
|
||||
714 420 L
|
||||
140 2646 M
|
||||
currentpoint gsave translate 90 rotate 0 0 M
|
||||
(distribution) Cshow
|
||||
grestore
|
||||
3838 70 M
|
||||
([deg]) Cshow
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('M5.keV' us 1:3) Rshow
|
||||
783 420 Pls
|
||||
853 449 Pls
|
||||
922 477 Pls
|
||||
992 505 Pls
|
||||
1061 533 Pls
|
||||
1131 561 Pls
|
||||
1200 588 Pls
|
||||
1269 616 Pls
|
||||
1339 643 Pls
|
||||
1408 670 Pls
|
||||
1478 696 Pls
|
||||
1547 720 Pls
|
||||
1616 744 Pls
|
||||
1686 767 Pls
|
||||
1755 789 Pls
|
||||
1825 811 Pls
|
||||
1894 832 Pls
|
||||
1964 853 Pls
|
||||
2033 872 Pls
|
||||
2102 892 Pls
|
||||
2172 909 Pls
|
||||
2241 925 Pls
|
||||
2311 941 Pls
|
||||
2380 956 Pls
|
||||
2450 969 Pls
|
||||
2519 981 Pls
|
||||
2588 992 Pls
|
||||
2658 1002 Pls
|
||||
2727 1011 Pls
|
||||
2797 1020 Pls
|
||||
2866 1027 Pls
|
||||
2936 1034 Pls
|
||||
3005 1040 Pls
|
||||
3074 1044 Pls
|
||||
3144 1048 Pls
|
||||
3213 1052 Pls
|
||||
3283 1054 Pls
|
||||
3352 1055 Pls
|
||||
3421 1056 Pls
|
||||
3491 1056 Pls
|
||||
3560 1056 Pls
|
||||
3630 1054 Pls
|
||||
3699 1052 Pls
|
||||
3769 1049 Pls
|
||||
3838 1045 Pls
|
||||
3907 1041 Pls
|
||||
3977 1035 Pls
|
||||
4046 1029 Pls
|
||||
4116 1023 Pls
|
||||
4185 1019 Pls
|
||||
4255 1013 Pls
|
||||
4324 1007 Pls
|
||||
4393 1001 Pls
|
||||
4463 993 Pls
|
||||
4532 985 Pls
|
||||
4602 977 Pls
|
||||
4671 968 Pls
|
||||
4740 958 Pls
|
||||
4810 951 Pls
|
||||
4879 943 Pls
|
||||
4949 936 Pls
|
||||
5018 928 Pls
|
||||
5088 919 Pls
|
||||
5157 910 Pls
|
||||
5226 900 Pls
|
||||
5296 890 Pls
|
||||
5365 879 Pls
|
||||
5435 870 Pls
|
||||
5504 861 Pls
|
||||
5574 852 Pls
|
||||
5643 843 Pls
|
||||
5712 834 Pls
|
||||
5782 825 Pls
|
||||
5851 817 Pls
|
||||
5921 809 Pls
|
||||
5990 801 Pls
|
||||
6060 792 Pls
|
||||
6129 785 Pls
|
||||
6198 779 Pls
|
||||
6268 772 Pls
|
||||
6337 765 Pls
|
||||
6407 757 Pls
|
||||
6476 750 Pls
|
||||
6545 742 Pls
|
||||
6615 734 Pls
|
||||
6684 725 Pls
|
||||
6754 718 Pls
|
||||
6823 712 Pls
|
||||
6893 706 Pls
|
||||
6962 700 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
('M10.keV' us 1:3) Rshow
|
||||
783 420 Crs
|
||||
853 534 Crs
|
||||
922 646 Crs
|
||||
992 757 Crs
|
||||
1061 866 Crs
|
||||
1131 971 Crs
|
||||
1200 1067 Crs
|
||||
1269 1159 Crs
|
||||
1339 1245 Crs
|
||||
1408 1326 Crs
|
||||
1478 1400 Crs
|
||||
1547 1465 Crs
|
||||
1616 1524 Crs
|
||||
1686 1570 Crs
|
||||
1755 1610 Crs
|
||||
1825 1644 Crs
|
||||
1894 1670 Crs
|
||||
1964 1690 Crs
|
||||
2033 1702 Crs
|
||||
2102 1708 Crs
|
||||
2172 1710 Crs
|
||||
2241 1705 Crs
|
||||
2311 1693 Crs
|
||||
2380 1675 Crs
|
||||
2450 1653 Crs
|
||||
2519 1635 Crs
|
||||
2588 1611 Crs
|
||||
2658 1583 Crs
|
||||
2727 1548 Crs
|
||||
2797 1516 Crs
|
||||
2866 1488 Crs
|
||||
2936 1456 Crs
|
||||
3005 1419 Crs
|
||||
3074 1379 Crs
|
||||
3144 1343 Crs
|
||||
3213 1308 Crs
|
||||
3283 1272 Crs
|
||||
3352 1241 Crs
|
||||
3421 1208 Crs
|
||||
3491 1181 Crs
|
||||
3560 1154 Crs
|
||||
3630 1124 Crs
|
||||
3699 1092 Crs
|
||||
3769 1060 Crs
|
||||
3838 1038 Crs
|
||||
3907 1014 Crs
|
||||
3977 988 Crs
|
||||
4046 961 Crs
|
||||
4116 936 Crs
|
||||
4185 917 Crs
|
||||
4255 897 Crs
|
||||
4324 876 Crs
|
||||
4393 854 Crs
|
||||
4463 835 Crs
|
||||
4532 819 Crs
|
||||
4602 802 Crs
|
||||
4671 784 Crs
|
||||
4740 766 Crs
|
||||
4810 753 Crs
|
||||
4879 741 Crs
|
||||
4949 728 Crs
|
||||
5018 715 Crs
|
||||
5088 702 Crs
|
||||
5157 692 Crs
|
||||
5226 681 Crs
|
||||
5296 671 Crs
|
||||
5365 659 Crs
|
||||
5435 649 Crs
|
||||
5504 641 Crs
|
||||
5574 633 Crs
|
||||
5643 624 Crs
|
||||
5712 615 Crs
|
||||
5782 609 Crs
|
||||
5851 604 Crs
|
||||
5921 598 Crs
|
||||
5990 593 Crs
|
||||
6060 588 Crs
|
||||
6129 582 Crs
|
||||
6198 576 Crs
|
||||
6268 570 Crs
|
||||
6337 564 Crs
|
||||
6407 558 Crs
|
||||
6476 551 Crs
|
||||
6545 545 Crs
|
||||
6615 540 Crs
|
||||
6684 537 Crs
|
||||
6754 534 Crs
|
||||
6823 531 Crs
|
||||
6893 527 Crs
|
||||
6962 524 Crs
|
||||
6594 4599 Crs
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT2
|
||||
6311 4459 M
|
||||
('M20.keV'us 1:3) Rshow
|
||||
749 420 Star
|
||||
783 647 Star
|
||||
818 871 Star
|
||||
853 1093 Star
|
||||
888 1311 Star
|
||||
922 1522 Star
|
||||
957 1714 Star
|
||||
992 1897 Star
|
||||
1026 2069 Star
|
||||
1061 2233 Star
|
||||
1096 2381 Star
|
||||
1131 2511 Star
|
||||
1165 2629 Star
|
||||
1200 2723 Star
|
||||
1235 2804 Star
|
||||
1269 2871 Star
|
||||
1304 2925 Star
|
||||
1339 2965 Star
|
||||
1374 2991 Star
|
||||
1408 3004 Star
|
||||
1443 3008 Star
|
||||
1478 2999 Star
|
||||
1512 2977 Star
|
||||
1547 2942 Star
|
||||
1582 2898 Star
|
||||
1616 2863 Star
|
||||
1651 2818 Star
|
||||
1686 2761 Star
|
||||
1721 2694 Star
|
||||
1755 2629 Star
|
||||
1790 2574 Star
|
||||
1825 2511 Star
|
||||
1859 2439 Star
|
||||
1894 2358 Star
|
||||
1929 2286 Star
|
||||
1964 2217 Star
|
||||
1998 2146 Star
|
||||
2033 2085 Star
|
||||
2068 2018 Star
|
||||
2102 1965 Star
|
||||
2137 1911 Star
|
||||
2172 1852 Star
|
||||
2207 1788 Star
|
||||
2241 1723 Star
|
||||
2276 1679 Star
|
||||
2311 1631 Star
|
||||
2345 1580 Star
|
||||
2380 1525 Star
|
||||
2415 1476 Star
|
||||
2450 1438 Star
|
||||
2484 1398 Star
|
||||
2519 1355 Star
|
||||
2554 1311 Star
|
||||
2588 1273 Star
|
||||
2623 1241 Star
|
||||
2658 1207 Star
|
||||
2693 1171 Star
|
||||
2727 1134 Star
|
||||
2762 1108 Star
|
||||
2797 1084 Star
|
||||
2831 1059 Star
|
||||
2866 1032 Star
|
||||
2901 1005 Star
|
||||
2936 985 Star
|
||||
2970 964 Star
|
||||
3005 942 Star
|
||||
3040 920 Star
|
||||
3074 898 Star
|
||||
3109 882 Star
|
||||
3144 866 Star
|
||||
3178 848 Star
|
||||
3213 830 Star
|
||||
3248 817 Star
|
||||
3283 807 Star
|
||||
3317 797 Star
|
||||
3352 786 Star
|
||||
3387 775 Star
|
||||
3421 764 Star
|
||||
3456 752 Star
|
||||
3491 740 Star
|
||||
3526 727 Star
|
||||
3560 714 Star
|
||||
3595 701 Star
|
||||
3630 687 Star
|
||||
3664 678 Star
|
||||
3699 671 Star
|
||||
3734 665 Star
|
||||
3769 658 Star
|
||||
3803 651 Star
|
||||
3838 644 Star
|
||||
3873 637 Star
|
||||
3907 630 Star
|
||||
3942 622 Star
|
||||
3977 614 Star
|
||||
4012 606 Star
|
||||
4046 598 Star
|
||||
4081 592 Star
|
||||
4116 588 Star
|
||||
4150 584 Star
|
||||
4185 580 Star
|
||||
4220 575 Star
|
||||
4255 571 Star
|
||||
4289 566 Star
|
||||
4324 561 Star
|
||||
4359 556 Star
|
||||
4393 551 Star
|
||||
4428 546 Star
|
||||
4463 541 Star
|
||||
4498 538 Star
|
||||
4532 535 Star
|
||||
4567 532 Star
|
||||
4602 529 Star
|
||||
4636 526 Star
|
||||
4671 523 Star
|
||||
4706 520 Star
|
||||
4740 517 Star
|
||||
4775 514 Star
|
||||
4810 511 Star
|
||||
4845 507 Star
|
||||
4879 504 Star
|
||||
4914 501 Star
|
||||
4949 498 Star
|
||||
4983 495 Star
|
||||
5018 492 Star
|
||||
5053 489 Star
|
||||
5088 486 Star
|
||||
5122 482 Star
|
||||
5157 479 Star
|
||||
5192 476 Star
|
||||
5226 472 Star
|
||||
5261 469 Star
|
||||
5296 466 Star
|
||||
5331 462 Star
|
||||
5365 458 Star
|
||||
5400 455 Star
|
||||
5435 451 Star
|
||||
5469 447 Star
|
||||
5504 444 Star
|
||||
5539 440 Star
|
||||
5574 436 Star
|
||||
5608 432 Star
|
||||
5643 428 Star
|
||||
5678 424 Star
|
||||
5712 420 Star
|
||||
5747 420 Star
|
||||
5782 420 Star
|
||||
5817 420 Star
|
||||
5851 420 Star
|
||||
5886 420 Star
|
||||
5921 420 Star
|
||||
5955 420 Star
|
||||
5990 420 Star
|
||||
6025 420 Star
|
||||
6060 420 Star
|
||||
6094 420 Star
|
||||
6129 420 Star
|
||||
6164 420 Star
|
||||
6198 420 Star
|
||||
6233 420 Star
|
||||
6268 420 Star
|
||||
6302 420 Star
|
||||
6337 420 Star
|
||||
6372 420 Star
|
||||
6407 420 Star
|
||||
6441 420 Star
|
||||
6476 420 Star
|
||||
6511 420 Star
|
||||
6594 4459 Star
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT3
|
||||
6311 4319 M
|
||||
('M30.keV' us 1:3) Rshow
|
||||
749 420 Box
|
||||
783 931 Box
|
||||
818 1433 Box
|
||||
853 1924 Box
|
||||
888 2368 Box
|
||||
922 2775 Box
|
||||
957 3149 Box
|
||||
992 3472 Box
|
||||
1026 3744 Box
|
||||
1061 3948 Box
|
||||
1096 4107 Box
|
||||
1131 4221 Box
|
||||
1165 4287 Box
|
||||
1200 4311 Box
|
||||
1235 4298 Box
|
||||
1269 4240 Box
|
||||
1304 4146 Box
|
||||
1339 4061 Box
|
||||
1374 3938 Box
|
||||
1408 3779 Box
|
||||
1443 3657 Box
|
||||
1478 3508 Box
|
||||
1512 3330 Box
|
||||
1547 3173 Box
|
||||
1582 3014 Box
|
||||
1616 2872 Box
|
||||
1651 2743 Box
|
||||
1686 2617 Box
|
||||
1721 2475 Box
|
||||
1755 2347 Box
|
||||
1790 2240 Box
|
||||
1825 2122 Box
|
||||
1859 2008 Box
|
||||
1894 1921 Box
|
||||
1929 1826 Box
|
||||
1964 1727 Box
|
||||
1998 1655 Box
|
||||
2033 1577 Box
|
||||
2068 1492 Box
|
||||
2102 1438 Box
|
||||
2137 1381 Box
|
||||
2172 1321 Box
|
||||
2207 1271 Box
|
||||
2241 1223 Box
|
||||
2276 1172 Box
|
||||
2311 1130 Box
|
||||
2345 1092 Box
|
||||
2380 1052 Box
|
||||
2415 1019 Box
|
||||
2450 997 Box
|
||||
2484 973 Box
|
||||
2519 948 Box
|
||||
2554 921 Box
|
||||
2588 893 Box
|
||||
2623 864 Box
|
||||
2658 833 Box
|
||||
2693 811 Box
|
||||
2727 796 Box
|
||||
2762 781 Box
|
||||
2797 766 Box
|
||||
2831 749 Box
|
||||
2866 732 Box
|
||||
2901 714 Box
|
||||
2936 696 Box
|
||||
2970 682 Box
|
||||
3005 673 Box
|
||||
3040 663 Box
|
||||
3074 653 Box
|
||||
3109 642 Box
|
||||
3144 631 Box
|
||||
3178 620 Box
|
||||
3213 608 Box
|
||||
3248 600 Box
|
||||
3283 593 Box
|
||||
3317 587 Box
|
||||
3352 580 Box
|
||||
3387 573 Box
|
||||
3421 566 Box
|
||||
3456 558 Box
|
||||
3491 551 Box
|
||||
3526 544 Box
|
||||
3560 537 Box
|
||||
3595 530 Box
|
||||
3630 523 Box
|
||||
3664 515 Box
|
||||
3699 508 Box
|
||||
3734 500 Box
|
||||
3769 492 Box
|
||||
3803 484 Box
|
||||
3838 475 Box
|
||||
3873 467 Box
|
||||
3907 458 Box
|
||||
3942 449 Box
|
||||
3977 440 Box
|
||||
4012 431 Box
|
||||
4046 421 Box
|
||||
4081 420 Box
|
||||
4116 420 Box
|
||||
4150 420 Box
|
||||
4185 420 Box
|
||||
4220 420 Box
|
||||
4255 420 Box
|
||||
4289 420 Box
|
||||
4324 420 Box
|
||||
4359 420 Box
|
||||
4393 420 Box
|
||||
4428 420 Box
|
||||
4463 420 Box
|
||||
4498 420 Box
|
||||
4532 420 Box
|
||||
4567 420 Box
|
||||
6594 4319 Box
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
BIN
geant4/TaoLEMuSR/MEYER/Mallsin.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/Mallsin.pdf
Normal file
Binary file not shown.
BIN
geant4/TaoLEMuSR/MEYER/a.out
Executable file
BIN
geant4/TaoLEMuSR/MEYER/a.out
Executable file
Binary file not shown.
2
geant4/TaoLEMuSR/MEYER/g
Normal file
2
geant4/TaoLEMuSR/MEYER/g
Normal file
@ -0,0 +1,2 @@
|
||||
gnuplot
|
||||
|
6
geant4/TaoLEMuSR/MEYER/gplmac
Normal file
6
geant4/TaoLEMuSR/MEYER/gplmac
Normal file
@ -0,0 +1,6 @@
|
||||
set term post col
|
||||
set outp "Mall2.eps"
|
||||
set grid
|
||||
pl [0:45] 'testmeyer.out' us 1:2, exp(-x*x/200.)
|
||||
set xlabel "[deg]"
|
||||
set ylab "distribution"
|
6
geant4/TaoLEMuSR/MEYER/gplmac~
Normal file
6
geant4/TaoLEMuSR/MEYER/gplmac~
Normal file
@ -0,0 +1,6 @@
|
||||
set term post col
|
||||
set outp "testmeyer.eps"
|
||||
set grid
|
||||
pl [0:15] 'testmeyer.out', exp(-x*x/1.)*61.5
|
||||
set outp "testmeyer2.eps"
|
||||
pl [0:15] 'testmeyer.out', exp(-x*x/1.)*61.5
|
888
geant4/TaoLEMuSR/MEYER/meyer.cc
Normal file
888
geant4/TaoLEMuSR/MEYER/meyer.cc
Normal file
@ -0,0 +1,888 @@
|
||||
/*
|
||||
fIRST IMPLEMENTATION BY ANLSEM,H. IN FORTRAN
|
||||
C++ CONVERSION T.K.PARAISO 04-2005
|
||||
|
||||
!!! IMPORTANT !!!
|
||||
|
||||
Notice:
|
||||
Tables definition changes between FORTRAN and C++:
|
||||
1/ Fortran indices start at 1 and C++ indices start at 0
|
||||
2/ Tables are defined as table[column][row] in Fortran
|
||||
table[row][column] in c++
|
||||
|
||||
usefull reference
|
||||
http://gershwin.ens.fr/vdaniel/Doc-Locale/Langages-Program-Scientific/Fortran/Tutorial/arrays.htm
|
||||
|
||||
*/
|
||||
|
||||
#include "meyer.h"
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include<ios>
|
||||
using namespace std;
|
||||
|
||||
|
||||
meyer::meyer()
|
||||
{;}
|
||||
|
||||
meyer::~meyer()
|
||||
{;}
|
||||
|
||||
|
||||
void meyer::GFunctions(double* g1,double* g2, double tau)
|
||||
|
||||
{
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
//Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
//Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
//breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
//(1971))
|
||||
|
||||
|
||||
double help;
|
||||
|
||||
int i;
|
||||
|
||||
|
||||
double tau_[] = {0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
10.0, 12.0, 14.0, 16.0, 18.0, 20.0 };
|
||||
|
||||
double g1_[] = {0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
1.990,2.270,2.540,2.800,3.050,3.290 };
|
||||
|
||||
double g2_[] = {0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
0.30,0.26,0.22,0.18,0.15,0.13 };
|
||||
|
||||
|
||||
if (tau<tau_[0])// tau_[0] is the lowest in c++; in fortran it is tau_[1]!!! TAO!
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist kleiner als kleinster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau<<std::endl;
|
||||
std::cout<<" tau_[0] = "<< tau_[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
i = 1;
|
||||
|
||||
do
|
||||
{
|
||||
i = i + 1;
|
||||
if (i==26)
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist groesser als groesster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau <<std::endl;
|
||||
std::cout<<" tau_[26] = "<< tau_[26] <<std::endl;
|
||||
break;
|
||||
}
|
||||
}while(tau>tau_[i]);
|
||||
|
||||
|
||||
//lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_[i-1])/(tau_[i]-tau_[i-1]);
|
||||
|
||||
*g1 = g1_[i-1] + help*(g1_[i]-g1_[i-1]);
|
||||
*g2 = g2_[i-1] + help*(g2_[i]-g2_[i-1]);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//==========================================================================================
|
||||
|
||||
|
||||
|
||||
void meyer:: Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, double m1, double m2)
|
||||
{
|
||||
|
||||
double thetaSchlange,thetaSchlangeMax;
|
||||
double theta,thetaMax,thetaStep;
|
||||
double f1,f2,F;
|
||||
|
||||
|
||||
//---------------------------------
|
||||
//- Parameters:
|
||||
|
||||
// double Z1, Z2; ! die atomaren Nummern von Projektil und Target
|
||||
|
||||
double a0; // ! Bohrscher Radius in cm
|
||||
double screeningPar; // ! Screeningparameter "a" in cm fuer Teilchen der
|
||||
// ! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
// ! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
double r0Meyer; // ! r0(C) berechnet aus dem screeningParameter "a"
|
||||
// ! und dem ebenfalls bei Meyer angegebenem
|
||||
// ! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
double eSquare; // ! elektrische Ladung zum Quadrat in keV*cm
|
||||
double Pi ; // ! die Kreiszahl
|
||||
|
||||
///
|
||||
a0 = 5.29E-9;//unit == centimeter
|
||||
|
||||
//the screening parameter
|
||||
double D= exp(2/3*log(Z1))+exp(2/3*log(Z2));
|
||||
double a=0.885*a0/sqrt(D);
|
||||
screeningPar=a; // screeningPar = 2.5764E-9;
|
||||
r0Meyer = 9.909E-9;
|
||||
eSquare = 1.44E-10;
|
||||
Pi = 3.141592654;
|
||||
|
||||
|
||||
double Meyer_faktor3;
|
||||
double Meyer_faktor4;
|
||||
double zzz;// ! "Hilfsparameter"
|
||||
double Meyer_faktor5;
|
||||
|
||||
Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer);
|
||||
|
||||
Meyer_faktor4 = (m1+m2)/m2/2.;
|
||||
//((1./9.+12.)/12.)/2. ;// TAO m1+m2/m2/2.
|
||||
// in meyer article, we then have b= mf4/Ekine1= (m1+m2)/(m2*2*m1*v1²)
|
||||
zzz = screeningPar / (2.*Z1*Z2*eSquare);
|
||||
Meyer_faktor5 = zzz*zzz / (8*Pi*Pi);
|
||||
|
||||
|
||||
|
||||
//---------------------------------
|
||||
//---------------------------------
|
||||
//---------------------------------
|
||||
|
||||
|
||||
|
||||
int nBin,nBinMax;
|
||||
nBinMax=201;
|
||||
double value[nBinMax]; // /0.,nBinMax*0./
|
||||
double area[nBinMax] ; // / nBinMax*0./
|
||||
double integ[nBinMax]; // /0.,nBinMax*0./
|
||||
|
||||
|
||||
// common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
int i;
|
||||
double rHelp;
|
||||
|
||||
int HB_memsize;
|
||||
HB_memsize=500000;
|
||||
double memory[HB_memsize];
|
||||
// COMMON /PAWC/ memory
|
||||
|
||||
|
||||
//nur noch fuer Testzwecke:
|
||||
|
||||
double fValues[203];
|
||||
double fValuesFolded[203];
|
||||
|
||||
int idh;
|
||||
idh = 50;
|
||||
|
||||
//INCLUDE "mutrack$sourcedirectory:COM_DIRS.INC"
|
||||
// character filename*20 ! Name der Ausgabe-Dateien
|
||||
// COMMON /filename/ filename
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau<0.2)
|
||||
{
|
||||
std::cout<< "Subroutine ''Get_F_Function_Meyer'':"<<std::endl;
|
||||
std::cout<< "Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP"<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (tau<=2.)
|
||||
{
|
||||
// ! => Tabelle A
|
||||
thetaSchlangeMax = 4.0;
|
||||
}
|
||||
else if (tau<=8.)
|
||||
{
|
||||
//! => Tabelle B
|
||||
thetaSchlangeMax = 7.0;
|
||||
}
|
||||
else if (tau<=20.)
|
||||
{
|
||||
//! => Tabelle C
|
||||
thetaSchlangeMax = 20.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout<< "Subroutine ''Get_F_Function_Meyer'':"<<std::endl;
|
||||
std::cout<< "Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP"<<std::endl;
|
||||
return;
|
||||
}
|
||||
std::cout<< "M4: "<<Meyer_faktor4<<std::endl;
|
||||
std::cout<< "Ekin: "<<Ekin <<std::endl;
|
||||
thetaMax = thetaSchlangeMax / Meyer_faktor4 / Ekin/M_PI*180;
|
||||
if (thetaMax>50.)
|
||||
{
|
||||
thetaStep = .5;
|
||||
}
|
||||
|
||||
else if (thetaMax>25)
|
||||
{
|
||||
thetaStep = .25;
|
||||
}
|
||||
else if (thetaMax>12.5)
|
||||
{
|
||||
thetaStep = .125;
|
||||
}
|
||||
else
|
||||
{
|
||||
thetaStep = .0625;
|
||||
}
|
||||
|
||||
|
||||
//Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0;
|
||||
std::cout<<"thetamax = "<<thetaMax << std::endl;
|
||||
|
||||
|
||||
theta=thetaStep;
|
||||
// begining of do loop
|
||||
for( theta = thetaStep; theta<=thetaMax; theta+=thetaStep)
|
||||
{
|
||||
// std::cout<<"theta"<<theta << std::endl;
|
||||
// ! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
// ! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
//
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta *M_PI/180;
|
||||
|
||||
// ! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
F_Functions_Meyer(tau,thetaSchlange,&f1,&f2);
|
||||
if (thetaSchlange==-1)
|
||||
{
|
||||
//! wir sind jenseits von thetaSchlangeMax
|
||||
goto bigtheta;
|
||||
// endif
|
||||
}
|
||||
|
||||
// ! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2);
|
||||
|
||||
nBin = nBin + 1;
|
||||
if (nBin>nBinMax)
|
||||
{
|
||||
std::cout<< "nBin > nBinMax => EXIT";
|
||||
break;
|
||||
}
|
||||
|
||||
value[nBin] = sin(theta)*F;
|
||||
|
||||
fValues[nBin+1] = F; // ! fuer Testzwecke
|
||||
fValuesFolded[nBin+1] = sin(theta/180*M_PI)*F;// ! fuer Testzwecke
|
||||
|
||||
|
||||
}// end of do loop
|
||||
|
||||
|
||||
//Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
bigtheta:for( i = 1;i<= nBin; i++)
|
||||
{
|
||||
area[i] = (value[i]+value[i-1])/2.* thetaStep;
|
||||
integ[i] = integ[i-1] + area[i];
|
||||
}
|
||||
|
||||
|
||||
//Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ[nBin];
|
||||
for( i = 1; i<=nBin; i++)
|
||||
{
|
||||
value[i] = value[i] / rHelp;
|
||||
area[i] = area[i] / rHelp;
|
||||
integ[i] = integ[i] / rHelp;
|
||||
}
|
||||
|
||||
|
||||
//vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
//! Berechne die Werte fuer theta=0:
|
||||
|
||||
F_Functions_Meyer(tau,0.,&f1,&f2);
|
||||
F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2);
|
||||
fValues[1] = F;
|
||||
fValuesFolded[1] = 0.;
|
||||
|
||||
//! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
ofstream Mprint("tkm.out");
|
||||
theta = thetaStep;
|
||||
if (!Mprint.is_open()) exit(8);
|
||||
for( i = 1; i<=nBin+1;i++)
|
||||
{
|
||||
Mprint << theta<< " "<< fValues[i]/fValues[1]<<" " << fValuesFolded[i]<<std::endl;
|
||||
theta = theta + thetaStep;
|
||||
}
|
||||
|
||||
Mprint.close();
|
||||
|
||||
}
|
||||
//===============================================================================================
|
||||
|
||||
void meyer:: F_Functions_Meyer( double tau,double thetaSchlange,double *f1,double *f2)
|
||||
{
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
//Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
//bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
//verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
//L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
double f1_[2], f2_[2];
|
||||
|
||||
int column_,column,row;
|
||||
|
||||
int iColumn;
|
||||
double weightCol, weightRow;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//die Tabellendaten der Referenz (Tabellen 2 und 3):
|
||||
|
||||
int nColumn;
|
||||
nColumn=24;
|
||||
|
||||
double tau_[25]= {
|
||||
0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0,
|
||||
3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10., 12., 14., 16., 18., 20.
|
||||
};
|
||||
|
||||
|
||||
int nRowA=24;
|
||||
double thetaSchlangeA[25]=
|
||||
{
|
||||
.00, .05, .10, .15, .20, .25, .30, .35, .40, .45, .50, .60,
|
||||
.70, .80, .90, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0
|
||||
};
|
||||
|
||||
int nRowB=23;
|
||||
double thetaSchlangeB[24]=
|
||||
{
|
||||
0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.4, 1.5, 1.6, 1.8,
|
||||
2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0
|
||||
};
|
||||
|
||||
int nRowC=23;
|
||||
double thetaSchlangeC[24]=
|
||||
{
|
||||
0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0,
|
||||
7.0, 8.0, 9.0, 10., 11., 12., 13., 14., 15., 16., 18., 20.
|
||||
};
|
||||
|
||||
|
||||
double f1_A[25][9]=
|
||||
{
|
||||
1.96E+2,4.55E+1,2.11E+1,1.25E+1,8.48E+0,6.21E+0,4.80E+0,3.86E+0,3.20E+0,
|
||||
9.82E+1,3.72E+1,1.97E+1,1.20E+1,8.27E+0,6.11E+0,4.74E+0,3.83E+0,3.17E+0,
|
||||
3.96E+1,2.58E+1,1.65E+1,1.09E+1,7.73E+0,5.82E+0,4.58E+0,3.72E+0,3.10E+0,
|
||||
1.76E+1,1.58E+1,1.27E+1,9.26E+0,6.93E+0,5.38E+0,4.31E+0,3.55E+0,2.99E+0,
|
||||
8.62E+0,1.01E+1,9.45E+0,7.58E+0,6.02E+0,4.85E+0,3.98E+0,3.33E+0,2.84E+0,
|
||||
4.65E+0,6.55E+0,6.91E+0,6.06E+0,5.11E+0,4.28E+0,3.62E+0,3.08E+0,2.66E+0,
|
||||
2.74E+0,4.45E+0,5.03E+0,4.78E+0,4.27E+0,3.72E+0,3.23E+0,2.82E+0,2.47E+0,
|
||||
1.77E+0,3.02E+0,3.71E+0,3.76E+0,3.53E+0,3.20E+0,2.86E+0,2.55E+0,2.27E+0,
|
||||
1.22E+0,2.19E+0,2.78E+0,2.96E+0,2.91E+0,2.73E+0,2.51E+0,2.28E+0,2.07E+0,
|
||||
8.82E-1,1.59E+0,2.12E+0,2.35E+0,2.39E+0,2.32E+0,2.19E+0,2.03E+0,1.87E+0,
|
||||
6.55E-1,1.20E+0,1.64E+0,1.88E+0,1.97E+0,1.96E+0,1.90E+0,1.79E+0,1.68E+0,
|
||||
3.80E-1,7.15E-1,1.01E+0,1.22E+0,1.35E+0,1.40E+0,1.41E+0,1.39E+0,1.34E+0,
|
||||
2.26E-1,4.45E-1,6.44E-1,8.08E-1,9.28E-1,1.01E+0,1.05E+0,1.06E+0,1.05E+0,
|
||||
1.39E-1,2.80E-1,4.21E-1,5.45E-1,6.46E-1,7.22E-1,7.75E-1,8.07E-1,8.21E-1,
|
||||
8.22E-2,1.76E-1,2.78E-1,3.71E-1,4.53E-1,5.21E-1,5.74E-1,6.12E-1,6.37E-1,
|
||||
5.04E-2,1.11E-1,1.86E-1,2.57E-1,3.22E-1,3.79E-1,4.27E-1,4.65E-1,4.94E-1,
|
||||
2.51E-2,5.60E-2,9.24E-2,1.31E-1,1.69E-1,2.02E-1,2.40E-1,2.71E-1,2.97E-1,
|
||||
1.52E-2,3.20E-2,5.08E-2,7.23E-2,9.51E-2,1.18E-1,1.41E-1,1.63E-1,1.83E-1,
|
||||
1.03E-2,2.05E-2,3.22E-2,4.55E-2,6.01E-2,7.53E-2,9.02E-2,1.05E-1,1.19E-1,
|
||||
8.80E-3,1.48E-2,2.25E-2,3.13E-2,4.01E-2,5.03E-2,6.01E-2,7.01E-2,8.01E-2,
|
||||
6.10E-3,1.15E-2,1.71E-2,2.28E-2,2.89E-2,3.52E-2,4.18E-2,4.86E-2,5.55E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,1.71E-2,1.98E-2,2.28E-2,2.58E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.90E-3,1.02E-2,1.16E-2,1.31E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,4.90E-3,5.70E-3,6.40E-3,7.20E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.90E-3,3.40E-3,3.90E-3,4.30E-3
|
||||
};
|
||||
|
||||
double f1_B[24][9]=
|
||||
{
|
||||
2.71E+0,1.92E+0,1.46E+0,1.16E+0,9.52E-1,8.03E-1,6.90E-1,5.32E-1,4.28E-1,
|
||||
2.45E+0,1.79E+0,1.39E+0,1.12E+0,9.23E-1,7.82E-1,6.75E-1,5.23E-1,4.23E-1,
|
||||
1.87E+0,1.48E+0,1.20E+0,9.96E-1,8.42E-1,7.24E-1,6.32E-1,4.98E-1,4.07E-1,
|
||||
1.56E+0,1.30E+0,1.09E+0,9.19E-1,7.89E-1,6.86E-1,6.03E-1,4.80E-1,3.95E-1,
|
||||
1.28E+0,1.11E+0,9.62E-1,8.33E-1,7.27E-1,6.40E-1,5.69E-1,4.59E-1,3.81E-1,
|
||||
8.23E-1,7.90E-1,7.29E-1,6.64E-1,6.01E-1,5.44E-1,4.94E-1,4.12E-1,3.49E-1,
|
||||
5.14E-1,5.36E-1,5.29E-1,5.07E-1,4.78E-1,4.47E-1,4.16E-1,3.60E-1,3.13E-1,
|
||||
3.19E-1,3.58E-1,3.76E-1,3.78E-1,3.70E-1,3.57E-1,3.45E-1,3.08E-1,2.76E-1,
|
||||
2.02E-1,2.40E-1,2.64E-1,2.77E-1,2.82E-1,2.80E-1,2.65E-1,2.59E-1,2.39E-1,
|
||||
1.67E-1,1.96E-1,2.20E-1,2.36E-1,2.44E-1,2.47E-1,2.45E-1,2.35E-1,2.21E-1,
|
||||
1.33E-1,1.61E-1,1.85E-1,2.02E-1,2.12E-1,2.18E-1,2.18E-1,2.14E-1,2.03E-1,
|
||||
8.99E-2,1.12E-1,1.32E-1,1.48E-1,1.59E-1,1.67E-1,1.68E-1,1.75E-1,1.72E-1,
|
||||
6.24E-2,7.94E-2,9.50E-2,1.09E-1,1.20E-1,1.29E-1,1.35E-1,1.42E-1,1.43E-1,
|
||||
4.55E-2,5.74E-2,6.98E-2,8.11E-2,9.09E-2,9.92E-2,1.06E-1,1.15E-1,1.19E-1,
|
||||
3.35E-2,4.22E-2,5.19E-2,6.11E-2,6.95E-2,7.69E-2,8.33E-2,9.28E-2,9.85E-2,
|
||||
2.50E-2,3.16E-2,3.92E-2,4.66E-2,5.35E-2,6.00E-2,6.57E-2,7.49E-2,8.13E-2,
|
||||
1.90E-2,2.40E-2,2.99E-2,3.58E-2,4.16E-2,4.70E-2,5.20E-2,6.05E-2,6.70E-2,
|
||||
1.47E-2,1.86E-2,2.32E-2,2.79E-2,3.25E-2,3.70E-2,4.12E-2,4.89E-2,5.51E-2,
|
||||
8.10E-3,1.04E-2,1.30E-2,1.57E-2,1.84E-2,2.12E-2,2.40E-2,2.93E-2,3.42E-2,
|
||||
4.80E-3,6.20E-3,7.70E-3,9.30E-3,1.09E-2,1.26E-2,1.44E-2,1.79E-2,2.14E-2,
|
||||
2.80E-3,3.80E-3,4.70E-3,5.70E-3,6.70E-3,7.50E-3,8.90E-3,1.13E-2,1.36E-2,
|
||||
1.70E-3,2.30E-3,2.90E-3,3.60E-3,4.20E-3,4.90E-3,5.60E-3,7.20E-3,8.80E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.00E-3,2.80E-3,3.50E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.80E-4,1.20E-3,1.60E-3
|
||||
};
|
||||
|
||||
double f1_C[24][7]=
|
||||
{
|
||||
3.65E-1,2.62E-1,2.05E-1,1.67E-1,1.41E-1,1.21E-1,1.05E-1,
|
||||
3.33E-1,2.50E-1,1.95E-1,1.61E-1,1.36E-1,1.18E-1,1.03E-1,
|
||||
2.75E-1,2.18E-1,1.76E-1,1.48E-1,1.27E-1,1.11E-1,9.80E-2,
|
||||
2.04E-1,1.75E-1,1.50E-1,1.29E-1,1.13E-1,1.01E-1,9.00E-2,
|
||||
1.41E-1,1.31E-1,1.19E-1,1.08E-1,9.71E-2,8.88E-2,8.01E-2,
|
||||
9.32E-2,9.42E-2,9.10E-2,8.75E-2,8.00E-2,7.44E-2,6.91E-2,
|
||||
5.98E-2,6.52E-2,6.72E-2,6.62E-2,6.40E-2,6.12E-2,5.82E-2,
|
||||
3.83E-2,4.45E-2,4.80E-2,4.96E-2,4.98E-2,4.90E-2,4.77E-2,
|
||||
2.46E-2,3.01E-2,3.40E-2,3.65E-2,3.79E-2,3.84E-2,3.83E-2,
|
||||
1.59E-2,2.03E-2,2.39E-2,2.66E-2,2.85E-2,2.97E-2,3.04E-2,
|
||||
1.04E-2,1.37E-2,1.66E-2,1.92E-2,2.12E-2,2.27E-2,2.37E-2,
|
||||
4.39E-3,6.26E-3,8.26E-3,9.96E-3,1.15E-2,1.29E-2,1.41E-2,
|
||||
2.06E-3,3.02E-3,4.24E-3,5.28E-3,6.32E-3,7.32E-3,8.26E-3,
|
||||
1.21E-3,1.69E-3,2.24E-3,2.85E-3,3.50E-3,4.16E-3,4.82E-3,
|
||||
8.50E-4,1.10E-3,1.38E-3,1.65E-3,2.03E-3,2.45E-3,2.88E-3,
|
||||
5.90E-4,7.40E-4,8.50E-4,9.90E-4,1.23E-3,1.49E-3,1.71E-3,
|
||||
3.90E-4,4.60E-4,5.20E-4,6.30E-4,7.65E-4,9.65E-4,1.12E-3,
|
||||
2.40E-4,2.70E-4,3.10E-4,3.98E-4,4.97E-4,6.03E-4,7.18E-4,
|
||||
1.50E-4,1.70E-4,2.15E-4,2.70E-4,3.35E-4,4.35E-4,5.00E-4,
|
||||
1.00E-4,1.20E-4,1.46E-4,1.90E-4,2.40E-4,2.88E-4,3.43E-4,
|
||||
0.00 ,0.00 ,1.04E-4,1.41E-4,1.80E-4,2.10E-4,2.50E-4,
|
||||
0.00 ,0.00 ,8.20E-5,1.06E-4,1.38E-4,1.58E-4,1.85E-4,
|
||||
0.00 ,0.00 ,5.40E-5,7.00E-5,8.60E-5,1.03E-4,1.20E-4,
|
||||
0.00 ,0.00 ,4.20E-5,5.40E-5,6.50E-5,7.70E-5,8.80E-5
|
||||
};
|
||||
|
||||
double f2_A[25][9]=
|
||||
{
|
||||
3.52E+3, 3.27E+2, 9.08E+1, 3.85E+1, 2.00E+1, 1.18E+1, 7.55E+0, 5.16E+0, 3.71E+0,
|
||||
2.58E+2, 1.63E+2, 7.30E+1, 3.42E+1, 1.85E+1, 1.11E+1, 7.18E+0, 4.96E+0, 3.59E+0,
|
||||
-1.12E+2, 4.84E+0, 3.56E+1, 2.34E+1, 1.45E+1, 9.33E+0, 6.37E+0, 4.51E+0, 3.32E+0,
|
||||
-5.60E+1,-1.12E+1, 9.87E+0, 1.24E+1, 9.59E+0, 7.01E+0, 5.16E+0, 3.83E+0, 2.91E+0,
|
||||
-2.13E+1,-1.22E+1,-2.23E+0, 3.88E+0, 5.15E+0, 4.65E+0, 3.87E+0, 3.12E+0, 2.45E+0,
|
||||
-8.25E+0,-9.58E+0,-5.59E+0,-1.40E+0, 1.76E+0, 2.71E+0, 2.71E+0, 2.35E+0, 1.95E+0,
|
||||
-3.22E+0,-6.12E+0,-5.28E+0,-2.87E+0,-1.92E-1, 1.32E+0, 1.69E+0, 1.74E+0, 1.48E+0,
|
||||
-1.11E+0,-3.40E+0,-4.12E+0,-3.08E+0,-6.30E-1, 3.60E-1, 9.20E-1, 1.03E+0, 1.04E+0,
|
||||
-2.27E-1,-2.00E+0,-2.93E+0,-2.69E+0,-1.48E+0,-3.14E-1, 2.69E-1, 5.28E-1, 6.09E-1,
|
||||
1.54E-1,-1.09E+0,-2.10E+0,-2.15E+0,-1.47E+0,-6.77E-1,-1.80E-1, 1.08E-1, 2.70E-1,
|
||||
3.28E-1,-6.30E-1,-1.50E+0,-1.68E+0,-1.34E+0,-8.43E-1,-4.60E-1,-1.85E-1,-4.67E-3,
|
||||
3.32E-1,-2.06E-1,-7.32E-1,-9.90E-1,-9.42E-1,-8.20E-1,-6.06E-1,-4.51E-1,-3.01E-1,
|
||||
2.72E-1,-3.34E-2,-3.49E-1,-5.65E-1,-6.03E-1,-5.79E-1,-5.05E-1,-4.31E-1,-3.45E-1,
|
||||
2.02E-1, 2.80E-2,-1.54E-1,-3.00E-1,-3.59E-1,-3.76E-1,-4.60E-1,-3.40E-1,-3.08E-1,
|
||||
1.38E-1, 4.84E-2,-5.56E-2,-1.44E-1,-2.04E-1,-2.39E-1,-2.54E-1,-2.49E-1,-2.48E-1,
|
||||
9.47E-2, 4.86E-2,-1.08E-2,-6.44E-2,-1.02E-1,-1.34E-1,-1.62E-1,-1.79E-1,-1.87E-1,
|
||||
5.33E-2, 3.71E-2, 1.85E-2, 1.63E-3,-1.69E-2,-3.69E-2,-5.66E-2,-7.78E-2,-9.33E-2,
|
||||
3.38E-2, 2.40E-2, 1.62E-2, 9.90E-3, 3.76E-3,-4.93E-3,-1.66E-2,-3.05E-2,-4.22E-2,
|
||||
2.12E-2, 1.56E-2, 1.05E-2, 7.80E-3, 7.92E-3, 6.30E-3, 3.20E-4,-8.50E-3,-1.66E-2,
|
||||
1.40E-2, 9.20E-3, 5.30E-3, 4.70E-3, 6.31E-3, 8.40E-3, 5.30E-3, 8.80E-4,-3.30E-3,
|
||||
9.20E-3, 4.70E-3, 1.70E-3, 2.60E-3, 4.49E-3, 6.60E-3, 6.00E-3, 4.70E-3, 2.80E-3,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00
|
||||
};
|
||||
|
||||
double f2_B[24][9]=
|
||||
{
|
||||
2.75E+0, 1.94E+0, 9.13E-1, 6.06E-1, 4.26E-1, 3.14E-1, 2.40E-1, 1.51E-1, 1.03E-1,
|
||||
1.94E+0, 1.16E+0, 7.56E-1, 5.26E-1, 3.81E-1, 2.87E-1, 2.23E-1, 1.43E-1, 9.78E-2,
|
||||
5.85E-1, 5.04E-1, 4.10E-1, 3.30E-1, 2.69E-1, 2.17E-1, 1.78E-1, 1.22E-1, 8.71E-2,
|
||||
7.83E-2, 2.00E-1, 2.35E-1, 2.19E-1, 1.97E-1, 1.73E-1, 1.48E-1, 1.08E-1, 7.93E-2,
|
||||
-1.82E-1, 1.56E-2, 1.04E-1, 1.36E-1, 1.38E-1, 1.31E-1, 1.19E-1, 9.46E-2, 7.19E-2,
|
||||
-2.71E-1,-1.66E-1,-7.29E-2,-4.74E-3, 3.60E-2, 5.50E-2, 6.28E-2, 5.98E-2, 5.09E-2,
|
||||
-1.87E-1,-1.58E-1,-1.09E-1,-5.80E-2,-2.03E-2, 2.48E-3, 1.99E-2, 3.36E-2, 3.27E-2,
|
||||
-1.01E-1,-1.05E-1,-8.95E-2,-6.63E-2,-3.93E-2,-2.38E-2,-9.22E-3, 8.47E-3, 1.52E-2,
|
||||
-5.19E-2,-6.47E-2,-6.51E-2,-5.62E-2,-4.51E-2,-3.49E-2,-2.45E-2,-8.19E-3, 2.05E-3,
|
||||
-3.68E-2,-4.89E-2,-5.36E-2,-5.06E-2,-4.27E-2,-3.65E-2,-2.80E-2,-1.33E-2,-3.47E-3,
|
||||
-2.33E-2,-3.69E-2,-4.41E-2,-4.38E-2,-3.97E-2,-3.50E-2,-2.88E-2,-1.60E-2,-6.68E-3,
|
||||
-8.76E-3,-2.07E-2,-2.90E-2,-3.17E-2,-3.09E-2,-2.92E-2,-2.63E-2,-1.79E-2,-1.03E-2,
|
||||
-1.20E-3,-1.11E-2,-1.90E-2,-2.20E-2,-2.32E-2,-2.24E-2,-2.10E-2,-1.66E-2,-1.11E-2,
|
||||
1.72E-3,-4.82E-3,-1.02E-2,-1.42E-2,-1.65E-2,-1.66E-2,-1.60E-2,-1.39E-2,-1.09E-2,
|
||||
2.68E-3,-1.18E-3,-5.19E-3,-8.30E-5,-1.01E-2,-1.14E-2,-1.16E-2,-1.16E-2,-9.99E-3,
|
||||
2.81E-3, 8.21E-4,-1.96E-3,-3.99E-3,-5.89E-3,-7.13E-3,-8.15E-3,-9.05E-3,-8.60E-3,
|
||||
2.61E-3, 1.35E-3,-2.99E-4,-1.79E-3,-3.12E-3,-4.44E-3,-5.61E-3,-7.01E-3,-7.27E-3,
|
||||
2.06E-3, 1.45E-3, 4.64E-4,-5.97E-4,-1.71E-3,-2.79E-3,-3.84E-3,-5.29E-3,-5.90E-3,
|
||||
1.07E-3, 9.39E-4, 8.22E-4, 3.58E-4,-1.15E-4,-6.60E-4,-1.18E-3,-2.15E-3,-2.88E-3,
|
||||
4.97E-4, 5.46E-4, 6.15E-4, 5.56E-4, 3.14E-4, 9.80E-5,-1.30E-4,-5.98E-4,-1.07E-4,
|
||||
1.85E-4, 3.11E-4, 4.25E-4, 4.08E-4, 3.63E-4, 3.04E-4, 2.24E-4, 2.80E-5,-2.10E-4,
|
||||
4.80E-5, 1.48E-4, 2.44E-4, 2.80E-4, 3.01E-4, 3.11E-4, 3.13E-4, 2.40E-4, 1.10E-4,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 1.39E-4, 1.80E-4, 1.80E-4,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 4.38E-5, 7.30E-5, 8.40E-5
|
||||
};
|
||||
|
||||
double f2_C[24][7]=
|
||||
{
|
||||
7.36E-2, 4.21E-2, 2.69E-2, 1.83E-2, 1.34E-2, 1.01E-2, 7.88E-3,
|
||||
5.79E-2, 3.61E-2, 2.34E-2, 1.64E-2, 1.21E-2, 9.26E-3, 7.28E-3,
|
||||
2.94E-2, 2.17E-2, 1.60E-2, 1.23E-2, 9.49E-3, 7.45E-3, 5.95E-3,
|
||||
2.30E-3, 7.07E-3, 7.76E-3, 7.02E-3, 6.13E-3, 5.17E-3, 4.34E-3,
|
||||
-7.50E-3,-2.00E-3, 9.93E-4, 2.36E-3, 2.82E-3, 2.86E-3, 2.72E-3,
|
||||
8.27E-3,-5.37E-3,-2.58E-3,-7.96E-4, 3.75E-4, 9.71E-4, 1.28E-3,
|
||||
-5.79E-3,-5.12E-3,-3.86E-3,-2.46E-3,-1.20E-3,-3.74E-4, 1.74E-4,
|
||||
-3.26E-3,-3.43E-3,-3.26E-3,-2.68E-3,-1.84E-3,-1.12E-3,-4.54E-4,
|
||||
-1.46E-3,-1.49E-3,-2.20E-3,-2.18E-3,-1.85E-3,-1.40E-3,-8.15E-4,
|
||||
-4.29E-4,-9.44E-4,-1.29E-3,-1.50E-3,-1.51E-3,-1.36E-3,-9.57E-4,
|
||||
-3.30E-5,-3.66E-4,-6.78E-4,-9.38E-4,-1.09E-3,-1.09E-3,-9.56E-4,
|
||||
1.50E-4, 3.10E-5,-1.38E-4,-3.06E-4,-4.67E-4,-5.48E-4,-6.08E-4,
|
||||
1.00E-4, 8.50E-5, 2.30E-5,-6.60E-5,-1.58E-4,-2.40E-4,-3.05E-4,
|
||||
5.40E-5, 6.50E-5, 4.90E-5, 1.20E-5,-3.60E-5,-8.90E-5,-1.31E-4,
|
||||
2.90E-5, 4.30E-5, 4.40E-5, 2.90E-5, 5.10E-6,-2.20E-5,-4.80E-5,
|
||||
1.40E-5, 2.40E-5, 2.80E-5, 2.60E-5, 1.90E-5, 7.50E-6,-1.10E-5,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
//Bestimme, welche Reihen der Tabellen fuer Interpolation benoetigt werden:
|
||||
|
||||
if (tau<tau_[0])
|
||||
{
|
||||
std::cout<< "tau is less than the lowest tabulated value:"<<std::endl;
|
||||
std::cout<<"tau = "<<tau<<std::endl;
|
||||
std::cout<<"minimum = "<<tau_[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (tau>tau_[nColumn])
|
||||
{
|
||||
std::cout<<"tau is greater than the highest tabulated value:"<<std::endl;
|
||||
std::cout<<"tau = "<<tau<<std::endl;
|
||||
std::cout <<"maximum = "<<tau_[nColumn]<<std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
column_ = 0;
|
||||
do
|
||||
{
|
||||
if(tau>tau_[column_])// TAO IF LOOP NOT GET THE CORRECT COLUNM INTERPOLATION
|
||||
{
|
||||
column_ = column_ + 1;
|
||||
}
|
||||
}while (tau>tau_[column_]);
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"column= " << column_ <<std::endl;
|
||||
std::cout<<"tau c " << tau_[column_] <<std::endl;
|
||||
std::cout<<"tau c-1 " << tau_[column_-1] <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Das Gewicht der Reihe zu groesserem Tau:
|
||||
if(column==0)
|
||||
{
|
||||
weightCol=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
weightCol = (tau-tau_[column_-1]) / (tau_[column_]-tau_[column_-1]);
|
||||
}
|
||||
|
||||
|
||||
//Besorge fuer gegebenes 'thetaSchlange' die interpolierten f1- und f2 -Werte
|
||||
//der beiden relevanten Reihen:
|
||||
//iColumn = 1 => Reihe mit hoeherem Index
|
||||
//iColumn = 2 => Reihe mit kleinerem Index
|
||||
|
||||
|
||||
iColumn = 1;
|
||||
|
||||
// 5 continue;
|
||||
do{
|
||||
|
||||
if (column_<=8)
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//! Werte aus 1. Tabelle: 0.2 <= tau <= 1.8
|
||||
|
||||
column = column_;
|
||||
// std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeA[0])
|
||||
{
|
||||
std::cout<<"thetaSchlange is less than the lowest tabulated value in table 1:"<<std::endl;
|
||||
std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<<"minimum = "<<thetaSchlangeA[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeA[nRowA])
|
||||
{
|
||||
std::cout<<"thetaSchlange is greater than the highest tabulated value in table 1:"<<std::endl;
|
||||
std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<<"maximum = "<<thetaSchlangeA[nRowA]<<std::endl;
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if (thetaSchlange>thetaSchlangeA[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
}while (thetaSchlange>thetaSchlangeA[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
//! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_A[row][column];
|
||||
f2_[iColumn] = weightRow * f2_A[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeA[row-1]) /
|
||||
(thetaSchlangeA[row]-thetaSchlangeA[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_A[row-1][column] +
|
||||
weightRow * f1_A[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_A[row-1][column] +
|
||||
weightRow * f2_A[row][column];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
else if (column_>8&&column_<=17)
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//! Werte aus 2. Tabelle: 2.0 <= tau <= 7.0
|
||||
|
||||
column = column_ - 9;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeB[0])
|
||||
{
|
||||
std::cout<< "thetaSchlange is less than the lowest tabulated value in table 2:"<<std::endl;
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<< "minimum = "<<thetaSchlangeB[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeB[nRowB])
|
||||
{
|
||||
std::cout<< "thetaSchlange is greater than the highest tabulated value in table 2:";
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange;
|
||||
std::cout<< "maximum = "<<thetaSchlangeB[nRowB];
|
||||
// call exit
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if(thetaSchlange>thetaSchlangeB[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
} while (thetaSchlange>thetaSchlangeB[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_B[row][column];
|
||||
f2_[iColumn] = weightRow * f2_B[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeB[row-1]) /
|
||||
(thetaSchlangeB[row]-thetaSchlangeB[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_B[row-1][column] +
|
||||
weightRow * f1_B[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_B[row-1][column] +
|
||||
weightRow * f2_B[row][column];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
else
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ! Werte aus 3. Tabelle: 8.0 <= tau <= 20.
|
||||
|
||||
column = column_ - 18;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeC[0])
|
||||
{
|
||||
std::cout<< "thetaSchlange is less than the lowest tabulated value in table 3:"<<std::endl;
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<< "minimum = "<<thetaSchlangeC[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeC[nRowC])
|
||||
{
|
||||
std::cout<< "thetaSchlange is greater than the highest tabulated value in table 3:";
|
||||
std::cout<< "\n thetaSchlange = ",thetaSchlange;
|
||||
std::cout<< "\n maximum = ",thetaSchlangeC[nRowC];
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if(thetaSchlange>thetaSchlangeC[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
}while (thetaSchlange>thetaSchlangeC[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_C[row][column];
|
||||
f2_[iColumn] = weightRow * f2_C[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeC[row-1]) /
|
||||
(thetaSchlangeC[row]-thetaSchlangeC[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_C[row-1][column] +
|
||||
weightRow * f1_C[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_C[row-1][column] +
|
||||
weightRow * f2_C[row][column];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"f1_[iColumn]= " << f1_[iColumn] <<std::endl;
|
||||
std::cout<<"f2_[iColumn]= " << f2_[iColumn] <<std::endl;
|
||||
|
||||
std::cout<<"wc: "<<weightCol<<std::endl;
|
||||
std::cout<<"wr: "<<weightRow<<std::endl;
|
||||
std::cout<<"icol: "<<iColumn<<std::endl;
|
||||
#endif
|
||||
|
||||
iColumn++ ;
|
||||
|
||||
}while(iColumn<=2);
|
||||
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"f1: "<<*f1<<std::endl;
|
||||
std::cout<<"f2: "<<*f2<<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
*f1 = weightCol*f1_[1] + (1.-weightCol)*f1_[2];
|
||||
*f2 = weightCol*f2_[1] + (1.-weightCol)*f2_[2];
|
||||
|
||||
}
|
||||
|
||||
|
||||
//========================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*-
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rHelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
*/
|
888
geant4/TaoLEMuSR/MEYER/meyer.cc~
Normal file
888
geant4/TaoLEMuSR/MEYER/meyer.cc~
Normal file
@ -0,0 +1,888 @@
|
||||
/*
|
||||
fIRST IMPLEMENTATION BY ANLSEM,H. IN FORTRAN
|
||||
C++ CONVERSION T.K.PARAISO 04-2005
|
||||
|
||||
!!! IMPORTANT !!!
|
||||
|
||||
Notice:
|
||||
Tables definition changes between FORTRAN and C++:
|
||||
1/ Fortran indices start at 1 and C++ indices start at 0
|
||||
2/ Tables are defined as table[column][row] in Fortran
|
||||
table[row][column] in c++
|
||||
|
||||
usefull reference
|
||||
http://gershwin.ens.fr/vdaniel/Doc-Locale/Langages-Program-Scientific/Fortran/Tutorial/arrays.htm
|
||||
|
||||
*/
|
||||
|
||||
#include "meyer.h"
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include<ios>
|
||||
using namespace std;
|
||||
|
||||
|
||||
meyer::meyer()
|
||||
{;}
|
||||
|
||||
meyer::~meyer()
|
||||
{;}
|
||||
|
||||
|
||||
void meyer::GFunctions(double* g1,double* g2, double tau)
|
||||
|
||||
{
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
//Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
//Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
//breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
//(1971))
|
||||
|
||||
|
||||
double help;
|
||||
|
||||
int i;
|
||||
|
||||
|
||||
double tau_[] = {0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
10.0, 12.0, 14.0, 16.0, 18.0, 20.0 };
|
||||
|
||||
double g1_[] = {0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
1.990,2.270,2.540,2.800,3.050,3.290 };
|
||||
|
||||
double g2_[] = {0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
0.30,0.26,0.22,0.18,0.15,0.13 };
|
||||
|
||||
|
||||
if (tau<tau_[0])// tau_[0] is the lowest in c++; in fortran it is tau_[1]!!! TAO!
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist kleiner als kleinster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau<<std::endl;
|
||||
std::cout<<" tau_[0] = "<< tau_[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
i = 1;
|
||||
|
||||
do
|
||||
{
|
||||
i = i + 1;
|
||||
if (i==26)
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist groesser als groesster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau <<std::endl;
|
||||
std::cout<<" tau_[26] = "<< tau_[26] <<std::endl;
|
||||
break;
|
||||
}
|
||||
}while(tau>tau_[i]);
|
||||
|
||||
|
||||
//lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_[i-1])/(tau_[i]-tau_[i-1]);
|
||||
|
||||
*g1 = g1_[i-1] + help*(g1_[i]-g1_[i-1]);
|
||||
*g2 = g2_[i-1] + help*(g2_[i]-g2_[i-1]);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//==========================================================================================
|
||||
|
||||
|
||||
|
||||
void meyer:: Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, double m1, double m2)
|
||||
{
|
||||
|
||||
double thetaSchlange,thetaSchlangeMax;
|
||||
double theta,thetaMax,thetaStep;
|
||||
double f1,f2,F;
|
||||
|
||||
|
||||
//---------------------------------
|
||||
//- Parameters:
|
||||
|
||||
// double Z1, Z2; ! die atomaren Nummern von Projektil und Target
|
||||
|
||||
double a0; // ! Bohrscher Radius in cm
|
||||
double screeningPar; // ! Screeningparameter "a" in cm fuer Teilchen der
|
||||
// ! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
// ! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
double r0Meyer; // ! r0(C) berechnet aus dem screeningParameter "a"
|
||||
// ! und dem ebenfalls bei Meyer angegebenem
|
||||
// ! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
double eSquare; // ! elektrische Ladung zum Quadrat in keV*cm
|
||||
double Pi ; // ! die Kreiszahl
|
||||
|
||||
///
|
||||
a0 = 5.29E-9;//unit == centimeter
|
||||
|
||||
//the screening parameter
|
||||
double D= exp(2/3*log(Z1))+exp(2/3*log(Z2));
|
||||
double a=0.885*a0/sqrt(D);
|
||||
screeningPar=a; // screeningPar = 2.5764E-9;
|
||||
r0Meyer = 9.909E-9;
|
||||
eSquare = 1.44E-10;
|
||||
Pi = 3.141592654;
|
||||
|
||||
|
||||
double Meyer_faktor3;
|
||||
double Meyer_faktor4;
|
||||
double zzz;// ! "Hilfsparameter"
|
||||
double Meyer_faktor5;
|
||||
|
||||
Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer);
|
||||
|
||||
Meyer_faktor4 = (m1+m2)/m2/2.;
|
||||
//((1./9.+12.)/12.)/2. ;// TAO m1+m2/m2/2.
|
||||
// in meyer article, we then have b= mf4/Ekine1= (m1+m2)/(m2*2*m1*v1²)
|
||||
zzz = screeningPar / (2.*Z1*Z2*eSquare);
|
||||
Meyer_faktor5 = zzz*zzz / (8*Pi*Pi);
|
||||
|
||||
|
||||
|
||||
//---------------------------------
|
||||
//---------------------------------
|
||||
//---------------------------------
|
||||
|
||||
|
||||
|
||||
int nBin,nBinMax;
|
||||
nBinMax=201;
|
||||
double value[nBinMax]; // /0.,nBinMax*0./
|
||||
double area[nBinMax] ; // / nBinMax*0./
|
||||
double integ[nBinMax]; // /0.,nBinMax*0./
|
||||
|
||||
|
||||
// common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
int i;
|
||||
double rHelp;
|
||||
|
||||
int HB_memsize;
|
||||
HB_memsize=500000;
|
||||
double memory[HB_memsize];
|
||||
// COMMON /PAWC/ memory
|
||||
|
||||
|
||||
//nur noch fuer Testzwecke:
|
||||
|
||||
double fValues[203];
|
||||
double fValuesFolded[203];
|
||||
|
||||
int idh;
|
||||
idh = 50;
|
||||
|
||||
//INCLUDE "mutrack$sourcedirectory:COM_DIRS.INC"
|
||||
// character filename*20 ! Name der Ausgabe-Dateien
|
||||
// COMMON /filename/ filename
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau<0.2)
|
||||
{
|
||||
std::cout<< "Subroutine ''Get_F_Function_Meyer'':"<<std::endl;
|
||||
std::cout<< "Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP"<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (tau<=2.)
|
||||
{
|
||||
// ! => Tabelle A
|
||||
thetaSchlangeMax = 4.0;
|
||||
}
|
||||
else if (tau<=8.)
|
||||
{
|
||||
//! => Tabelle B
|
||||
thetaSchlangeMax = 7.0;
|
||||
}
|
||||
else if (tau<=20.)
|
||||
{
|
||||
//! => Tabelle C
|
||||
thetaSchlangeMax = 20.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout<< "Subroutine ''Get_F_Function_Meyer'':"<<std::endl;
|
||||
std::cout<< "Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP"<<std::endl;
|
||||
return;
|
||||
}
|
||||
std::cout<< "M4: "<<Meyer_faktor4<<std::endl;
|
||||
std::cout<< "Ekin: "<<Ekin <<std::endl;
|
||||
thetaMax = thetaSchlangeMax / Meyer_faktor4 / Ekin/M_PI*180;
|
||||
if (thetaMax>50.)
|
||||
{
|
||||
thetaStep = .5;
|
||||
}
|
||||
|
||||
else if (thetaMax>25)
|
||||
{
|
||||
thetaStep = .25;
|
||||
}
|
||||
else if (thetaMax>12.5)
|
||||
{
|
||||
thetaStep = .125;
|
||||
}
|
||||
else
|
||||
{
|
||||
thetaStep = .0625;
|
||||
}
|
||||
|
||||
|
||||
//Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0;
|
||||
std::cout<<"thetamax = "<<thetaMax << std::endl;
|
||||
|
||||
|
||||
theta=thetaStep;
|
||||
// begining of do loop
|
||||
for( theta = thetaStep; theta<=thetaMax; theta+=thetaStep)
|
||||
{
|
||||
// std::cout<<"theta"<<theta << std::endl;
|
||||
// ! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
// ! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
//
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta *M_PI/180;
|
||||
|
||||
// ! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
F_Functions_Meyer(tau,thetaSchlange,&f1,&f2);
|
||||
if (thetaSchlange==-1)
|
||||
{
|
||||
//! wir sind jenseits von thetaSchlangeMax
|
||||
goto bigtheta;
|
||||
// endif
|
||||
}
|
||||
|
||||
// ! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2);
|
||||
|
||||
nBin = nBin + 1;
|
||||
if (nBin>nBinMax)
|
||||
{
|
||||
std::cout<< "nBin > nBinMax => EXIT";
|
||||
break;
|
||||
}
|
||||
|
||||
value[nBin] = sin(theta)*F;
|
||||
|
||||
fValues[nBin+1] = F; // ! fuer Testzwecke
|
||||
fValuesFolded[nBin+1] = sin(theta/180*M_PI)*F;// ! fuer Testzwecke
|
||||
|
||||
|
||||
}// end of do loop
|
||||
|
||||
|
||||
//Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
bigtheta:for( i = 1;i<= nBin; i++)
|
||||
{
|
||||
area[i] = (value[i]+value[i-1])/2.* thetaStep;
|
||||
integ[i] = integ[i-1] + area[i];
|
||||
}
|
||||
|
||||
|
||||
//Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ[nBin];
|
||||
for( i = 1; i<=nBin; i++)
|
||||
{
|
||||
value[i] = value[i] / rHelp;
|
||||
area[i] = area[i] / rHelp;
|
||||
integ[i] = integ[i] / rHelp;
|
||||
}
|
||||
|
||||
|
||||
//vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
//! Berechne die Werte fuer theta=0:
|
||||
|
||||
F_Functions_Meyer(tau,0.,&f1,&f2);
|
||||
F = Meyer_faktor4*Meyer_faktor4 * Ekin*Ekin /2 /M_PI * (f1 - Meyer_faktor3*f2);// TAO, Anselm was: Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2);
|
||||
fValues[1] = F;
|
||||
fValuesFolded[1] = 0.;
|
||||
|
||||
//! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
ofstream Mprint("tkm.out");
|
||||
theta = thetaStep;
|
||||
if (!Mprint.is_open()) exit(8);
|
||||
for( i = 1; i<=nBin+1;i++)
|
||||
{
|
||||
Mprint << theta<< " "<< fValues[i]/fValues[1]<<" " << fValuesFolded[i]<<std::endl;
|
||||
theta = theta + thetaStep;
|
||||
}
|
||||
|
||||
Mprint.close();
|
||||
|
||||
}
|
||||
//===============================================================================================
|
||||
|
||||
void meyer:: F_Functions_Meyer( double tau,double thetaSchlange,double *f1,double *f2)
|
||||
{
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
//Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
//bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
//verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
//L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
double f1_[2], f2_[2];
|
||||
|
||||
int column_,column,row;
|
||||
|
||||
int iColumn;
|
||||
double weightCol, weightRow;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//die Tabellendaten der Referenz (Tabellen 2 und 3):
|
||||
|
||||
int nColumn;
|
||||
nColumn=24;
|
||||
|
||||
double tau_[25]= {
|
||||
0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0,
|
||||
3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10., 12., 14., 16., 18., 20.
|
||||
};
|
||||
|
||||
|
||||
int nRowA=24;
|
||||
double thetaSchlangeA[25]=
|
||||
{
|
||||
.00, .05, .10, .15, .20, .25, .30, .35, .40, .45, .50, .60,
|
||||
.70, .80, .90, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0
|
||||
};
|
||||
|
||||
int nRowB=23;
|
||||
double thetaSchlangeB[24]=
|
||||
{
|
||||
0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.4, 1.5, 1.6, 1.8,
|
||||
2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0
|
||||
};
|
||||
|
||||
int nRowC=23;
|
||||
double thetaSchlangeC[24]=
|
||||
{
|
||||
0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0,
|
||||
7.0, 8.0, 9.0, 10., 11., 12., 13., 14., 15., 16., 18., 20.
|
||||
};
|
||||
|
||||
|
||||
double f1_A[25][9]=
|
||||
{
|
||||
1.96E+2,4.55E+1,2.11E+1,1.25E+1,8.48E+0,6.21E+0,4.80E+0,3.86E+0,3.20E+0,
|
||||
9.82E+1,3.72E+1,1.97E+1,1.20E+1,8.27E+0,6.11E+0,4.74E+0,3.83E+0,3.17E+0,
|
||||
3.96E+1,2.58E+1,1.65E+1,1.09E+1,7.73E+0,5.82E+0,4.58E+0,3.72E+0,3.10E+0,
|
||||
1.76E+1,1.58E+1,1.27E+1,9.26E+0,6.93E+0,5.38E+0,4.31E+0,3.55E+0,2.99E+0,
|
||||
8.62E+0,1.01E+1,9.45E+0,7.58E+0,6.02E+0,4.85E+0,3.98E+0,3.33E+0,2.84E+0,
|
||||
4.65E+0,6.55E+0,6.91E+0,6.06E+0,5.11E+0,4.28E+0,3.62E+0,3.08E+0,2.66E+0,
|
||||
2.74E+0,4.45E+0,5.03E+0,4.78E+0,4.27E+0,3.72E+0,3.23E+0,2.82E+0,2.47E+0,
|
||||
1.77E+0,3.02E+0,3.71E+0,3.76E+0,3.53E+0,3.20E+0,2.86E+0,2.55E+0,2.27E+0,
|
||||
1.22E+0,2.19E+0,2.78E+0,2.96E+0,2.91E+0,2.73E+0,2.51E+0,2.28E+0,2.07E+0,
|
||||
8.82E-1,1.59E+0,2.12E+0,2.35E+0,2.39E+0,2.32E+0,2.19E+0,2.03E+0,1.87E+0,
|
||||
6.55E-1,1.20E+0,1.64E+0,1.88E+0,1.97E+0,1.96E+0,1.90E+0,1.79E+0,1.68E+0,
|
||||
3.80E-1,7.15E-1,1.01E+0,1.22E+0,1.35E+0,1.40E+0,1.41E+0,1.39E+0,1.34E+0,
|
||||
2.26E-1,4.45E-1,6.44E-1,8.08E-1,9.28E-1,1.01E+0,1.05E+0,1.06E+0,1.05E+0,
|
||||
1.39E-1,2.80E-1,4.21E-1,5.45E-1,6.46E-1,7.22E-1,7.75E-1,8.07E-1,8.21E-1,
|
||||
8.22E-2,1.76E-1,2.78E-1,3.71E-1,4.53E-1,5.21E-1,5.74E-1,6.12E-1,6.37E-1,
|
||||
5.04E-2,1.11E-1,1.86E-1,2.57E-1,3.22E-1,3.79E-1,4.27E-1,4.65E-1,4.94E-1,
|
||||
2.51E-2,5.60E-2,9.24E-2,1.31E-1,1.69E-1,2.02E-1,2.40E-1,2.71E-1,2.97E-1,
|
||||
1.52E-2,3.20E-2,5.08E-2,7.23E-2,9.51E-2,1.18E-1,1.41E-1,1.63E-1,1.83E-1,
|
||||
1.03E-2,2.05E-2,3.22E-2,4.55E-2,6.01E-2,7.53E-2,9.02E-2,1.05E-1,1.19E-1,
|
||||
8.80E-3,1.48E-2,2.25E-2,3.13E-2,4.01E-2,5.03E-2,6.01E-2,7.01E-2,8.01E-2,
|
||||
6.10E-3,1.15E-2,1.71E-2,2.28E-2,2.89E-2,3.52E-2,4.18E-2,4.86E-2,5.55E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,1.71E-2,1.98E-2,2.28E-2,2.58E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.90E-3,1.02E-2,1.16E-2,1.31E-2,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,4.90E-3,5.70E-3,6.40E-3,7.20E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.90E-3,3.40E-3,3.90E-3,4.30E-3
|
||||
};
|
||||
|
||||
double f1_B[24][9]=
|
||||
{
|
||||
2.71E+0,1.92E+0,1.46E+0,1.16E+0,9.52E-1,8.03E-1,6.90E-1,5.32E-1,4.28E-1,
|
||||
2.45E+0,1.79E+0,1.39E+0,1.12E+0,9.23E-1,7.82E-1,6.75E-1,5.23E-1,4.23E-1,
|
||||
1.87E+0,1.48E+0,1.20E+0,9.96E-1,8.42E-1,7.24E-1,6.32E-1,4.98E-1,4.07E-1,
|
||||
1.56E+0,1.30E+0,1.09E+0,9.19E-1,7.89E-1,6.86E-1,6.03E-1,4.80E-1,3.95E-1,
|
||||
1.28E+0,1.11E+0,9.62E-1,8.33E-1,7.27E-1,6.40E-1,5.69E-1,4.59E-1,3.81E-1,
|
||||
8.23E-1,7.90E-1,7.29E-1,6.64E-1,6.01E-1,5.44E-1,4.94E-1,4.12E-1,3.49E-1,
|
||||
5.14E-1,5.36E-1,5.29E-1,5.07E-1,4.78E-1,4.47E-1,4.16E-1,3.60E-1,3.13E-1,
|
||||
3.19E-1,3.58E-1,3.76E-1,3.78E-1,3.70E-1,3.57E-1,3.45E-1,3.08E-1,2.76E-1,
|
||||
2.02E-1,2.40E-1,2.64E-1,2.77E-1,2.82E-1,2.80E-1,2.65E-1,2.59E-1,2.39E-1,
|
||||
1.67E-1,1.96E-1,2.20E-1,2.36E-1,2.44E-1,2.47E-1,2.45E-1,2.35E-1,2.21E-1,
|
||||
1.33E-1,1.61E-1,1.85E-1,2.02E-1,2.12E-1,2.18E-1,2.18E-1,2.14E-1,2.03E-1,
|
||||
8.99E-2,1.12E-1,1.32E-1,1.48E-1,1.59E-1,1.67E-1,1.68E-1,1.75E-1,1.72E-1,
|
||||
6.24E-2,7.94E-2,9.50E-2,1.09E-1,1.20E-1,1.29E-1,1.35E-1,1.42E-1,1.43E-1,
|
||||
4.55E-2,5.74E-2,6.98E-2,8.11E-2,9.09E-2,9.92E-2,1.06E-1,1.15E-1,1.19E-1,
|
||||
3.35E-2,4.22E-2,5.19E-2,6.11E-2,6.95E-2,7.69E-2,8.33E-2,9.28E-2,9.85E-2,
|
||||
2.50E-2,3.16E-2,3.92E-2,4.66E-2,5.35E-2,6.00E-2,6.57E-2,7.49E-2,8.13E-2,
|
||||
1.90E-2,2.40E-2,2.99E-2,3.58E-2,4.16E-2,4.70E-2,5.20E-2,6.05E-2,6.70E-2,
|
||||
1.47E-2,1.86E-2,2.32E-2,2.79E-2,3.25E-2,3.70E-2,4.12E-2,4.89E-2,5.51E-2,
|
||||
8.10E-3,1.04E-2,1.30E-2,1.57E-2,1.84E-2,2.12E-2,2.40E-2,2.93E-2,3.42E-2,
|
||||
4.80E-3,6.20E-3,7.70E-3,9.30E-3,1.09E-2,1.26E-2,1.44E-2,1.79E-2,2.14E-2,
|
||||
2.80E-3,3.80E-3,4.70E-3,5.70E-3,6.70E-3,7.50E-3,8.90E-3,1.13E-2,1.36E-2,
|
||||
1.70E-3,2.30E-3,2.90E-3,3.60E-3,4.20E-3,4.90E-3,5.60E-3,7.20E-3,8.80E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.00E-3,2.80E-3,3.50E-3,
|
||||
0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.80E-4,1.20E-3,1.60E-3
|
||||
};
|
||||
|
||||
double f1_C[24][7]=
|
||||
{
|
||||
3.65E-1,2.62E-1,2.05E-1,1.67E-1,1.41E-1,1.21E-1,1.05E-1,
|
||||
3.33E-1,2.50E-1,1.95E-1,1.61E-1,1.36E-1,1.18E-1,1.03E-1,
|
||||
2.75E-1,2.18E-1,1.76E-1,1.48E-1,1.27E-1,1.11E-1,9.80E-2,
|
||||
2.04E-1,1.75E-1,1.50E-1,1.29E-1,1.13E-1,1.01E-1,9.00E-2,
|
||||
1.41E-1,1.31E-1,1.19E-1,1.08E-1,9.71E-2,8.88E-2,8.01E-2,
|
||||
9.32E-2,9.42E-2,9.10E-2,8.75E-2,8.00E-2,7.44E-2,6.91E-2,
|
||||
5.98E-2,6.52E-2,6.72E-2,6.62E-2,6.40E-2,6.12E-2,5.82E-2,
|
||||
3.83E-2,4.45E-2,4.80E-2,4.96E-2,4.98E-2,4.90E-2,4.77E-2,
|
||||
2.46E-2,3.01E-2,3.40E-2,3.65E-2,3.79E-2,3.84E-2,3.83E-2,
|
||||
1.59E-2,2.03E-2,2.39E-2,2.66E-2,2.85E-2,2.97E-2,3.04E-2,
|
||||
1.04E-2,1.37E-2,1.66E-2,1.92E-2,2.12E-2,2.27E-2,2.37E-2,
|
||||
4.39E-3,6.26E-3,8.26E-3,9.96E-3,1.15E-2,1.29E-2,1.41E-2,
|
||||
2.06E-3,3.02E-3,4.24E-3,5.28E-3,6.32E-3,7.32E-3,8.26E-3,
|
||||
1.21E-3,1.69E-3,2.24E-3,2.85E-3,3.50E-3,4.16E-3,4.82E-3,
|
||||
8.50E-4,1.10E-3,1.38E-3,1.65E-3,2.03E-3,2.45E-3,2.88E-3,
|
||||
5.90E-4,7.40E-4,8.50E-4,9.90E-4,1.23E-3,1.49E-3,1.71E-3,
|
||||
3.90E-4,4.60E-4,5.20E-4,6.30E-4,7.65E-4,9.65E-4,1.12E-3,
|
||||
2.40E-4,2.70E-4,3.10E-4,3.98E-4,4.97E-4,6.03E-4,7.18E-4,
|
||||
1.50E-4,1.70E-4,2.15E-4,2.70E-4,3.35E-4,4.35E-4,5.00E-4,
|
||||
1.00E-4,1.20E-4,1.46E-4,1.90E-4,2.40E-4,2.88E-4,3.43E-4,
|
||||
0.00 ,0.00 ,1.04E-4,1.41E-4,1.80E-4,2.10E-4,2.50E-4,
|
||||
0.00 ,0.00 ,8.20E-5,1.06E-4,1.38E-4,1.58E-4,1.85E-4,
|
||||
0.00 ,0.00 ,5.40E-5,7.00E-5,8.60E-5,1.03E-4,1.20E-4,
|
||||
0.00 ,0.00 ,4.20E-5,5.40E-5,6.50E-5,7.70E-5,8.80E-5
|
||||
};
|
||||
|
||||
double f2_A[25][9]=
|
||||
{
|
||||
3.52E+3, 3.27E+2, 9.08E+1, 3.85E+1, 2.00E+1, 1.18E+1, 7.55E+0, 5.16E+0, 3.71E+0,
|
||||
2.58E+2, 1.63E+2, 7.30E+1, 3.42E+1, 1.85E+1, 1.11E+1, 7.18E+0, 4.96E+0, 3.59E+0,
|
||||
-1.12E+2, 4.84E+0, 3.56E+1, 2.34E+1, 1.45E+1, 9.33E+0, 6.37E+0, 4.51E+0, 3.32E+0,
|
||||
-5.60E+1,-1.12E+1, 9.87E+0, 1.24E+1, 9.59E+0, 7.01E+0, 5.16E+0, 3.83E+0, 2.91E+0,
|
||||
-2.13E+1,-1.22E+1,-2.23E+0, 3.88E+0, 5.15E+0, 4.65E+0, 3.87E+0, 3.12E+0, 2.45E+0,
|
||||
-8.25E+0,-9.58E+0,-5.59E+0,-1.40E+0, 1.76E+0, 2.71E+0, 2.71E+0, 2.35E+0, 1.95E+0,
|
||||
-3.22E+0,-6.12E+0,-5.28E+0,-2.87E+0,-1.92E-1, 1.32E+0, 1.69E+0, 1.74E+0, 1.48E+0,
|
||||
-1.11E+0,-3.40E+0,-4.12E+0,-3.08E+0,-6.30E-1, 3.60E-1, 9.20E-1, 1.03E+0, 1.04E+0,
|
||||
-2.27E-1,-2.00E+0,-2.93E+0,-2.69E+0,-1.48E+0,-3.14E-1, 2.69E-1, 5.28E-1, 6.09E-1,
|
||||
1.54E-1,-1.09E+0,-2.10E+0,-2.15E+0,-1.47E+0,-6.77E-1,-1.80E-1, 1.08E-1, 2.70E-1,
|
||||
3.28E-1,-6.30E-1,-1.50E+0,-1.68E+0,-1.34E+0,-8.43E-1,-4.60E-1,-1.85E-1,-4.67E-3,
|
||||
3.32E-1,-2.06E-1,-7.32E-1,-9.90E-1,-9.42E-1,-8.20E-1,-6.06E-1,-4.51E-1,-3.01E-1,
|
||||
2.72E-1,-3.34E-2,-3.49E-1,-5.65E-1,-6.03E-1,-5.79E-1,-5.05E-1,-4.31E-1,-3.45E-1,
|
||||
2.02E-1, 2.80E-2,-1.54E-1,-3.00E-1,-3.59E-1,-3.76E-1,-4.60E-1,-3.40E-1,-3.08E-1,
|
||||
1.38E-1, 4.84E-2,-5.56E-2,-1.44E-1,-2.04E-1,-2.39E-1,-2.54E-1,-2.49E-1,-2.48E-1,
|
||||
9.47E-2, 4.86E-2,-1.08E-2,-6.44E-2,-1.02E-1,-1.34E-1,-1.62E-1,-1.79E-1,-1.87E-1,
|
||||
5.33E-2, 3.71E-2, 1.85E-2, 1.63E-3,-1.69E-2,-3.69E-2,-5.66E-2,-7.78E-2,-9.33E-2,
|
||||
3.38E-2, 2.40E-2, 1.62E-2, 9.90E-3, 3.76E-3,-4.93E-3,-1.66E-2,-3.05E-2,-4.22E-2,
|
||||
2.12E-2, 1.56E-2, 1.05E-2, 7.80E-3, 7.92E-3, 6.30E-3, 3.20E-4,-8.50E-3,-1.66E-2,
|
||||
1.40E-2, 9.20E-3, 5.30E-3, 4.70E-3, 6.31E-3, 8.40E-3, 5.30E-3, 8.80E-4,-3.30E-3,
|
||||
9.20E-3, 4.70E-3, 1.70E-3, 2.60E-3, 4.49E-3, 6.60E-3, 6.00E-3, 4.70E-3, 2.80E-3,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00
|
||||
};
|
||||
|
||||
double f2_B[24][9]=
|
||||
{
|
||||
2.75E+0, 1.94E+0, 9.13E-1, 6.06E-1, 4.26E-1, 3.14E-1, 2.40E-1, 1.51E-1, 1.03E-1,
|
||||
1.94E+0, 1.16E+0, 7.56E-1, 5.26E-1, 3.81E-1, 2.87E-1, 2.23E-1, 1.43E-1, 9.78E-2,
|
||||
5.85E-1, 5.04E-1, 4.10E-1, 3.30E-1, 2.69E-1, 2.17E-1, 1.78E-1, 1.22E-1, 8.71E-2,
|
||||
7.83E-2, 2.00E-1, 2.35E-1, 2.19E-1, 1.97E-1, 1.73E-1, 1.48E-1, 1.08E-1, 7.93E-2,
|
||||
-1.82E-1, 1.56E-2, 1.04E-1, 1.36E-1, 1.38E-1, 1.31E-1, 1.19E-1, 9.46E-2, 7.19E-2,
|
||||
-2.71E-1,-1.66E-1,-7.29E-2,-4.74E-3, 3.60E-2, 5.50E-2, 6.28E-2, 5.98E-2, 5.09E-2,
|
||||
-1.87E-1,-1.58E-1,-1.09E-1,-5.80E-2,-2.03E-2, 2.48E-3, 1.99E-2, 3.36E-2, 3.27E-2,
|
||||
-1.01E-1,-1.05E-1,-8.95E-2,-6.63E-2,-3.93E-2,-2.38E-2,-9.22E-3, 8.47E-3, 1.52E-2,
|
||||
-5.19E-2,-6.47E-2,-6.51E-2,-5.62E-2,-4.51E-2,-3.49E-2,-2.45E-2,-8.19E-3, 2.05E-3,
|
||||
-3.68E-2,-4.89E-2,-5.36E-2,-5.06E-2,-4.27E-2,-3.65E-2,-2.80E-2,-1.33E-2,-3.47E-3,
|
||||
-2.33E-2,-3.69E-2,-4.41E-2,-4.38E-2,-3.97E-2,-3.50E-2,-2.88E-2,-1.60E-2,-6.68E-3,
|
||||
-8.76E-3,-2.07E-2,-2.90E-2,-3.17E-2,-3.09E-2,-2.92E-2,-2.63E-2,-1.79E-2,-1.03E-2,
|
||||
-1.20E-3,-1.11E-2,-1.90E-2,-2.20E-2,-2.32E-2,-2.24E-2,-2.10E-2,-1.66E-2,-1.11E-2,
|
||||
1.72E-3,-4.82E-3,-1.02E-2,-1.42E-2,-1.65E-2,-1.66E-2,-1.60E-2,-1.39E-2,-1.09E-2,
|
||||
2.68E-3,-1.18E-3,-5.19E-3,-8.30E-5,-1.01E-2,-1.14E-2,-1.16E-2,-1.16E-2,-9.99E-3,
|
||||
2.81E-3, 8.21E-4,-1.96E-3,-3.99E-3,-5.89E-3,-7.13E-3,-8.15E-3,-9.05E-3,-8.60E-3,
|
||||
2.61E-3, 1.35E-3,-2.99E-4,-1.79E-3,-3.12E-3,-4.44E-3,-5.61E-3,-7.01E-3,-7.27E-3,
|
||||
2.06E-3, 1.45E-3, 4.64E-4,-5.97E-4,-1.71E-3,-2.79E-3,-3.84E-3,-5.29E-3,-5.90E-3,
|
||||
1.07E-3, 9.39E-4, 8.22E-4, 3.58E-4,-1.15E-4,-6.60E-4,-1.18E-3,-2.15E-3,-2.88E-3,
|
||||
4.97E-4, 5.46E-4, 6.15E-4, 5.56E-4, 3.14E-4, 9.80E-5,-1.30E-4,-5.98E-4,-1.07E-4,
|
||||
1.85E-4, 3.11E-4, 4.25E-4, 4.08E-4, 3.63E-4, 3.04E-4, 2.24E-4, 2.80E-5,-2.10E-4,
|
||||
4.80E-5, 1.48E-4, 2.44E-4, 2.80E-4, 3.01E-4, 3.11E-4, 3.13E-4, 2.40E-4, 1.10E-4,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 1.39E-4, 1.80E-4, 1.80E-4,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 4.38E-5, 7.30E-5, 8.40E-5
|
||||
};
|
||||
|
||||
double f2_C[24][7]=
|
||||
{
|
||||
7.36E-2, 4.21E-2, 2.69E-2, 1.83E-2, 1.34E-2, 1.01E-2, 7.88E-3,
|
||||
5.79E-2, 3.61E-2, 2.34E-2, 1.64E-2, 1.21E-2, 9.26E-3, 7.28E-3,
|
||||
2.94E-2, 2.17E-2, 1.60E-2, 1.23E-2, 9.49E-3, 7.45E-3, 5.95E-3,
|
||||
2.30E-3, 7.07E-3, 7.76E-3, 7.02E-3, 6.13E-3, 5.17E-3, 4.34E-3,
|
||||
-7.50E-3,-2.00E-3, 9.93E-4, 2.36E-3, 2.82E-3, 2.86E-3, 2.72E-3,
|
||||
8.27E-3,-5.37E-3,-2.58E-3,-7.96E-4, 3.75E-4, 9.71E-4, 1.28E-3,
|
||||
-5.79E-3,-5.12E-3,-3.86E-3,-2.46E-3,-1.20E-3,-3.74E-4, 1.74E-4,
|
||||
-3.26E-3,-3.43E-3,-3.26E-3,-2.68E-3,-1.84E-3,-1.12E-3,-4.54E-4,
|
||||
-1.46E-3,-1.49E-3,-2.20E-3,-2.18E-3,-1.85E-3,-1.40E-3,-8.15E-4,
|
||||
-4.29E-4,-9.44E-4,-1.29E-3,-1.50E-3,-1.51E-3,-1.36E-3,-9.57E-4,
|
||||
-3.30E-5,-3.66E-4,-6.78E-4,-9.38E-4,-1.09E-3,-1.09E-3,-9.56E-4,
|
||||
1.50E-4, 3.10E-5,-1.38E-4,-3.06E-4,-4.67E-4,-5.48E-4,-6.08E-4,
|
||||
1.00E-4, 8.50E-5, 2.30E-5,-6.60E-5,-1.58E-4,-2.40E-4,-3.05E-4,
|
||||
5.40E-5, 6.50E-5, 4.90E-5, 1.20E-5,-3.60E-5,-8.90E-5,-1.31E-4,
|
||||
2.90E-5, 4.30E-5, 4.40E-5, 2.90E-5, 5.10E-6,-2.20E-5,-4.80E-5,
|
||||
1.40E-5, 2.40E-5, 2.80E-5, 2.60E-5, 1.90E-5, 7.50E-6,-1.10E-5,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
//Bestimme, welche Reihen der Tabellen fuer Interpolation benoetigt werden:
|
||||
|
||||
if (tau<tau_[0])
|
||||
{
|
||||
std::cout<< "tau is less than the lowest tabulated value:"<<std::endl;
|
||||
std::cout<<"tau = "<<tau<<std::endl;
|
||||
std::cout<<"minimum = "<<tau_[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (tau>tau_[nColumn])
|
||||
{
|
||||
std::cout<<"tau is greater than the highest tabulated value:"<<std::endl;
|
||||
std::cout<<"tau = "<<tau<<std::endl;
|
||||
std::cout <<"maximum = "<<tau_[nColumn]<<std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
column_ = 0;
|
||||
do
|
||||
{
|
||||
if(tau>tau_[column_])// TAO IF LOOP NOT GET THE CORRECT COLUNM INTERPOLATION
|
||||
{
|
||||
column_ = column_ + 1;
|
||||
}
|
||||
}while (tau>tau_[column_]);
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"column= " << column_ <<std::endl;
|
||||
std::cout<<"tau c " << tau_[column_] <<std::endl;
|
||||
std::cout<<"tau c-1 " << tau_[column_-1] <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Das Gewicht der Reihe zu groesserem Tau:
|
||||
if(column==0)
|
||||
{
|
||||
weightCol=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
weightCol = (tau-tau_[column_-1]) / (tau_[column_]-tau_[column_-1]);
|
||||
}
|
||||
|
||||
|
||||
//Besorge fuer gegebenes 'thetaSchlange' die interpolierten f1- und f2 -Werte
|
||||
//der beiden relevanten Reihen:
|
||||
//iColumn = 1 => Reihe mit hoeherem Index
|
||||
//iColumn = 2 => Reihe mit kleinerem Index
|
||||
|
||||
|
||||
iColumn = 1;
|
||||
|
||||
// 5 continue;
|
||||
do{
|
||||
|
||||
if (column_<=8)
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//! Werte aus 1. Tabelle: 0.2 <= tau <= 1.8
|
||||
|
||||
column = column_;
|
||||
// std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeA[0])
|
||||
{
|
||||
std::cout<<"thetaSchlange is less than the lowest tabulated value in table 1:"<<std::endl;
|
||||
std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<<"minimum = "<<thetaSchlangeA[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeA[nRowA])
|
||||
{
|
||||
std::cout<<"thetaSchlange is greater than the highest tabulated value in table 1:"<<std::endl;
|
||||
std::cout<<"thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<<"maximum = "<<thetaSchlangeA[nRowA]<<std::endl;
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if (thetaSchlange>thetaSchlangeA[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
}while (thetaSchlange>thetaSchlangeA[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
//! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_A[row][column];
|
||||
f2_[iColumn] = weightRow * f2_A[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeA[row-1]) /
|
||||
(thetaSchlangeA[row]-thetaSchlangeA[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_A[row-1][column] +
|
||||
weightRow * f1_A[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_A[row-1][column] +
|
||||
weightRow * f2_A[row][column];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
else if (column_>8&&column_<=17)
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//! Werte aus 2. Tabelle: 2.0 <= tau <= 7.0
|
||||
|
||||
column = column_ - 9;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeB[0])
|
||||
{
|
||||
std::cout<< "thetaSchlange is less than the lowest tabulated value in table 2:"<<std::endl;
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<< "minimum = "<<thetaSchlangeB[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeB[nRowB])
|
||||
{
|
||||
std::cout<< "thetaSchlange is greater than the highest tabulated value in table 2:";
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange;
|
||||
std::cout<< "maximum = "<<thetaSchlangeB[nRowB];
|
||||
// call exit
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if(thetaSchlange>thetaSchlangeB[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
} while (thetaSchlange>thetaSchlangeB[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_B[row][column];
|
||||
f2_[iColumn] = weightRow * f2_B[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeB[row-1]) /
|
||||
(thetaSchlangeB[row]-thetaSchlangeB[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_B[row-1][column] +
|
||||
weightRow * f1_B[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_B[row-1][column] +
|
||||
weightRow * f2_B[row][column];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
else
|
||||
{
|
||||
//! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// ! Werte aus 3. Tabelle: 8.0 <= tau <= 20.
|
||||
|
||||
column = column_ - 18;
|
||||
|
||||
if (thetaSchlange<thetaSchlangeC[0])
|
||||
{
|
||||
std::cout<< "thetaSchlange is less than the lowest tabulated value in table 3:"<<std::endl;
|
||||
std::cout<< "thetaSchlange = "<<thetaSchlange<<std::endl;
|
||||
std::cout<< "minimum = "<<thetaSchlangeC[0]<<std::endl;
|
||||
return;
|
||||
}
|
||||
else if (thetaSchlange>thetaSchlangeC[nRowC])
|
||||
{
|
||||
std::cout<< "thetaSchlange is greater than the highest tabulated value in table 3:";
|
||||
std::cout<< "\n thetaSchlange = ",thetaSchlange;
|
||||
std::cout<< "\n maximum = ",thetaSchlangeC[nRowC];
|
||||
thetaSchlange = -1.;
|
||||
return;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
do
|
||||
{
|
||||
if(thetaSchlange>thetaSchlangeC[row])
|
||||
{
|
||||
row = row + 1;
|
||||
}
|
||||
}while (thetaSchlange>thetaSchlangeC[row]);
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"row= " << row <<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
// ! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
|
||||
if(row==0)
|
||||
{
|
||||
weightRow=1;
|
||||
f1_[iColumn] = weightRow * f1_C[row][column];
|
||||
f2_[iColumn] = weightRow * f2_C[row][column];
|
||||
}
|
||||
else
|
||||
{
|
||||
weightRow = (thetaSchlange-thetaSchlangeC[row-1]) /
|
||||
(thetaSchlangeC[row]-thetaSchlangeC[row-1]);
|
||||
|
||||
f1_[iColumn] = (1.-weightRow) * f1_C[row-1][column] +
|
||||
weightRow * f1_C[row][column];
|
||||
f2_[iColumn] = (1.-weightRow) * f2_C[row-1][column] +
|
||||
weightRow * f2_C[row][column];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"f1_[iColumn]= " << f1_[iColumn] <<std::endl;
|
||||
std::cout<<"f2_[iColumn]= " << f2_[iColumn] <<std::endl;
|
||||
|
||||
std::cout<<"wc: "<<weightCol<<std::endl;
|
||||
std::cout<<"wr: "<<weightRow<<std::endl;
|
||||
std::cout<<"icol: "<<iColumn<<std::endl;
|
||||
#endif
|
||||
|
||||
iColumn++ ;
|
||||
|
||||
}while(iColumn<=2);
|
||||
|
||||
|
||||
#ifdef DEBUGMEYER
|
||||
std::cout<<"f1: "<<*f1<<std::endl;
|
||||
std::cout<<"f2: "<<*f2<<std::endl;
|
||||
#endif
|
||||
|
||||
|
||||
*f1 = weightCol*f1_[1] + (1.-weightCol)*f1_[2];
|
||||
*f2 = weightCol*f2_[1] + (1.-weightCol)*f2_[2];
|
||||
|
||||
}
|
||||
|
||||
|
||||
//========================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*-
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rHelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
*/
|
364
geant4/TaoLEMuSR/MEYER/meyer.for
Normal file
364
geant4/TaoLEMuSR/MEYER/meyer.for
Normal file
@ -0,0 +1,364 @@
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
c Konstanten und Variable fuer Berechnung der Winkelaufstreuung in Triggerfolie
|
||||
c mittels Meyer-Formel (L.Meyer, phys.stat.sol. (b) 44, 253 (1971)):
|
||||
|
||||
real g1, g2 ! Tabellierte Funktionen der Referenz
|
||||
real effRedThick ! effektive reduzierte Dicke ('tau' der Referenz)
|
||||
|
||||
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
real HWHM2sigma ! Umrechnungsfaktor von (halber!) Halbwertsbreite
|
||||
! nach Sigma der Gaussfunktion
|
||||
|
||||
real Na ! die Avogadrokonstante
|
||||
real mMolC ! molare Masse von C in ug
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
parameter (Z1 = 1, Z2 = 6, a0 = 5.29E-9, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10, HWHM2sigma = 1./1.17741)
|
||||
parameter (Na = 6.022e23, mMolC = 12.011e6, Pi = 3.141592654)
|
||||
|
||||
|
||||
c - Bei der Berechnung von Sigma auftretende Vorfaktoren.
|
||||
c (Meyer_faktor 1 wird benoetigt fuer Berechnung der reduzierten Dicke aus der
|
||||
c 'ug/cm2'-Angabe der Foliendicke. Meyer_faktor2 und Meyer_faktor3 werden
|
||||
c direkt fuer die Berechnung von sigma aus den beiden tabellierten Funktionen
|
||||
c g1 und g2 verwendet):
|
||||
|
||||
real Meyer_Faktor1, Meyer_Faktor2, Meyer_Faktor3
|
||||
|
||||
parameter (Meyer_faktor1 = Pi*screeningPar*screeningPar * Na/mMolC)
|
||||
! Na/mMolC = 1/m(C-Atom)
|
||||
parameter (Meyer_faktor2 = (2*Z1*Z2 * eSquare)/ScreeningPar * 180./Pi
|
||||
+ * HWHM2sigma)
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
c Kommentar zur Berechnung der Winkelaufstreuung nach Meyer:
|
||||
c
|
||||
c Als Bedingung fuer die Gueltigkeit der Rechnung wird verlangt, dass
|
||||
c
|
||||
c (1) die Anzahl n der Stoesse >> 20*(a/r0)^(4/3) sein muss. Fuer Protonen auf
|
||||
c Graphit ist laut Referenz a/r0 gleich 0.26 (mit Dichte von 3.5 g/ccm habe
|
||||
c ich einen Wert von 0.29 abgeschaetzt). Fuer Myonen hat man den selben
|
||||
c Wert zu nehmen. Damit ergibt sich die Forderung, dass n >> 3.5 sein muss.
|
||||
c
|
||||
c (2) unabhaengig von (1) n >> 5 sein muss, was (1) also mit einschliesst.
|
||||
c
|
||||
c Mit n = Pi*r0*r0*Teilchen/Flaeche ergibt sich fuer eine Foliendicke von
|
||||
c 3 ug/cm^2 als Abschaetzung fuer n ein Wert von 37. (r0 ueber r0 = 0.5 N^(1/3)
|
||||
c und 3.5 g/ccm zu 8.9e-9 cm abgeschaetzt). D.h., dass die Bedingungen in
|
||||
c unserem Fall gut erfuellt sind.
|
||||
c In dem Paper wird eine Formel fuer Halbwertsbreiten angegeben. Ich habe nicht
|
||||
c kontrolliert, in wie weit die Form der Verteilung tatsaechlich einer Gauss-
|
||||
c verteilung entspricht. Zumindest im Bereich der Vorwaertsstreuung sollte
|
||||
c die in diesem Programm verwendete Gaussverteilung aber eine sehr gute
|
||||
c Naeherung abgeben. Abweichungen bei groesseren Winkeln koennten jedoch u. U.
|
||||
c die absolute Streuintensitaet in Vorwaertsrichtung verfaelschen.
|
||||
|
||||
czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
||||
c HIER GEHT DER PROGRAMMTEXT RICHTIG LOS
|
||||
czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine Get_F_Function_Meyer(tau,Ekin)
|
||||
c =========================================
|
||||
|
||||
implicit none
|
||||
|
||||
real tau
|
||||
real Ekin
|
||||
|
||||
real thetaSchlange,thetaSchlangeMax
|
||||
real theta,thetaMax,thetaStep
|
||||
real f1,f2,F
|
||||
|
||||
|
||||
c------------------------------------
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
c real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
c parameter (a0 = 5.29E-9)
|
||||
parameter (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10)
|
||||
parameter (Pi = 3.141592654)
|
||||
|
||||
real Meyer_Faktor3
|
||||
real Meyer_Faktor4
|
||||
real zzz ! 'Hilfsparameter'
|
||||
real Meyer_Faktor5
|
||||
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
parameter (Meyer_faktor4 = screeningPar / (2.*Z1*Z2*eSquare) * Pi/180.)
|
||||
parameter (zzz = screeningPar / (2.*Z1*Z2*eSquare))
|
||||
parameter (Meyer_faktor5 = zzz*zzz / (8*Pi*Pi))
|
||||
|
||||
c------------------------------------
|
||||
|
||||
integer nBin,nBinMax
|
||||
parameter (nBinMax=201)
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
integer i
|
||||
real rhelp
|
||||
|
||||
integer HB_memsize
|
||||
parameter(HB_memsize=500000)
|
||||
real memory(HB_memsize)
|
||||
COMMON /PAWC/ memory
|
||||
|
||||
|
||||
c nur noch fuer Testzwecke:
|
||||
|
||||
real fValues(203)
|
||||
real fValuesFolded(203)
|
||||
|
||||
integer idh
|
||||
parameter (idh = 50)
|
||||
|
||||
INCLUDE 'mutrack$sourcedirectory:COM_DIRS.INC'
|
||||
character filename*20 ! Name der Ausgabe-Dateien
|
||||
COMMON /filename/ filename
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau.LT.0.2) then
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
elseif (tau.LE.2.) then
|
||||
! => Tabelle A
|
||||
thetaSchlangeMax = 4.0
|
||||
elseif (tau.LE.8.) then
|
||||
! => Tabelle B
|
||||
thetaSchlangeMax = 7.0
|
||||
elseif (tau.LE.20.) then
|
||||
! => Tabelle C
|
||||
thetaSchlangeMax = 20.0
|
||||
else
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
endif
|
||||
|
||||
thetaMax = thetaSchlangeMax / Meyer_Faktor4 / Ekin
|
||||
if (thetaMax.GT.50) then
|
||||
thetaStep = .5
|
||||
elseif (thetaMax.GT.25) then
|
||||
thetaStep = .25
|
||||
elseif (thetaMax.GT.12.5) then
|
||||
thetaStep = .125
|
||||
else
|
||||
thetaStep = .0625
|
||||
endif
|
||||
|
||||
|
||||
c Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0
|
||||
do theta = thetaStep, thetaMax, thetaStep
|
||||
|
||||
! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta
|
||||
|
||||
! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
call F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
if (thetaSchlange.EQ.-1) then
|
||||
! wir sind jenseits von thetaSchlangeMax
|
||||
goto 10
|
||||
endif
|
||||
|
||||
! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
|
||||
nBin = nBin + 1
|
||||
if (nBin.GT.nBinMax) then
|
||||
write(*,*) 'nBin > nBinMax => EXIT'
|
||||
call exit
|
||||
endif
|
||||
value(nBin) = sind(theta)*F
|
||||
|
||||
fValues(nBin+1) = F ! fuer Testzwecke
|
||||
fValuesFolded(nBin+1) = sind(theta)*F ! fuer Testzwecke
|
||||
|
||||
enddo
|
||||
|
||||
|
||||
c Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
10 do i = 1, nBin
|
||||
area(i) = (value(i)+value(i-1))/2. * thetaStep
|
||||
integ(i) = integ(i-1) + area(i)
|
||||
enddo
|
||||
|
||||
|
||||
c Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ(nBin)
|
||||
do i = 1, nBin
|
||||
value(i) = value(i) / rHelp
|
||||
area(i) = area(i) / rHelp
|
||||
integ(i) = integ(i) / rHelp
|
||||
enddo
|
||||
|
||||
|
||||
c vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
! Berechne die Werte fuer theta=0:
|
||||
|
||||
call F_Functions_Meyer(tau,0.,f1,f2)
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
fValues(1) = F
|
||||
fValuesFolded(1) = 0.
|
||||
|
||||
! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
c theta = 0.
|
||||
c open (10,file=outDir//':'//filename//'.TAB',status='NEW')
|
||||
c do i = 1, nBin+1
|
||||
c write(10,*) theta, fValues(i), fValuesFolded(i)
|
||||
c theta = theta + thetaStep
|
||||
c enddo
|
||||
c close (10)
|
||||
|
||||
|
||||
! Buchen und Fuellen der Histogramme:
|
||||
|
||||
call HBOOK1(idh,'F',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh,fValues)
|
||||
call HRPUT(idh,outDir//':'//filename//'.RZ','N')
|
||||
call HDELET(idh)
|
||||
|
||||
call HBOOK1(idh+1,'F*sin([q])',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh+1,fValuesFolded)
|
||||
call HRPUT(idh+1,outDir//':'//filename//'.RZ','U')
|
||||
call HDELET(idh+1)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rhelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
c =====================================================
|
||||
|
||||
implicit none
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
c Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
c bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
c verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
c L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
real tau,thetaSchlange
|
||||
real f1, f2, f1_(2), f2_(2)
|
||||
|
||||
integer column_,column,row
|
||||
|
||||
integer iColumn
|
||||
real weightCol, weightRow
|
||||
|
||||
c-------------------------------------------------------------------------------
|
367
geant4/TaoLEMuSR/MEYER/meyer.for~
Normal file
367
geant4/TaoLEMuSR/MEYER/meyer.for~
Normal file
@ -0,0 +1,367 @@
|
||||
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
|
||||
;; If you want to create a file, visit that file with C-x C-f,
|
||||
;; then enter the text in that file's own buffer.
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
c Konstanten und Variable fuer Berechnung der Winkelaufstreuung in Triggerfolie
|
||||
c mittels Meyer-Formel (L.Meyer, phys.stat.sol. (b) 44, 253 (1971)):
|
||||
|
||||
real g1, g2 ! Tabellierte Funktionen der Referenz
|
||||
real effRedThick ! effektive reduzierte Dicke ('tau' der Referenz)
|
||||
|
||||
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
real HWHM2sigma ! Umrechnungsfaktor von (halber!) Halbwertsbreite
|
||||
! nach Sigma der Gaussfunktion
|
||||
|
||||
real Na ! die Avogadrokonstante
|
||||
real mMolC ! molare Masse von C in ug
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
parameter (Z1 = 1, Z2 = 6, a0 = 5.29E-9, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10, HWHM2sigma = 1./1.17741)
|
||||
parameter (Na = 6.022e23, mMolC = 12.011e6, Pi = 3.141592654)
|
||||
|
||||
|
||||
c - Bei der Berechnung von Sigma auftretende Vorfaktoren.
|
||||
c (Meyer_faktor 1 wird benoetigt fuer Berechnung der reduzierten Dicke aus der
|
||||
c 'ug/cm2'-Angabe der Foliendicke. Meyer_faktor2 und Meyer_faktor3 werden
|
||||
c direkt fuer die Berechnung von sigma aus den beiden tabellierten Funktionen
|
||||
c g1 und g2 verwendet):
|
||||
|
||||
real Meyer_Faktor1, Meyer_Faktor2, Meyer_Faktor3
|
||||
|
||||
parameter (Meyer_faktor1 = Pi*screeningPar*screeningPar * Na/mMolC)
|
||||
! Na/mMolC = 1/m(C-Atom)
|
||||
parameter (Meyer_faktor2 = (2*Z1*Z2 * eSquare)/ScreeningPar * 180./Pi
|
||||
+ * HWHM2sigma)
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
c Kommentar zur Berechnung der Winkelaufstreuung nach Meyer:
|
||||
c
|
||||
c Als Bedingung fuer die Gueltigkeit der Rechnung wird verlangt, dass
|
||||
c
|
||||
c (1) die Anzahl n der Stoesse >> 20*(a/r0)^(4/3) sein muss. Fuer Protonen auf
|
||||
c Graphit ist laut Referenz a/r0 gleich 0.26 (mit Dichte von 3.5 g/ccm habe
|
||||
c ich einen Wert von 0.29 abgeschaetzt). Fuer Myonen hat man den selben
|
||||
c Wert zu nehmen. Damit ergibt sich die Forderung, dass n >> 3.5 sein muss.
|
||||
c
|
||||
c (2) unabhaengig von (1) n >> 5 sein muss, was (1) also mit einschliesst.
|
||||
c
|
||||
c Mit n = Pi*r0*r0*Teilchen/Flaeche ergibt sich fuer eine Foliendicke von
|
||||
c 3 ug/cm^2 als Abschaetzung fuer n ein Wert von 37. (r0 ueber r0 = 0.5 N^(1/3)
|
||||
c und 3.5 g/ccm zu 8.9e-9 cm abgeschaetzt). D.h., dass die Bedingungen in
|
||||
c unserem Fall gut erfuellt sind.
|
||||
c In dem Paper wird eine Formel fuer Halbwertsbreiten angegeben. Ich habe nicht
|
||||
c kontrolliert, in wie weit die Form der Verteilung tatsaechlich einer Gauss-
|
||||
c verteilung entspricht. Zumindest im Bereich der Vorwaertsstreuung sollte
|
||||
c die in diesem Programm verwendete Gaussverteilung aber eine sehr gute
|
||||
c Naeherung abgeben. Abweichungen bei groesseren Winkeln koennten jedoch u. U.
|
||||
c die absolute Streuintensitaet in Vorwaertsrichtung verfaelschen.
|
||||
|
||||
czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
||||
c HIER GEHT DER PROGRAMMTEXT RICHTIG LOS
|
||||
czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine Get_F_Function_Meyer(tau,Ekin)
|
||||
c =========================================
|
||||
|
||||
implicit none
|
||||
|
||||
real tau
|
||||
real Ekin
|
||||
|
||||
real thetaSchlange,thetaSchlangeMax
|
||||
real theta,thetaMax,thetaStep
|
||||
real f1,f2,F
|
||||
|
||||
|
||||
c------------------------------------
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
c real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
c parameter (a0 = 5.29E-9)
|
||||
parameter (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10)
|
||||
parameter (Pi = 3.141592654)
|
||||
|
||||
real Meyer_Faktor3
|
||||
real Meyer_Faktor4
|
||||
real zzz ! 'Hilfsparameter'
|
||||
real Meyer_Faktor5
|
||||
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
parameter (Meyer_faktor4 = screeningPar / (2.*Z1*Z2*eSquare) * Pi/180.)
|
||||
parameter (zzz = screeningPar / (2.*Z1*Z2*eSquare))
|
||||
parameter (Meyer_faktor5 = zzz*zzz / (8*Pi*Pi))
|
||||
|
||||
c------------------------------------
|
||||
|
||||
integer nBin,nBinMax
|
||||
parameter (nBinMax=201)
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
integer i
|
||||
real rhelp
|
||||
|
||||
integer HB_memsize
|
||||
parameter(HB_memsize=500000)
|
||||
real memory(HB_memsize)
|
||||
COMMON /PAWC/ memory
|
||||
|
||||
|
||||
c nur noch fuer Testzwecke:
|
||||
|
||||
real fValues(203)
|
||||
real fValuesFolded(203)
|
||||
|
||||
integer idh
|
||||
parameter (idh = 50)
|
||||
|
||||
INCLUDE 'mutrack$sourcedirectory:COM_DIRS.INC'
|
||||
character filename*20 ! Name der Ausgabe-Dateien
|
||||
COMMON /filename/ filename
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau.LT.0.2) then
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
elseif (tau.LE.2.) then
|
||||
! => Tabelle A
|
||||
thetaSchlangeMax = 4.0
|
||||
elseif (tau.LE.8.) then
|
||||
! => Tabelle B
|
||||
thetaSchlangeMax = 7.0
|
||||
elseif (tau.LE.20.) then
|
||||
! => Tabelle C
|
||||
thetaSchlangeMax = 20.0
|
||||
else
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
endif
|
||||
|
||||
thetaMax = thetaSchlangeMax / Meyer_Faktor4 / Ekin
|
||||
if (thetaMax.GT.50) then
|
||||
thetaStep = .5
|
||||
elseif (thetaMax.GT.25) then
|
||||
thetaStep = .25
|
||||
elseif (thetaMax.GT.12.5) then
|
||||
thetaStep = .125
|
||||
else
|
||||
thetaStep = .0625
|
||||
endif
|
||||
|
||||
|
||||
c Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0
|
||||
do theta = thetaStep, thetaMax, thetaStep
|
||||
|
||||
! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta
|
||||
|
||||
! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
call F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
if (thetaSchlange.EQ.-1) then
|
||||
! wir sind jenseits von thetaSchlangeMax
|
||||
goto 10
|
||||
endif
|
||||
|
||||
! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
|
||||
nBin = nBin + 1
|
||||
if (nBin.GT.nBinMax) then
|
||||
write(*,*) 'nBin > nBinMax => EXIT'
|
||||
call exit
|
||||
endif
|
||||
value(nBin) = sind(theta)*F
|
||||
|
||||
fValues(nBin+1) = F ! fuer Testzwecke
|
||||
fValuesFolded(nBin+1) = sind(theta)*F ! fuer Testzwecke
|
||||
|
||||
enddo
|
||||
|
||||
|
||||
c Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
10 do i = 1, nBin
|
||||
area(i) = (value(i)+value(i-1))/2. * thetaStep
|
||||
integ(i) = integ(i-1) + area(i)
|
||||
enddo
|
||||
|
||||
|
||||
c Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ(nBin)
|
||||
do i = 1, nBin
|
||||
value(i) = value(i) / rHelp
|
||||
area(i) = area(i) / rHelp
|
||||
integ(i) = integ(i) / rHelp
|
||||
enddo
|
||||
|
||||
|
||||
c vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
! Berechne die Werte fuer theta=0:
|
||||
|
||||
call F_Functions_Meyer(tau,0.,f1,f2)
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
fValues(1) = F
|
||||
fValuesFolded(1) = 0.
|
||||
|
||||
! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
c theta = 0.
|
||||
c open (10,file=outDir//':'//filename//'.TAB',status='NEW')
|
||||
c do i = 1, nBin+1
|
||||
c write(10,*) theta, fValues(i), fValuesFolded(i)
|
||||
c theta = theta + thetaStep
|
||||
c enddo
|
||||
c close (10)
|
||||
|
||||
|
||||
! Buchen und Fuellen der Histogramme:
|
||||
|
||||
call HBOOK1(idh,'F',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh,fValues)
|
||||
call HRPUT(idh,outDir//':'//filename//'.RZ','N')
|
||||
call HDELET(idh)
|
||||
|
||||
call HBOOK1(idh+1,'F*sin([q])',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh+1,fValuesFolded)
|
||||
call HRPUT(idh+1,outDir//':'//filename//'.RZ','U')
|
||||
call HDELET(idh+1)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rhelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
c =====================================================
|
||||
|
||||
implicit none
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
c Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
c bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
c verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
c L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
real tau,thetaSchlange
|
||||
real f1, f2, f1_(2), f2_(2)
|
||||
|
||||
integer column_,column,row
|
||||
|
||||
integer iColumn
|
||||
real weightCol, weightRow
|
||||
|
||||
c-------------------------------------------------------------------------------
|
27
geant4/TaoLEMuSR/MEYER/meyer.h
Normal file
27
geant4/TaoLEMuSR/MEYER/meyer.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef meyer_h
|
||||
#define meyer_h 1
|
||||
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <ios>
|
||||
|
||||
|
||||
class meyer
|
||||
{
|
||||
public:
|
||||
meyer();
|
||||
~meyer();
|
||||
|
||||
|
||||
void GFunctions(double*, double*, double);
|
||||
void Get_F_Function_Meyer(double tau, double Ekin, double Z1, double Z2, double m1, double m2);
|
||||
void F_Functions_Meyer( double tau,double thetaSchlange,double *f1,double *f2);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
27
geant4/TaoLEMuSR/MEYER/meyer.h~
Normal file
27
geant4/TaoLEMuSR/MEYER/meyer.h~
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef meyer_h
|
||||
#define meyer_h 1
|
||||
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <ios>
|
||||
|
||||
|
||||
class meyer
|
||||
{
|
||||
public:
|
||||
meyer();
|
||||
~meyer();
|
||||
|
||||
|
||||
void GFunctions(double*, double*, double);
|
||||
void Get_F_Function_Meyer(double tau, double Ekin);
|
||||
void F_Functions_Meyer( double tau,double thetaSchlange,double *f1,double *f2);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
1
geant4/TaoLEMuSR/MEYER/mk.sh
Normal file
1
geant4/TaoLEMuSR/MEYER/mk.sh
Normal file
@ -0,0 +1 @@
|
||||
g++ testmeyer.cc meyer.cc
|
698
geant4/TaoLEMuSR/MEYER/mtest.for
Normal file
698
geant4/TaoLEMuSR/MEYER/mtest.for
Normal file
@ -0,0 +1,698 @@
|
||||
PROGRAM mtest
|
||||
IMPLICIT NONE
|
||||
|
||||
|
||||
write(*,*)'SUBROUTINE G_Functions:'
|
||||
|
||||
|
||||
SUBROUTINE G_Functions(G1,G2,tau)
|
||||
c =================================
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
c Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
c Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
c breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
c (1971))
|
||||
|
||||
IMPLICIT NONE
|
||||
|
||||
real tau,g1,g2
|
||||
real tau_(26),g1_(26),g2_(26)
|
||||
real help
|
||||
|
||||
integer i
|
||||
|
||||
DATA tau_ /0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
+ 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
+ 10.0, 12.0, 14.0, 16.0, 18.0, 20.0 /
|
||||
|
||||
DATA g1_ /0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
+ 0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
+ 1.990,2.270,2.540,2.800,3.050,3.290 /
|
||||
DATA g2_ / 0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
+ 0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
+ 0.30,0.26,0.22,0.18,0.15,0.13 /
|
||||
|
||||
if (tau.LT.tau_(1)) then
|
||||
write(*,*)
|
||||
write(*,*)'SUBROUTINE G_Functions:'
|
||||
write(*,*)' Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:'
|
||||
write(*,*)' aktuelles tau ist kleiner als kleinster Tabellenwert:'
|
||||
write(*,*)' tau = ',tau
|
||||
write(*,*)' tau_(1) = ',tau_(1)
|
||||
write(*,*)
|
||||
STOP
|
||||
endif
|
||||
|
||||
i = 1
|
||||
|
||||
10 i = i + 1
|
||||
if (i.EQ.27) then
|
||||
write(*,*)
|
||||
write(*,*)'SUBROUTINE G_Functions:'
|
||||
write(*,*)' Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:'
|
||||
write(*,*)' aktuelles tau ist groesser als groesster Tabellenwert:'
|
||||
write(*,*)' tau = ',tau
|
||||
write(*,*)' tau_(26) = ',tau_(26)
|
||||
write(*,*)
|
||||
STOP
|
||||
elseif (tau.gt.tau_(i)) then
|
||||
goto 10
|
||||
endif
|
||||
|
||||
|
||||
c lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_(i-1))/(tau_(i)-tau_(i-1))
|
||||
|
||||
g1 = g1_(i-1) + help*(g1_(i)-g1_(i-1))
|
||||
g2 = g2_(i-1) + help*(g2_(i)-g2_(i-1))
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine Get_F_Function_Meyer(tau,Ekin)
|
||||
c =========================================
|
||||
|
||||
implicit none
|
||||
|
||||
real tau
|
||||
real Ekin
|
||||
|
||||
real thetaSchlange,thetaSchlangeMax
|
||||
real theta,thetaMax,thetaStep
|
||||
real f1,f2,F
|
||||
|
||||
|
||||
c------------------------------------
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
c real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
c parameter (a0 = 5.29E-9)
|
||||
parameter (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10)
|
||||
parameter (Pi = 3.141592654)
|
||||
|
||||
real Meyer_Faktor3
|
||||
real Meyer_Faktor4
|
||||
real zzz ! 'Hilfsparameter'
|
||||
real Meyer_Faktor5
|
||||
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
parameter (Meyer_faktor4 = screeningPar / (2.*Z1*Z2*eSquare) * Pi/180.)
|
||||
parameter (zzz = screeningPar / (2.*Z1*Z2*eSquare))
|
||||
parameter (Meyer_faktor5 = zzz*zzz / (8*Pi*Pi))
|
||||
|
||||
c------------------------------------
|
||||
|
||||
integer nBin,nBinMax
|
||||
parameter (nBinMax=201)
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
integer i
|
||||
real rhelp
|
||||
|
||||
integer HB_memsize
|
||||
parameter(HB_memsize=500000)
|
||||
real memory(HB_memsize)
|
||||
COMMON /PAWC/ memory
|
||||
|
||||
|
||||
c nur noch fuer Testzwecke:
|
||||
|
||||
real fValues(203)
|
||||
real fValuesFolded(203)
|
||||
|
||||
integer idh
|
||||
parameter (idh = 50)
|
||||
|
||||
INCLUDE 'mutrack$sourcedirectory:COM_DIRS.INC'
|
||||
character filename*20 ! Name der Ausgabe-Dateien
|
||||
COMMON /filename/ filename
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau.LT.0.2) then
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
elseif (tau.LE.2.) then
|
||||
! => Tabelle A
|
||||
thetaSchlangeMax = 4.0
|
||||
elseif (tau.LE.8.) then
|
||||
! => Tabelle B
|
||||
thetaSchlangeMax = 7.0
|
||||
elseif (tau.LE.20.) then
|
||||
! => Tabelle C
|
||||
thetaSchlangeMax = 20.0
|
||||
else
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
endif
|
||||
|
||||
thetaMax = thetaSchlangeMax / Meyer_Faktor4 / Ekin
|
||||
if (thetaMax.GT.50) then
|
||||
thetaStep = .5
|
||||
elseif (thetaMax.GT.25) then
|
||||
thetaStep = .25
|
||||
elseif (thetaMax.GT.12.5) then
|
||||
thetaStep = .125
|
||||
else
|
||||
thetaStep = .0625
|
||||
endif
|
||||
|
||||
|
||||
c Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0
|
||||
do theta = thetaStep, thetaMax, thetaStep
|
||||
|
||||
! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta
|
||||
|
||||
! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
call F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
if (thetaSchlange.EQ.-1) then
|
||||
! wir sind jenseits von thetaSchlangeMax
|
||||
goto 10
|
||||
endif
|
||||
|
||||
! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
|
||||
nBin = nBin + 1
|
||||
if (nBin.GT.nBinMax) then
|
||||
write(*,*) 'nBin > nBinMax => EXIT'
|
||||
call exit
|
||||
endif
|
||||
value(nBin) = sind(theta)*F
|
||||
|
||||
fValues(nBin+1) = F ! fuer Testzwecke
|
||||
fValuesFolded(nBin+1) = sind(theta)*F ! fuer Testzwecke
|
||||
|
||||
enddo
|
||||
|
||||
|
||||
c Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
10 do i = 1, nBin
|
||||
area(i) = (value(i)+value(i-1))/2. * thetaStep
|
||||
integ(i) = integ(i-1) + area(i)
|
||||
enddo
|
||||
|
||||
|
||||
c Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ(nBin)
|
||||
do i = 1, nBin
|
||||
value(i) = value(i) / rHelp
|
||||
area(i) = area(i) / rHelp
|
||||
integ(i) = integ(i) / rHelp
|
||||
enddo
|
||||
|
||||
|
||||
c vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
! Berechne die Werte fuer theta=0:
|
||||
|
||||
call F_Functions_Meyer(tau,0.,f1,f2)
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
fValues(1) = F
|
||||
fValuesFolded(1) = 0.
|
||||
|
||||
! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
c theta = 0.
|
||||
c open (10,file=outDir//':'//filename//'.TAB',status='NEW')
|
||||
c do i = 1, nBin+1
|
||||
c write(10,*) theta, fValues(i), fValuesFolded(i)
|
||||
c theta = theta + thetaStep
|
||||
c enddo
|
||||
c close (10)
|
||||
|
||||
|
||||
! Buchen und Fuellen der Histogramme:
|
||||
|
||||
call HBOOK1(idh,'F',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh,fValues)
|
||||
call HRPUT(idh,outDir//':'//filename//'.RZ','N')
|
||||
call HDELET(idh)
|
||||
|
||||
call HBOOK1(idh+1,'F*sin([q])',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh+1,fValuesFolded)
|
||||
call HRPUT(idh+1,outDir//':'//filename//'.RZ','U')
|
||||
call HDELET(idh+1)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rhelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
c =====================================================
|
||||
|
||||
implicit none
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
c Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
c bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
c verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
c L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
real tau,thetaSchlange
|
||||
real f1, f2, f1_(2), f2_(2)
|
||||
|
||||
integer column_,column,row
|
||||
|
||||
integer iColumn
|
||||
real weightCol, weightRow
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c die Tabellendaten der Referenz (Tabellen 2 und 3):
|
||||
|
||||
integer nColumn
|
||||
parameter (nColumn = 25)
|
||||
real tau_(nColumn) /
|
||||
+ 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0,
|
||||
+ 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10., 12., 14., 16., 18., 20. /
|
||||
|
||||
integer nRowA
|
||||
parameter (nRowA = 25)
|
||||
real thetaSchlangeA(nRowA) /
|
||||
+ .00, .05, .10, .15, .20, .25, .30, .35, .40, .45, .50, .60,
|
||||
+ .70, .80, .90, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0 /
|
||||
|
||||
integer nRowB
|
||||
parameter (nRowB = 24)
|
||||
real thetaSchlangeB(nRowB) /
|
||||
+ 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.4, 1.5, 1.6, 1.8,
|
||||
+ 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0 /
|
||||
|
||||
integer nRowC
|
||||
parameter (nRowC = 24)
|
||||
real thetaSchlangeC(nRowC) /
|
||||
+ 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0,
|
||||
+ 7.0, 8.0, 9.0, 10., 11., 12., 13., 14., 15., 16., 18., 20. /
|
||||
|
||||
|
||||
real f1_A(9,nRowA)
|
||||
+ /1.69E+2,4.55E+1,2.11E+1,1.25E+1,8.48E+0,6.21E+0,4.80E+0,3.86E+0,3.20E+0,
|
||||
+ 9.82E+1,3.72E+1,1.97E+1,1.20E+1,8.27E+0,6.11E+0,4.74E+0,3.83E+0,3.17E+0,
|
||||
+ 3.96E+1,2.58E+1,1.65E+1,1.09E+1,7.73E+0,5.82E+0,4.58E+0,3.72E+0,3.10E+0,
|
||||
+ 1.76E+1,1.58E+1,1.27E+1,9.26E+0,6.93E+0,5.38E+0,4.31E+0,3.55E+0,2.99E+0,
|
||||
+ 8.62E+0,1.01E+1,9.45E+0,7.58E+0,6.02E+0,4.85E+0,3.98E+0,3.33E+0,2.84E+0,
|
||||
+ 4.65E+0,6.55E+0,6.91E+0,6.06E+0,5.11E+0,4.28E+0,3.62E+0,3.08E+0,2.66E+0,
|
||||
+ 2.74E+0,4.45E+0,5.03E+0,4.78E+0,4.27E+0,3.72E+0,3.23E+0,2.82E+0,2.47E+0,
|
||||
+ 1.77E+0,3.02E+0,3.71E+0,3.76E+0,3.53E+0,3.20E+0,2.86E+0,2.55E+0,2.27E+0,
|
||||
+ 1.22E+0,2.19E+0,2.78E+0,2.96E+0,2.91E+0,2.73E+0,2.51E+0,2.28E+0,2.07E+0,
|
||||
+ 8.82E-1,1.59E+0,2.12E+0,2.35E+0,2.39E+0,2.32E+0,2.19E+0,2.03E+0,1.87E+0,
|
||||
+ 6.55E-1,1.20E+0,1.64E+0,1.88E+0,1.97E+0,1.96E+0,1.90E+0,1.79E+0,1.68E+0,
|
||||
+ 3.80E-1,7.15E-1,1.01E+0,1.22E+0,1.35E+0,1.40E+0,1.41E+0,1.39E+0,1.34E+0,
|
||||
+ 2.26E-1,4.45E-1,6.44E-1,8.08E-1,9.28E-1,1.01E+0,1.05E+0,1.06E+0,1.05E+0,
|
||||
+ 1.39E-1,2.80E-1,4.21E-1,5.45E-1,6.46E-1,7.22E-1,7.75E-1,8.07E-1,8.21E-1,
|
||||
+ 8.22E-2,1.76E-1,2.78E-1,3.71E-1,4.53E-1,5.21E-1,5.74E-1,6.12E-1,6.37E-1,
|
||||
+ 5.04E-2,1.11E-1,1.86E-1,2.57E-1,3.22E-1,3.79E-1,4.27E-1,4.65E-1,4.94E-1,
|
||||
+ 2.51E-2,5.60E-2,9.24E-2,1.31E-1,1.69E-1,2.02E-1,2.40E-1,2.71E-1,2.97E-1,
|
||||
+ 1.52E-2,3.20E-2,5.08E-2,7.23E-2,9.51E-2,1.18E-1,1.41E-1,1.63E-1,1.83E-1,
|
||||
+ 1.03E-2,2.05E-2,3.22E-2,4.55E-2,6.01E-2,7.53E-2,9.02E-2,1.05E-1,1.19E-1,
|
||||
+ 8.80E-3,1.48E-2,2.25E-2,3.13E-2,4.01E-2,5.03E-2,6.01E-2,7.01E-2,8.01E-2,
|
||||
+ 6.10E-3,1.15E-2,1.71E-2,2.28E-2,2.89E-2,3.52E-2,4.18E-2,4.86E-2,5.55E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,1.71E-2,1.98E-2,2.28E-2,2.58E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.90E-3,1.02E-2,1.16E-2,1.31E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,4.90E-3,5.70E-3,6.40E-3,7.20E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.90E-3,3.40E-3,3.90E-3,4.30E-3/
|
||||
|
||||
real f1_B(9,nRowB)
|
||||
+ /2.71E+0,1.92E+0,1.46E+0,1.16E+0,9.52E-1,8.03E-1,6.90E-1,5.32E-1,4.28E-1,
|
||||
+ 2.45E+0,1.79E+0,1.39E+0,1.12E+0,9.23E-1,7.82E-1,6.75E-1,5.23E-1,4.23E-1,
|
||||
+ 1.87E+0,1.48E+0,1.20E+0,9.96E-1,8.42E-1,7.24E-1,6.32E-1,4.98E-1,4.07E-1,
|
||||
+ 1.56E+0,1.30E+0,1.09E+0,9.19E-1,7.89E-1,6.86E-1,6.03E-1,4.80E-1,3.95E-1,
|
||||
+ 1.28E+0,1.11E+0,9.62E-1,8.33E-1,7.27E-1,6.40E-1,5.69E-1,4.59E-1,3.81E-1,
|
||||
+ 8.23E-1,7.90E-1,7.29E-1,6.64E-1,6.01E-1,5.44E-1,4.94E-1,4.12E-1,3.49E-1,
|
||||
+ 5.14E-1,5.36E-1,5.29E-1,5.07E-1,4.78E-1,4.47E-1,4.16E-1,3.60E-1,3.13E-1,
|
||||
+ 3.19E-1,3.58E-1,3.76E-1,3.78E-1,3.70E-1,3.57E-1,3.45E-1,3.08E-1,2.76E-1,
|
||||
+ 2.02E-1,2.40E-1,2.64E-1,2.77E-1,2.82E-1,2.80E-1,2.65E-1,2.59E-1,2.39E-1,
|
||||
+ 1.67E-1,1.96E-1,2.20E-1,2.36E-1,2.44E-1,2.47E-1,2.45E-1,2.35E-1,2.21E-1,
|
||||
+ 1.33E-1,1.61E-1,1.85E-1,2.02E-1,2.12E-1,2.18E-1,2.18E-1,2.14E-1,2.03E-1,
|
||||
+ 8.99E-2,1.12E-1,1.32E-1,1.48E-1,1.59E-1,1.67E-1,1.68E-1,1.75E-1,1.72E-1,
|
||||
+ 6.24E-2,7.94E-2,9.50E-2,1.09E-1,1.20E-1,1.29E-1,1.35E-1,1.42E-1,1.43E-1,
|
||||
+ 4.55E-2,5.74E-2,6.98E-2,8.11E-2,9.09E-2,9.92E-2,1.06E-1,1.15E-1,1.19E-1,
|
||||
+ 3.35E-2,4.22E-2,5.19E-2,6.11E-2,6.95E-2,7.69E-2,8.33E-2,9.28E-2,9.85E-2,
|
||||
+ 2.50E-2,3.16E-2,3.92E-2,4.66E-2,5.35E-2,6.00E-2,6.57E-2,7.49E-2,8.13E-2,
|
||||
+ 1.90E-2,2.40E-2,2.99E-2,3.58E-2,4.16E-2,4.70E-2,5.20E-2,6.05E-2,6.70E-2,
|
||||
+ 1.47E-2,1.86E-2,2.32E-2,2.79E-2,3.25E-2,3.70E-2,4.12E-2,4.89E-2,5.51E-2,
|
||||
+ 8.10E-3,1.04E-2,1.30E-2,1.57E-2,1.84E-2,2.12E-2,2.40E-2,2.93E-2,3.42E-2,
|
||||
+ 4.80E-3,6.20E-3,7.70E-3,9.30E-3,1.09E-2,1.26E-2,1.44E-2,1.79E-2,2.14E-2,
|
||||
+ 2.80E-3,3.80E-3,4.70E-3,5.70E-3,6.70E-3,7.50E-3,8.90E-3,1.13E-2,1.36E-2,
|
||||
+ 1.70E-3,2.30E-3,2.90E-3,3.60E-3,4.20E-3,4.90E-3,5.60E-3,7.20E-3,8.80E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.00E-3,2.80E-3,3.50E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.80E-4,1.20E-3,1.60E-3/
|
||||
|
||||
real f1_C(7,nRowC)
|
||||
+ /3.65E-1,2.62E-1,2.05E-1,1.67E-1,1.41E-1,1.21E-1,1.05E-1,
|
||||
+ 3.33E-1,2.50E-1,1.95E-1,1.61E-1,1.36E-1,1.18E-1,1.03E-1,
|
||||
+ 2.75E-1,2.18E-1,1.76E-1,1.48E-1,1.27E-1,1.11E-1,9.80E-2,
|
||||
+ 2.04E-1,1.75E-1,1.50E-1,1.29E-1,1.13E-1,1.01E-1,9.00E-2,
|
||||
+ 1.41E-1,1.31E-1,1.19E-1,1.08E-1,9.71E-2,8.88E-2,8.01E-2,
|
||||
+ 9.32E-2,9.42E-2,9.10E-2,8.75E-2,8.00E-2,7.44E-2,6.91E-2,
|
||||
+ 5.98E-2,6.52E-2,6.72E-2,6.62E-2,6.40E-2,6.12E-2,5.82E-2,
|
||||
+ 3.83E-2,4.45E-2,4.80E-2,4.96E-2,4.98E-2,4.90E-2,4.77E-2,
|
||||
+ 2.46E-2,3.01E-2,3.40E-2,3.65E-2,3.79E-2,3.84E-2,3.83E-2,
|
||||
+ 1.59E-2,2.03E-2,2.39E-2,2.66E-2,2.85E-2,2.97E-2,3.04E-2,
|
||||
+ 1.04E-2,1.37E-2,1.66E-2,1.92E-2,2.12E-2,2.27E-2,2.37E-2,
|
||||
+ 4.39E-3,6.26E-3,8.26E-3,9.96E-3,1.15E-2,1.29E-2,1.41E-2,
|
||||
+ 2.06E-3,3.02E-3,4.24E-3,5.28E-3,6.32E-3,7.32E-3,8.26E-3,
|
||||
+ 1.21E-3,1.69E-3,2.24E-3,2.85E-3,3.50E-3,4.16E-3,4.82E-3,
|
||||
+ 8.50E-4,1.10E-3,1.38E-3,1.65E-3,2.03E-3,2.45E-3,2.88E-3,
|
||||
+ 5.90E-4,7.40E-4,8.50E-4,9.90E-4,1.23E-3,1.49E-3,1.71E-3,
|
||||
+ 3.90E-4,4.60E-4,5.20E-4,6.30E-4,7.65E-4,9.65E-4,1.12E-3,
|
||||
+ 2.40E-4,2.70E-4,3.10E-4,3.98E-4,4.97E-4,6.03E-4,7.18E-4,
|
||||
+ 1.50E-4,1.70E-4,2.15E-4,2.70E-4,3.35E-4,4.35E-4,5.00E-4,
|
||||
+ 1.00E-4,1.20E-4,1.46E-4,1.90E-4,2.40E-4,2.88E-4,3.43E-4,
|
||||
+ 0.00 ,0.00 ,1.04E-4,1.41E-4,1.80E-4,2.10E-4,2.50E-4,
|
||||
+ 0.00 ,0.00 ,8.20E-5,1.06E-4,1.38E-4,1.58E-4,1.85E-4,
|
||||
+ 0.00 ,0.00 ,5.40E-5,7.00E-5,8.60E-5,1.03E-4,1.20E-4,
|
||||
+ 0.00 ,0.00 ,4.20E-5,5.40E-5,6.50E-5,7.70E-5,8.80E-5/
|
||||
|
||||
real f2_A(9,nRowA)
|
||||
+ / 3.52E+3, 3.27E+2, 9.08E+1, 3.85E+1, 2.00E+1, 1.18E+1, 7.55E+0, 5.16E+0, 3.71E+0,
|
||||
+ 2.58E+2, 1.63E+2, 7.30E+1, 3.42E+1, 1.85E+1, 1.11E+1, 7.18E+0, 4.96E+0, 3.59E+0,
|
||||
+ -1.12E+2, 4.84E+0, 3.56E+1, 2.34E+1, 1.45E+1, 9.33E+0, 6.37E+0, 4.51E+0, 3.32E+0,
|
||||
+ -5.60E+1,-1.12E+1, 9.87E+0, 1.24E+1, 9.59E+0, 7.01E+0, 5.16E+0, 3.83E+0, 2.91E+0,
|
||||
+ -2.13E+1,-1.22E+1,-2.23E+0, 3.88E+0, 5.15E+0, 4.65E+0, 3.87E+0, 3.12E+0, 2.45E+0,
|
||||
+ -8.25E+0,-9.58E+0,-5.59E+0,-1.40E+0, 1.76E+0, 2.71E+0, 2.71E+0, 2.35E+0, 1.95E+0,
|
||||
+ -3.22E+0,-6.12E+0,-5.28E+0,-2.87E+0,-1.92E-1, 1.32E+0, 1.69E+0, 1.74E+0, 1.48E+0,
|
||||
+ -1.11E+0,-3.40E+0,-4.12E+0,-3.08E+0,-6.30E-1, 3.60E-1, 9.20E-1, 1.03E+0, 1.04E+0,
|
||||
+ -2.27E-1,-2.00E+0,-2.93E+0,-2.69E+0,-1.48E+0,-3.14E-1, 2.69E-1, 5.28E-1, 6.09E-1,
|
||||
+ 1.54E-1,-1.09E+0,-2.10E+0,-2.15E+0,-1.47E+0,-6.77E-1,-1.80E-1, 1.08E-1, 2.70E-1,
|
||||
+ 3.28E-1,-6.30E-1,-1.50E+0,-1.68E+0,-1.34E+0,-8.43E-1,-4.60E-1,-1.85E-1,-4.67E-3,
|
||||
+ 3.32E-1,-2.06E-1,-7.32E-1,-9.90E-1,-9.42E-1,-8.20E-1,-6.06E-1,-4.51E-1,-3.01E-1,
|
||||
+ 2.72E-1,-3.34E-2,-3.49E-1,-5.65E-1,-6.03E-1,-5.79E-1,-5.05E-1,-4.31E-1,-3.45E-1,
|
||||
+ 2.02E-1, 2.80E-2,-1.54E-1,-3.00E-1,-3.59E-1,-3.76E-1,-4.60E-1,-3.40E-1,-3.08E-1,
|
||||
+ 1.38E-1, 4.84E-2,-5.56E-2,-1.44E-1,-2.04E-1,-2.39E-1,-2.54E-1,-2.49E-1,-2.48E-1,
|
||||
+ 9.47E-2, 4.86E-2,-1.08E-2,-6.44E-2,-1.02E-1,-1.34E-1,-1.62E-1,-1.79E-1,-1.87E-1,
|
||||
+ 5.33E-2, 3.71E-2, 1.85E-2, 1.63E-3,-1.69E-2,-3.69E-2,-5.66E-2,-7.78E-2,-9.33E-2,
|
||||
+ 3.38E-2, 2.40E-2, 1.62E-2, 9.90E-3, 3.76E-3,-4.93E-3,-1.66E-2,-3.05E-2,-4.22E-2,
|
||||
+ 2.12E-2, 1.56E-2, 1.05E-2, 7.80E-3, 7.92E-3, 6.30E-3, 3.20E-4,-8.50E-3,-1.66E-2,
|
||||
+ 1.40E-2, 9.20E-3, 5.30E-3, 4.70E-3, 6.31E-3, 8.40E-3, 5.30E-3, 8.80E-4,-3.30E-3,
|
||||
+ 9.20E-3, 4.70E-3, 1.70E-3, 2.60E-3, 4.49E-3, 6.60E-3, 6.00E-3, 4.70E-3, 2.80E-3,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 /
|
||||
|
||||
real f2_B(9,nRowB)
|
||||
+ / 2.75E+0, 1.94E+0, 9.13E-1, 6.06E-1, 4.26E-1, 3.14E-1, 2.40E-1, 1.51E-1, 1.03E-1,
|
||||
+ 1.94E+0, 1.16E+0, 7.56E-1, 5.26E-1, 3.81E-1, 2.87E-1, 2.23E-1, 1.43E-1, 9.78E-2,
|
||||
+ 5.85E-1, 5.04E-1, 4.10E-1, 3.30E-1, 2.69E-1, 2.17E-1, 1.78E-1, 1.22E-1, 8.71E-2,
|
||||
+ 7.83E-2, 2.00E-1, 2.35E-1, 2.19E-1, 1.97E-1, 1.73E-1, 1.48E-1, 1.08E-1, 7.93E-2,
|
||||
+ -1.82E-1, 1.56E-2, 1.04E-1, 1.36E-1, 1.38E-1, 1.31E-1, 1.19E-1, 9.46E-2, 7.19E-2,
|
||||
+ -2.71E-1,-1.66E-1,-7.29E-2,-4.74E-3, 3.60E-2, 5.50E-2, 6.28E-2, 5.98E-2, 5.09E-2,
|
||||
+ -1.87E-1,-1.58E-1,-1.09E-1,-5.80E-2,-2.03E-2, 2.48E-3, 1.99E-2, 3.36E-2, 3.27E-2,
|
||||
+ -1.01E-1,-1.05E-1,-8.95E-2,-6.63E-2,-3.93E-2,-2.38E-2,-9.22E-3, 8.47E-3, 1.52E-2,
|
||||
+ -5.19E-2,-6.47E-2,-6.51E-2,-5.62E-2,-4.51E-2,-3.49E-2,-2.45E-2,-8.19E-3, 2.05E-3,
|
||||
+ -3.68E-2,-4.89E-2,-5.36E-2,-5.06E-2,-4.27E-2,-3.65E-2,-2.80E-2,-1.33E-2,-3.47E-3,
|
||||
+ -2.33E-2,-3.69E-2,-4.41E-2,-4.38E-2,-3.97E-2,-3.50E-2,-2.88E-2,-1.60E-2,-6.68E-3,
|
||||
+ -8.76E-3,-2.07E-2,-2.90E-2,-3.17E-2,-3.09E-2,-2.92E-2,-2.63E-2,-1.79E-2,-1.03E-2,
|
||||
+ -1.20E-3,-1.11E-2,-1.90E-2,-2.20E-2,-2.32E-2,-2.24E-2,-2.10E-2,-1.66E-2,-1.11E-2,
|
||||
+ 1.72E-3,-4.82E-3,-1.02E-2,-1.42E-2,-1.65E-2,-1.66E-2,-1.60E-2,-1.39E-2,-1.09E-2,
|
||||
+ 2.68E-3,-1.18E-3,-5.19E-3,-8.30E-5,-1.01E-2,-1.14E-2,-1.16E-2,-1.16E-2,-9.99E-3,
|
||||
+ 2.81E-3, 8.21E-4,-1.96E-3,-3.99E-3,-5.89E-3,-7.13E-3,-8.15E-3,-9.05E-3,-8.60E-3,
|
||||
+ 2.61E-3, 1.35E-3,-2.99E-4,-1.79E-3,-3.12E-3,-4.44E-3,-5.61E-3,-7.01E-3,-7.27E-3,
|
||||
+ 2.06E-3, 1.45E-3, 4.64E-4,-5.97E-4,-1.71E-3,-2.79E-3,-3.84E-3,-5.29E-3,-5.90E-3,
|
||||
+ 1.07E-3, 9.39E-4, 8.22E-4, 3.58E-4,-1.15E-4,-6.60E-4,-1.18E-3,-2.15E-3,-2.88E-3,
|
||||
+ 4.97E-4, 5.46E-4, 6.15E-4, 5.56E-4, 3.14E-4, 9.80E-5,-1.30E-4,-5.98E-4,-1.07E-4,
|
||||
+ 1.85E-4, 3.11E-4, 4.25E-4, 4.08E-4, 3.63E-4, 3.04E-4, 2.24E-4, 2.80E-5,-2.10E-4,
|
||||
+ 4.80E-5, 1.48E-4, 2.44E-4, 2.80E-4, 3.01E-4, 3.11E-4, 3.13E-4, 2.40E-4, 1.10E-4,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 1.39E-4, 1.80E-4, 1.80E-4,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 4.38E-5, 7.30E-5, 8.40E-5/
|
||||
|
||||
real f2_C(7,nRowC)
|
||||
+ / 7.36E-2, 4.21E-2, 2.69E-2, 1.83E-2, 1.34E-2, 1.01E-2, 7.88E-3,
|
||||
+ 5.79E-2, 3.61E-2, 2.34E-2, 1.64E-2, 1.21E-2, 9.26E-3, 7.28E-3,
|
||||
+ 2.94E-2, 2.17E-2, 1.60E-2, 1.23E-2, 9.49E-3, 7.45E-3, 5.95E-3,
|
||||
+ 2.30E-3, 7.07E-3, 7.76E-3, 7.02E-3, 6.13E-3, 5.17E-3, 4.34E-3,
|
||||
+ -7.50E-3,-2.00E-3, 9.93E-4, 2.36E-3, 2.82E-3, 2.86E-3, 2.72E-3,
|
||||
+ -8.27E-3,-5.37E-3,-2.58E-3,-7.96E-4, 3.75E-4, 9.71E-4, 1.28E-3,
|
||||
+ -5.79E-3,-5.12E-3,-3.86E-3,-2.46E-3,-1.20E-3,-3.74E-4, 1.74E-4,
|
||||
+ -3.26E-3,-3.43E-3,-3.26E-3,-2.68E-3,-1.84E-3,-1.12E-3,-4.54E-4,
|
||||
+ -1.46E-3,-1.49E-3,-2.20E-3,-2.18E-3,-1.85E-3,-1.40E-3,-8.15E-4,
|
||||
+ -4.29E-4,-9.44E-4,-1.29E-3,-1.50E-3,-1.51E-3,-1.36E-3,-9.57E-4,
|
||||
+ -3.30E-5,-3.66E-4,-6.78E-4,-9.38E-4,-1.09E-3,-1.09E-3,-9.56E-4,
|
||||
+ 1.50E-4, 3.10E-5,-1.38E-4,-3.06E-4,-4.67E-4,-5.48E-4,-6.08E-4,
|
||||
+ 1.00E-4, 8.50E-5, 2.30E-5,-6.60E-5,-1.58E-4,-2.40E-4,-3.05E-4,
|
||||
+ 5.40E-5, 6.50E-5, 4.90E-5, 1.20E-5,-3.60E-5,-8.90E-5,-1.31E-4,
|
||||
+ 2.90E-5, 4.30E-5, 4.40E-5, 2.90E-5, 5.10E-6,-2.20E-5,-4.80E-5,
|
||||
+ 1.40E-5, 2.40E-5, 2.80E-5, 2.60E-5, 1.90E-5, 7.50E-6,-1.10E-5,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 /
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
c Bestimme, welche Reihen der Tabellen fuer Interpolation benoetigt werden:
|
||||
|
||||
if (tau.LT.tau_(1)) then
|
||||
write(*,*) 'tau is less than the lowest tabulated value:'
|
||||
write(*,*) 'tau = ',tau
|
||||
write(*,*) 'minimum = ',tau_(1)
|
||||
call exit
|
||||
elseif (tau.GT.tau_(nColumn)) then
|
||||
write(*,*) 'tau is greater than the highest tabulated value:'
|
||||
write(*,*) 'tau = ',tau
|
||||
write(*,*) 'maximum = ',tau_(nColumn)
|
||||
call exit
|
||||
endif
|
||||
|
||||
column_ = 2
|
||||
do while (tau.GT.tau_(column_))
|
||||
column_ = column_ + 1
|
||||
enddo
|
||||
! Das Gewicht der Reihe zu groesserem Tau:
|
||||
weightCol = (tau-tau_(column_-1)) / (tau_(column_)-tau_(column_-1))
|
||||
|
||||
|
||||
c Besorge fuer gegebenes 'thetaSchlange' die interpolierten f1- und f2 -Werte
|
||||
c der beiden relevanten Reihen:
|
||||
c iColumn = 1 => Reihe mit hoeherem Index
|
||||
c iColumn = 2 => Reihe mit kleinerem Index
|
||||
|
||||
|
||||
iColumn = 1
|
||||
|
||||
|
||||
5 continue
|
||||
|
||||
if (column_.LE.9) then ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 1. Tabelle: 0.2 <= tau <= 1.8
|
||||
|
||||
column = column_
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeA(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeA(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeA(nRowA)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeA(nRowA)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeA(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeA(row-1)) /
|
||||
+ (thetaSchlangeA(row)-thetaSchlangeA(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_A(column,row-1) +
|
||||
+ weightRow * f1_A(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_A(column,row-1) +
|
||||
+ weightRow * f2_A(column,row)
|
||||
|
||||
|
||||
elseif (column_.LE.18) then ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 2. Tabelle: 2.0 <= tau <= 7.0
|
||||
|
||||
column = column_ - 9
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeB(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeB(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeB(nRowB)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeB(nRowB)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeB(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeB(row-1)) /
|
||||
+ (thetaSchlangeB(row)-thetaSchlangeB(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_B(column,row-1) +
|
||||
+ weightRow * f1_B(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_B(column,row-1) +
|
||||
+ weightRow * f2_B(column,row)
|
||||
|
||||
|
||||
else ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 3. Tabelle: 8.0 <= tau <= 20.
|
||||
|
||||
column = column_ - 18
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeC(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeC(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeC(nRowC)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeC(nRowC)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeC(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeC(row-1)) /
|
||||
+ (thetaSchlangeC(row)-thetaSchlangeC(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_C(column,row-1) +
|
||||
+ weightRow * f1_C(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_C(column,row-1) +
|
||||
+ weightRow * f2_C(column,row)
|
||||
|
||||
|
||||
endif ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
if (iColumn.EQ.1) then
|
||||
column_ = column_ - 1
|
||||
iColumn = 2
|
||||
goto 5
|
||||
endif
|
||||
|
||||
f1 = weightCol*f1_(1) + (1.-weightCol)*f1_(2)
|
||||
f2 = weightCol*f2_(1) + (1.-weightCol)*f2_(2)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
END PROGRAM mtest
|
691
geant4/TaoLEMuSR/MEYER/mtest.for~
Normal file
691
geant4/TaoLEMuSR/MEYER/mtest.for~
Normal file
@ -0,0 +1,691 @@
|
||||
SUBROUTINE G_Functions(G1,G2,tau)
|
||||
c =================================
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
c Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
c Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
c breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
c (1971))
|
||||
|
||||
IMPLICIT NONE
|
||||
|
||||
real tau,g1,g2
|
||||
real tau_(26),g1_(26),g2_(26)
|
||||
real help
|
||||
|
||||
integer i
|
||||
|
||||
DATA tau_ /0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
+ 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
+ 10.0, 12.0, 14.0, 16.0, 18.0, 20.0 /
|
||||
|
||||
DATA g1_ /0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
+ 0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
+ 1.990,2.270,2.540,2.800,3.050,3.290 /
|
||||
DATA g2_ / 0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
+ 0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
+ 0.30,0.26,0.22,0.18,0.15,0.13 /
|
||||
|
||||
if (tau.LT.tau_(1)) then
|
||||
write(*,*)
|
||||
write(*,*)'SUBROUTINE G_Functions:'
|
||||
write(*,*)' Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:'
|
||||
write(*,*)' aktuelles tau ist kleiner als kleinster Tabellenwert:'
|
||||
write(*,*)' tau = ',tau
|
||||
write(*,*)' tau_(1) = ',tau_(1)
|
||||
write(*,*)
|
||||
STOP
|
||||
endif
|
||||
|
||||
i = 1
|
||||
|
||||
10 i = i + 1
|
||||
if (i.EQ.27) then
|
||||
write(*,*)
|
||||
write(*,*)'SUBROUTINE G_Functions:'
|
||||
write(*,*)' Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:'
|
||||
write(*,*)' aktuelles tau ist groesser als groesster Tabellenwert:'
|
||||
write(*,*)' tau = ',tau
|
||||
write(*,*)' tau_(26) = ',tau_(26)
|
||||
write(*,*)
|
||||
STOP
|
||||
elseif (tau.gt.tau_(i)) then
|
||||
goto 10
|
||||
endif
|
||||
|
||||
|
||||
c lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_(i-1))/(tau_(i)-tau_(i-1))
|
||||
|
||||
g1 = g1_(i-1) + help*(g1_(i)-g1_(i-1))
|
||||
g2 = g2_(i-1) + help*(g2_(i)-g2_(i-1))
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine Get_F_Function_Meyer(tau,Ekin)
|
||||
c =========================================
|
||||
|
||||
implicit none
|
||||
|
||||
real tau
|
||||
real Ekin
|
||||
|
||||
real thetaSchlange,thetaSchlangeMax
|
||||
real theta,thetaMax,thetaStep
|
||||
real f1,f2,F
|
||||
|
||||
|
||||
c------------------------------------
|
||||
c - Parameter:
|
||||
|
||||
real Z1, Z2 ! die atomaren Nummern von Projektil und Target
|
||||
c real a0 ! Bohrscher Radius in cm
|
||||
real screeningPar ! Screeningparameter 'a' in cm fuer Teilchen der
|
||||
! Kernladungszahl Z1=1 in Kohlenstoff (Z2 = 6)
|
||||
! bei Streichung von Z1 (vgl. Referenz, S. 268)
|
||||
|
||||
real r0Meyer ! r0(C) berechnet aus dem screeningParameter 'a'
|
||||
! und dem ebenfalls bei Meyer angegebenem
|
||||
! Verhaeltnis a/r0=0.26 (vgl. Referenz, S. 263 oben)
|
||||
real eSquare ! elektrische Ladung zum Quadrat in keV*cm
|
||||
|
||||
real Pi ! die Kreiszahl
|
||||
|
||||
c parameter (a0 = 5.29E-9)
|
||||
parameter (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
parameter (r0Meyer = 9.909E-9, eSquare = 1.44E-10)
|
||||
parameter (Pi = 3.141592654)
|
||||
|
||||
real Meyer_Faktor3
|
||||
real Meyer_Faktor4
|
||||
real zzz ! 'Hilfsparameter'
|
||||
real Meyer_Faktor5
|
||||
|
||||
parameter (Meyer_faktor3 = (screeningPar/r0Meyer) * (screeningPar/r0Meyer))
|
||||
parameter (Meyer_faktor4 = screeningPar / (2.*Z1*Z2*eSquare) * Pi/180.)
|
||||
parameter (zzz = screeningPar / (2.*Z1*Z2*eSquare))
|
||||
parameter (Meyer_faktor5 = zzz*zzz / (8*Pi*Pi))
|
||||
|
||||
c------------------------------------
|
||||
|
||||
integer nBin,nBinMax
|
||||
parameter (nBinMax=201)
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
integer i
|
||||
real rhelp
|
||||
|
||||
integer HB_memsize
|
||||
parameter(HB_memsize=500000)
|
||||
real memory(HB_memsize)
|
||||
COMMON /PAWC/ memory
|
||||
|
||||
|
||||
c nur noch fuer Testzwecke:
|
||||
|
||||
real fValues(203)
|
||||
real fValuesFolded(203)
|
||||
|
||||
integer idh
|
||||
parameter (idh = 50)
|
||||
|
||||
INCLUDE 'mutrack$sourcedirectory:COM_DIRS.INC'
|
||||
character filename*20 ! Name der Ausgabe-Dateien
|
||||
COMMON /filename/ filename
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c Festlegen des maximalen Theta-Wertes sowie der Schrittweite:
|
||||
|
||||
if (tau.LT.0.2) then
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist kleiner als 0.2 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
elseif (tau.LE.2.) then
|
||||
! => Tabelle A
|
||||
thetaSchlangeMax = 4.0
|
||||
elseif (tau.LE.8.) then
|
||||
! => Tabelle B
|
||||
thetaSchlangeMax = 7.0
|
||||
elseif (tau.LE.20.) then
|
||||
! => Tabelle C
|
||||
thetaSchlangeMax = 20.0
|
||||
else
|
||||
write(*,*) 'Subroutine ''Get_F_Function_Meyer'':'
|
||||
write(*,*) 'Effektive Dicke ist groesser als 20 => kann ich nicht ... => STOP'
|
||||
call exit
|
||||
endif
|
||||
|
||||
thetaMax = thetaSchlangeMax / Meyer_Faktor4 / Ekin
|
||||
if (thetaMax.GT.50) then
|
||||
thetaStep = .5
|
||||
elseif (thetaMax.GT.25) then
|
||||
thetaStep = .25
|
||||
elseif (thetaMax.GT.12.5) then
|
||||
thetaStep = .125
|
||||
else
|
||||
thetaStep = .0625
|
||||
endif
|
||||
|
||||
|
||||
c Tabelle der F-Werte erstellen:
|
||||
|
||||
nBin = 0
|
||||
do theta = thetaStep, thetaMax, thetaStep
|
||||
|
||||
! Berechne aus theta das 'reduzierte' thetaSchlange (dabei gleich
|
||||
! noch von degree bei theta in Radiant bei thetaSchlange umrechnen):
|
||||
|
||||
thetaSchlange = Meyer_faktor4 * Ekin * theta
|
||||
|
||||
! Auslesen der Tabellenwerte fuer die f-Funktionen:
|
||||
|
||||
call F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
if (thetaSchlange.EQ.-1) then
|
||||
! wir sind jenseits von thetaSchlangeMax
|
||||
goto 10
|
||||
endif
|
||||
|
||||
! Berechnen der Streuintensitaet:
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
|
||||
nBin = nBin + 1
|
||||
if (nBin.GT.nBinMax) then
|
||||
write(*,*) 'nBin > nBinMax => EXIT'
|
||||
call exit
|
||||
endif
|
||||
value(nBin) = sind(theta)*F
|
||||
|
||||
fValues(nBin+1) = F ! fuer Testzwecke
|
||||
fValuesFolded(nBin+1) = sind(theta)*F ! fuer Testzwecke
|
||||
|
||||
enddo
|
||||
|
||||
|
||||
c Berechnen der Flaecheninhalte der einzelnen Kanaele sowie der Integrale:
|
||||
|
||||
10 do i = 1, nBin
|
||||
area(i) = (value(i)+value(i-1))/2. * thetaStep
|
||||
integ(i) = integ(i-1) + area(i)
|
||||
enddo
|
||||
|
||||
|
||||
c Normiere totale Flaeche auf 1:
|
||||
|
||||
rHelp = integ(nBin)
|
||||
do i = 1, nBin
|
||||
value(i) = value(i) / rHelp
|
||||
area(i) = area(i) / rHelp
|
||||
integ(i) = integ(i) / rHelp
|
||||
enddo
|
||||
|
||||
|
||||
c vorerst noch: gib Tabelle in Datei und Histogrammfile aus:
|
||||
|
||||
! Berechne die Werte fuer theta=0:
|
||||
|
||||
call F_Functions_Meyer(tau,0.,f1,f2)
|
||||
F = Meyer_faktor5 * Ekin*Ekin * (f1 - Meyer_faktor3*f2)
|
||||
fValues(1) = F
|
||||
fValuesFolded(1) = 0.
|
||||
|
||||
! Gib die Werte in das Tabellenfile aus:
|
||||
|
||||
c theta = 0.
|
||||
c open (10,file=outDir//':'//filename//'.TAB',status='NEW')
|
||||
c do i = 1, nBin+1
|
||||
c write(10,*) theta, fValues(i), fValuesFolded(i)
|
||||
c theta = theta + thetaStep
|
||||
c enddo
|
||||
c close (10)
|
||||
|
||||
|
||||
! Buchen und Fuellen der Histogramme:
|
||||
|
||||
call HBOOK1(idh,'F',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh,fValues)
|
||||
call HRPUT(idh,outDir//':'//filename//'.RZ','N')
|
||||
call HDELET(idh)
|
||||
|
||||
call HBOOK1(idh+1,'F*sin([q])',nBin+1,-0.5*thetaStep,(real(nBin)+0.5)*thetaStep,0.)
|
||||
call HPAK(idh+1,fValuesFolded)
|
||||
call HRPUT(idh+1,outDir//':'//filename//'.RZ','U')
|
||||
call HDELET(idh+1)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine throwMeyerAngle (theta)
|
||||
c ==================================
|
||||
|
||||
implicit none
|
||||
|
||||
real lowerbound,y1,y2,f,root,radiant,fraction
|
||||
integer bin,nBin
|
||||
integer nBinMax
|
||||
parameter (nBinMax=201)
|
||||
|
||||
real theta,thetaStep
|
||||
real value(0:nBinMax) /0.,nBinMax*0./
|
||||
real area(nBinMax) / nBinMax*0./
|
||||
real integ(0:nBinMax) /0.,nBinMax*0./
|
||||
common /MeyerTable/ value,area,integ,thetaStep,nBin
|
||||
|
||||
real rhelp
|
||||
|
||||
real random
|
||||
integer seed
|
||||
common /seed/ seed
|
||||
|
||||
|
||||
c bin: Nummer des Bins, innerhalb dessen das Integral den Wert von
|
||||
c random erreicht oder ueberschreitet:
|
||||
|
||||
random = ran(seed)
|
||||
|
||||
bin = 1
|
||||
do while (random.GT.integ(bin))
|
||||
bin = bin + 1
|
||||
if (bin.GT.nBin) then
|
||||
write(*,*) 'error 1'
|
||||
call exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
fraction = (random-integ(bin-1)) / (integ(bin)-integ(bin-1))
|
||||
y1 = value(bin-1)
|
||||
y2 = value(bin)
|
||||
f = thetaStep / (y2-y1)
|
||||
rHelp = y1*f
|
||||
|
||||
radiant = rHelp*rHelp + fraction*thetaStep*(y1+y2)*f
|
||||
root = SQRT(radiant)
|
||||
lowerBound = real(bin-1)*thetaStep
|
||||
if (f.GT.0) then
|
||||
theta = lowerBound - rHelp + root
|
||||
else
|
||||
theta = lowerBound - rHelp - root
|
||||
endif
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
options /extend_source
|
||||
|
||||
subroutine F_Functions_Meyer(tau,thetaSchlange,f1,f2)
|
||||
c =====================================================
|
||||
|
||||
implicit none
|
||||
|
||||
c Diese Routine gibt in Abhaengigkeit von 'thetaSchlange' und 'tau'
|
||||
c Funktionswerte fuer f1 und f2 zurueck. f1 und f2 entsprechen dabei den
|
||||
c bei Meyer angegebenen Funktion gleichen Namens. Die in dieser Routine
|
||||
c verwendeten Tabellen sind eben dieser Referenz entnommen:
|
||||
c L.Meyer, phys.stat.sol. (b) 44, 253 (1971)
|
||||
|
||||
real tau,thetaSchlange
|
||||
real f1, f2, f1_(2), f2_(2)
|
||||
|
||||
integer column_,column,row
|
||||
|
||||
integer iColumn
|
||||
real weightCol, weightRow
|
||||
|
||||
c-------------------------------------------------------------------------------
|
||||
|
||||
c die Tabellendaten der Referenz (Tabellen 2 und 3):
|
||||
|
||||
integer nColumn
|
||||
parameter (nColumn = 25)
|
||||
real tau_(nColumn) /
|
||||
+ 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0,
|
||||
+ 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 10., 12., 14., 16., 18., 20. /
|
||||
|
||||
integer nRowA
|
||||
parameter (nRowA = 25)
|
||||
real thetaSchlangeA(nRowA) /
|
||||
+ .00, .05, .10, .15, .20, .25, .30, .35, .40, .45, .50, .60,
|
||||
+ .70, .80, .90, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0 /
|
||||
|
||||
integer nRowB
|
||||
parameter (nRowB = 24)
|
||||
real thetaSchlangeB(nRowB) /
|
||||
+ 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.4, 1.5, 1.6, 1.8,
|
||||
+ 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0 /
|
||||
|
||||
integer nRowC
|
||||
parameter (nRowC = 24)
|
||||
real thetaSchlangeC(nRowC) /
|
||||
+ 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0,
|
||||
+ 7.0, 8.0, 9.0, 10., 11., 12., 13., 14., 15., 16., 18., 20. /
|
||||
|
||||
|
||||
real f1_A(9,nRowA)
|
||||
+ /1.69E+2,4.55E+1,2.11E+1,1.25E+1,8.48E+0,6.21E+0,4.80E+0,3.86E+0,3.20E+0,
|
||||
+ 9.82E+1,3.72E+1,1.97E+1,1.20E+1,8.27E+0,6.11E+0,4.74E+0,3.83E+0,3.17E+0,
|
||||
+ 3.96E+1,2.58E+1,1.65E+1,1.09E+1,7.73E+0,5.82E+0,4.58E+0,3.72E+0,3.10E+0,
|
||||
+ 1.76E+1,1.58E+1,1.27E+1,9.26E+0,6.93E+0,5.38E+0,4.31E+0,3.55E+0,2.99E+0,
|
||||
+ 8.62E+0,1.01E+1,9.45E+0,7.58E+0,6.02E+0,4.85E+0,3.98E+0,3.33E+0,2.84E+0,
|
||||
+ 4.65E+0,6.55E+0,6.91E+0,6.06E+0,5.11E+0,4.28E+0,3.62E+0,3.08E+0,2.66E+0,
|
||||
+ 2.74E+0,4.45E+0,5.03E+0,4.78E+0,4.27E+0,3.72E+0,3.23E+0,2.82E+0,2.47E+0,
|
||||
+ 1.77E+0,3.02E+0,3.71E+0,3.76E+0,3.53E+0,3.20E+0,2.86E+0,2.55E+0,2.27E+0,
|
||||
+ 1.22E+0,2.19E+0,2.78E+0,2.96E+0,2.91E+0,2.73E+0,2.51E+0,2.28E+0,2.07E+0,
|
||||
+ 8.82E-1,1.59E+0,2.12E+0,2.35E+0,2.39E+0,2.32E+0,2.19E+0,2.03E+0,1.87E+0,
|
||||
+ 6.55E-1,1.20E+0,1.64E+0,1.88E+0,1.97E+0,1.96E+0,1.90E+0,1.79E+0,1.68E+0,
|
||||
+ 3.80E-1,7.15E-1,1.01E+0,1.22E+0,1.35E+0,1.40E+0,1.41E+0,1.39E+0,1.34E+0,
|
||||
+ 2.26E-1,4.45E-1,6.44E-1,8.08E-1,9.28E-1,1.01E+0,1.05E+0,1.06E+0,1.05E+0,
|
||||
+ 1.39E-1,2.80E-1,4.21E-1,5.45E-1,6.46E-1,7.22E-1,7.75E-1,8.07E-1,8.21E-1,
|
||||
+ 8.22E-2,1.76E-1,2.78E-1,3.71E-1,4.53E-1,5.21E-1,5.74E-1,6.12E-1,6.37E-1,
|
||||
+ 5.04E-2,1.11E-1,1.86E-1,2.57E-1,3.22E-1,3.79E-1,4.27E-1,4.65E-1,4.94E-1,
|
||||
+ 2.51E-2,5.60E-2,9.24E-2,1.31E-1,1.69E-1,2.02E-1,2.40E-1,2.71E-1,2.97E-1,
|
||||
+ 1.52E-2,3.20E-2,5.08E-2,7.23E-2,9.51E-2,1.18E-1,1.41E-1,1.63E-1,1.83E-1,
|
||||
+ 1.03E-2,2.05E-2,3.22E-2,4.55E-2,6.01E-2,7.53E-2,9.02E-2,1.05E-1,1.19E-1,
|
||||
+ 8.80E-3,1.48E-2,2.25E-2,3.13E-2,4.01E-2,5.03E-2,6.01E-2,7.01E-2,8.01E-2,
|
||||
+ 6.10E-3,1.15E-2,1.71E-2,2.28E-2,2.89E-2,3.52E-2,4.18E-2,4.86E-2,5.55E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,1.71E-2,1.98E-2,2.28E-2,2.58E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.90E-3,1.02E-2,1.16E-2,1.31E-2,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,4.90E-3,5.70E-3,6.40E-3,7.20E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.90E-3,3.40E-3,3.90E-3,4.30E-3/
|
||||
|
||||
real f1_B(9,nRowB)
|
||||
+ /2.71E+0,1.92E+0,1.46E+0,1.16E+0,9.52E-1,8.03E-1,6.90E-1,5.32E-1,4.28E-1,
|
||||
+ 2.45E+0,1.79E+0,1.39E+0,1.12E+0,9.23E-1,7.82E-1,6.75E-1,5.23E-1,4.23E-1,
|
||||
+ 1.87E+0,1.48E+0,1.20E+0,9.96E-1,8.42E-1,7.24E-1,6.32E-1,4.98E-1,4.07E-1,
|
||||
+ 1.56E+0,1.30E+0,1.09E+0,9.19E-1,7.89E-1,6.86E-1,6.03E-1,4.80E-1,3.95E-1,
|
||||
+ 1.28E+0,1.11E+0,9.62E-1,8.33E-1,7.27E-1,6.40E-1,5.69E-1,4.59E-1,3.81E-1,
|
||||
+ 8.23E-1,7.90E-1,7.29E-1,6.64E-1,6.01E-1,5.44E-1,4.94E-1,4.12E-1,3.49E-1,
|
||||
+ 5.14E-1,5.36E-1,5.29E-1,5.07E-1,4.78E-1,4.47E-1,4.16E-1,3.60E-1,3.13E-1,
|
||||
+ 3.19E-1,3.58E-1,3.76E-1,3.78E-1,3.70E-1,3.57E-1,3.45E-1,3.08E-1,2.76E-1,
|
||||
+ 2.02E-1,2.40E-1,2.64E-1,2.77E-1,2.82E-1,2.80E-1,2.65E-1,2.59E-1,2.39E-1,
|
||||
+ 1.67E-1,1.96E-1,2.20E-1,2.36E-1,2.44E-1,2.47E-1,2.45E-1,2.35E-1,2.21E-1,
|
||||
+ 1.33E-1,1.61E-1,1.85E-1,2.02E-1,2.12E-1,2.18E-1,2.18E-1,2.14E-1,2.03E-1,
|
||||
+ 8.99E-2,1.12E-1,1.32E-1,1.48E-1,1.59E-1,1.67E-1,1.68E-1,1.75E-1,1.72E-1,
|
||||
+ 6.24E-2,7.94E-2,9.50E-2,1.09E-1,1.20E-1,1.29E-1,1.35E-1,1.42E-1,1.43E-1,
|
||||
+ 4.55E-2,5.74E-2,6.98E-2,8.11E-2,9.09E-2,9.92E-2,1.06E-1,1.15E-1,1.19E-1,
|
||||
+ 3.35E-2,4.22E-2,5.19E-2,6.11E-2,6.95E-2,7.69E-2,8.33E-2,9.28E-2,9.85E-2,
|
||||
+ 2.50E-2,3.16E-2,3.92E-2,4.66E-2,5.35E-2,6.00E-2,6.57E-2,7.49E-2,8.13E-2,
|
||||
+ 1.90E-2,2.40E-2,2.99E-2,3.58E-2,4.16E-2,4.70E-2,5.20E-2,6.05E-2,6.70E-2,
|
||||
+ 1.47E-2,1.86E-2,2.32E-2,2.79E-2,3.25E-2,3.70E-2,4.12E-2,4.89E-2,5.51E-2,
|
||||
+ 8.10E-3,1.04E-2,1.30E-2,1.57E-2,1.84E-2,2.12E-2,2.40E-2,2.93E-2,3.42E-2,
|
||||
+ 4.80E-3,6.20E-3,7.70E-3,9.30E-3,1.09E-2,1.26E-2,1.44E-2,1.79E-2,2.14E-2,
|
||||
+ 2.80E-3,3.80E-3,4.70E-3,5.70E-3,6.70E-3,7.50E-3,8.90E-3,1.13E-2,1.36E-2,
|
||||
+ 1.70E-3,2.30E-3,2.90E-3,3.60E-3,4.20E-3,4.90E-3,5.60E-3,7.20E-3,8.80E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,2.00E-3,2.80E-3,3.50E-3,
|
||||
+ 0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,0.00 ,8.80E-4,1.20E-3,1.60E-3/
|
||||
|
||||
real f1_C(7,nRowC)
|
||||
+ /3.65E-1,2.62E-1,2.05E-1,1.67E-1,1.41E-1,1.21E-1,1.05E-1,
|
||||
+ 3.33E-1,2.50E-1,1.95E-1,1.61E-1,1.36E-1,1.18E-1,1.03E-1,
|
||||
+ 2.75E-1,2.18E-1,1.76E-1,1.48E-1,1.27E-1,1.11E-1,9.80E-2,
|
||||
+ 2.04E-1,1.75E-1,1.50E-1,1.29E-1,1.13E-1,1.01E-1,9.00E-2,
|
||||
+ 1.41E-1,1.31E-1,1.19E-1,1.08E-1,9.71E-2,8.88E-2,8.01E-2,
|
||||
+ 9.32E-2,9.42E-2,9.10E-2,8.75E-2,8.00E-2,7.44E-2,6.91E-2,
|
||||
+ 5.98E-2,6.52E-2,6.72E-2,6.62E-2,6.40E-2,6.12E-2,5.82E-2,
|
||||
+ 3.83E-2,4.45E-2,4.80E-2,4.96E-2,4.98E-2,4.90E-2,4.77E-2,
|
||||
+ 2.46E-2,3.01E-2,3.40E-2,3.65E-2,3.79E-2,3.84E-2,3.83E-2,
|
||||
+ 1.59E-2,2.03E-2,2.39E-2,2.66E-2,2.85E-2,2.97E-2,3.04E-2,
|
||||
+ 1.04E-2,1.37E-2,1.66E-2,1.92E-2,2.12E-2,2.27E-2,2.37E-2,
|
||||
+ 4.39E-3,6.26E-3,8.26E-3,9.96E-3,1.15E-2,1.29E-2,1.41E-2,
|
||||
+ 2.06E-3,3.02E-3,4.24E-3,5.28E-3,6.32E-3,7.32E-3,8.26E-3,
|
||||
+ 1.21E-3,1.69E-3,2.24E-3,2.85E-3,3.50E-3,4.16E-3,4.82E-3,
|
||||
+ 8.50E-4,1.10E-3,1.38E-3,1.65E-3,2.03E-3,2.45E-3,2.88E-3,
|
||||
+ 5.90E-4,7.40E-4,8.50E-4,9.90E-4,1.23E-3,1.49E-3,1.71E-3,
|
||||
+ 3.90E-4,4.60E-4,5.20E-4,6.30E-4,7.65E-4,9.65E-4,1.12E-3,
|
||||
+ 2.40E-4,2.70E-4,3.10E-4,3.98E-4,4.97E-4,6.03E-4,7.18E-4,
|
||||
+ 1.50E-4,1.70E-4,2.15E-4,2.70E-4,3.35E-4,4.35E-4,5.00E-4,
|
||||
+ 1.00E-4,1.20E-4,1.46E-4,1.90E-4,2.40E-4,2.88E-4,3.43E-4,
|
||||
+ 0.00 ,0.00 ,1.04E-4,1.41E-4,1.80E-4,2.10E-4,2.50E-4,
|
||||
+ 0.00 ,0.00 ,8.20E-5,1.06E-4,1.38E-4,1.58E-4,1.85E-4,
|
||||
+ 0.00 ,0.00 ,5.40E-5,7.00E-5,8.60E-5,1.03E-4,1.20E-4,
|
||||
+ 0.00 ,0.00 ,4.20E-5,5.40E-5,6.50E-5,7.70E-5,8.80E-5/
|
||||
|
||||
real f2_A(9,nRowA)
|
||||
+ / 3.52E+3, 3.27E+2, 9.08E+1, 3.85E+1, 2.00E+1, 1.18E+1, 7.55E+0, 5.16E+0, 3.71E+0,
|
||||
+ 2.58E+2, 1.63E+2, 7.30E+1, 3.42E+1, 1.85E+1, 1.11E+1, 7.18E+0, 4.96E+0, 3.59E+0,
|
||||
+ -1.12E+2, 4.84E+0, 3.56E+1, 2.34E+1, 1.45E+1, 9.33E+0, 6.37E+0, 4.51E+0, 3.32E+0,
|
||||
+ -5.60E+1,-1.12E+1, 9.87E+0, 1.24E+1, 9.59E+0, 7.01E+0, 5.16E+0, 3.83E+0, 2.91E+0,
|
||||
+ -2.13E+1,-1.22E+1,-2.23E+0, 3.88E+0, 5.15E+0, 4.65E+0, 3.87E+0, 3.12E+0, 2.45E+0,
|
||||
+ -8.25E+0,-9.58E+0,-5.59E+0,-1.40E+0, 1.76E+0, 2.71E+0, 2.71E+0, 2.35E+0, 1.95E+0,
|
||||
+ -3.22E+0,-6.12E+0,-5.28E+0,-2.87E+0,-1.92E-1, 1.32E+0, 1.69E+0, 1.74E+0, 1.48E+0,
|
||||
+ -1.11E+0,-3.40E+0,-4.12E+0,-3.08E+0,-6.30E-1, 3.60E-1, 9.20E-1, 1.03E+0, 1.04E+0,
|
||||
+ -2.27E-1,-2.00E+0,-2.93E+0,-2.69E+0,-1.48E+0,-3.14E-1, 2.69E-1, 5.28E-1, 6.09E-1,
|
||||
+ 1.54E-1,-1.09E+0,-2.10E+0,-2.15E+0,-1.47E+0,-6.77E-1,-1.80E-1, 1.08E-1, 2.70E-1,
|
||||
+ 3.28E-1,-6.30E-1,-1.50E+0,-1.68E+0,-1.34E+0,-8.43E-1,-4.60E-1,-1.85E-1,-4.67E-3,
|
||||
+ 3.32E-1,-2.06E-1,-7.32E-1,-9.90E-1,-9.42E-1,-8.20E-1,-6.06E-1,-4.51E-1,-3.01E-1,
|
||||
+ 2.72E-1,-3.34E-2,-3.49E-1,-5.65E-1,-6.03E-1,-5.79E-1,-5.05E-1,-4.31E-1,-3.45E-1,
|
||||
+ 2.02E-1, 2.80E-2,-1.54E-1,-3.00E-1,-3.59E-1,-3.76E-1,-4.60E-1,-3.40E-1,-3.08E-1,
|
||||
+ 1.38E-1, 4.84E-2,-5.56E-2,-1.44E-1,-2.04E-1,-2.39E-1,-2.54E-1,-2.49E-1,-2.48E-1,
|
||||
+ 9.47E-2, 4.86E-2,-1.08E-2,-6.44E-2,-1.02E-1,-1.34E-1,-1.62E-1,-1.79E-1,-1.87E-1,
|
||||
+ 5.33E-2, 3.71E-2, 1.85E-2, 1.63E-3,-1.69E-2,-3.69E-2,-5.66E-2,-7.78E-2,-9.33E-2,
|
||||
+ 3.38E-2, 2.40E-2, 1.62E-2, 9.90E-3, 3.76E-3,-4.93E-3,-1.66E-2,-3.05E-2,-4.22E-2,
|
||||
+ 2.12E-2, 1.56E-2, 1.05E-2, 7.80E-3, 7.92E-3, 6.30E-3, 3.20E-4,-8.50E-3,-1.66E-2,
|
||||
+ 1.40E-2, 9.20E-3, 5.30E-3, 4.70E-3, 6.31E-3, 8.40E-3, 5.30E-3, 8.80E-4,-3.30E-3,
|
||||
+ 9.20E-3, 4.70E-3, 1.70E-3, 2.60E-3, 4.49E-3, 6.60E-3, 6.00E-3, 4.70E-3, 2.80E-3,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 /
|
||||
|
||||
real f2_B(9,nRowB)
|
||||
+ / 2.75E+0, 1.94E+0, 9.13E-1, 6.06E-1, 4.26E-1, 3.14E-1, 2.40E-1, 1.51E-1, 1.03E-1,
|
||||
+ 1.94E+0, 1.16E+0, 7.56E-1, 5.26E-1, 3.81E-1, 2.87E-1, 2.23E-1, 1.43E-1, 9.78E-2,
|
||||
+ 5.85E-1, 5.04E-1, 4.10E-1, 3.30E-1, 2.69E-1, 2.17E-1, 1.78E-1, 1.22E-1, 8.71E-2,
|
||||
+ 7.83E-2, 2.00E-1, 2.35E-1, 2.19E-1, 1.97E-1, 1.73E-1, 1.48E-1, 1.08E-1, 7.93E-2,
|
||||
+ -1.82E-1, 1.56E-2, 1.04E-1, 1.36E-1, 1.38E-1, 1.31E-1, 1.19E-1, 9.46E-2, 7.19E-2,
|
||||
+ -2.71E-1,-1.66E-1,-7.29E-2,-4.74E-3, 3.60E-2, 5.50E-2, 6.28E-2, 5.98E-2, 5.09E-2,
|
||||
+ -1.87E-1,-1.58E-1,-1.09E-1,-5.80E-2,-2.03E-2, 2.48E-3, 1.99E-2, 3.36E-2, 3.27E-2,
|
||||
+ -1.01E-1,-1.05E-1,-8.95E-2,-6.63E-2,-3.93E-2,-2.38E-2,-9.22E-3, 8.47E-3, 1.52E-2,
|
||||
+ -5.19E-2,-6.47E-2,-6.51E-2,-5.62E-2,-4.51E-2,-3.49E-2,-2.45E-2,-8.19E-3, 2.05E-3,
|
||||
+ -3.68E-2,-4.89E-2,-5.36E-2,-5.06E-2,-4.27E-2,-3.65E-2,-2.80E-2,-1.33E-2,-3.47E-3,
|
||||
+ -2.33E-2,-3.69E-2,-4.41E-2,-4.38E-2,-3.97E-2,-3.50E-2,-2.88E-2,-1.60E-2,-6.68E-3,
|
||||
+ -8.76E-3,-2.07E-2,-2.90E-2,-3.17E-2,-3.09E-2,-2.92E-2,-2.63E-2,-1.79E-2,-1.03E-2,
|
||||
+ -1.20E-3,-1.11E-2,-1.90E-2,-2.20E-2,-2.32E-2,-2.24E-2,-2.10E-2,-1.66E-2,-1.11E-2,
|
||||
+ 1.72E-3,-4.82E-3,-1.02E-2,-1.42E-2,-1.65E-2,-1.66E-2,-1.60E-2,-1.39E-2,-1.09E-2,
|
||||
+ 2.68E-3,-1.18E-3,-5.19E-3,-8.30E-5,-1.01E-2,-1.14E-2,-1.16E-2,-1.16E-2,-9.99E-3,
|
||||
+ 2.81E-3, 8.21E-4,-1.96E-3,-3.99E-3,-5.89E-3,-7.13E-3,-8.15E-3,-9.05E-3,-8.60E-3,
|
||||
+ 2.61E-3, 1.35E-3,-2.99E-4,-1.79E-3,-3.12E-3,-4.44E-3,-5.61E-3,-7.01E-3,-7.27E-3,
|
||||
+ 2.06E-3, 1.45E-3, 4.64E-4,-5.97E-4,-1.71E-3,-2.79E-3,-3.84E-3,-5.29E-3,-5.90E-3,
|
||||
+ 1.07E-3, 9.39E-4, 8.22E-4, 3.58E-4,-1.15E-4,-6.60E-4,-1.18E-3,-2.15E-3,-2.88E-3,
|
||||
+ 4.97E-4, 5.46E-4, 6.15E-4, 5.56E-4, 3.14E-4, 9.80E-5,-1.30E-4,-5.98E-4,-1.07E-4,
|
||||
+ 1.85E-4, 3.11E-4, 4.25E-4, 4.08E-4, 3.63E-4, 3.04E-4, 2.24E-4, 2.80E-5,-2.10E-4,
|
||||
+ 4.80E-5, 1.48E-4, 2.44E-4, 2.80E-4, 3.01E-4, 3.11E-4, 3.13E-4, 2.40E-4, 1.10E-4,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 1.39E-4, 1.80E-4, 1.80E-4,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 4.38E-5, 7.30E-5, 8.40E-5/
|
||||
|
||||
real f2_C(7,nRowC)
|
||||
+ / 7.36E-2, 4.21E-2, 2.69E-2, 1.83E-2, 1.34E-2, 1.01E-2, 7.88E-3,
|
||||
+ 5.79E-2, 3.61E-2, 2.34E-2, 1.64E-2, 1.21E-2, 9.26E-3, 7.28E-3,
|
||||
+ 2.94E-2, 2.17E-2, 1.60E-2, 1.23E-2, 9.49E-3, 7.45E-3, 5.95E-3,
|
||||
+ 2.30E-3, 7.07E-3, 7.76E-3, 7.02E-3, 6.13E-3, 5.17E-3, 4.34E-3,
|
||||
+ -7.50E-3,-2.00E-3, 9.93E-4, 2.36E-3, 2.82E-3, 2.86E-3, 2.72E-3,
|
||||
+ -8.27E-3,-5.37E-3,-2.58E-3,-7.96E-4, 3.75E-4, 9.71E-4, 1.28E-3,
|
||||
+ -5.79E-3,-5.12E-3,-3.86E-3,-2.46E-3,-1.20E-3,-3.74E-4, 1.74E-4,
|
||||
+ -3.26E-3,-3.43E-3,-3.26E-3,-2.68E-3,-1.84E-3,-1.12E-3,-4.54E-4,
|
||||
+ -1.46E-3,-1.49E-3,-2.20E-3,-2.18E-3,-1.85E-3,-1.40E-3,-8.15E-4,
|
||||
+ -4.29E-4,-9.44E-4,-1.29E-3,-1.50E-3,-1.51E-3,-1.36E-3,-9.57E-4,
|
||||
+ -3.30E-5,-3.66E-4,-6.78E-4,-9.38E-4,-1.09E-3,-1.09E-3,-9.56E-4,
|
||||
+ 1.50E-4, 3.10E-5,-1.38E-4,-3.06E-4,-4.67E-4,-5.48E-4,-6.08E-4,
|
||||
+ 1.00E-4, 8.50E-5, 2.30E-5,-6.60E-5,-1.58E-4,-2.40E-4,-3.05E-4,
|
||||
+ 5.40E-5, 6.50E-5, 4.90E-5, 1.20E-5,-3.60E-5,-8.90E-5,-1.31E-4,
|
||||
+ 2.90E-5, 4.30E-5, 4.40E-5, 2.90E-5, 5.10E-6,-2.20E-5,-4.80E-5,
|
||||
+ 1.40E-5, 2.40E-5, 2.80E-5, 2.60E-5, 1.90E-5, 7.50E-6,-1.10E-5,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 ,
|
||||
+ 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 , 0.00 /
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
||||
c Bestimme, welche Reihen der Tabellen fuer Interpolation benoetigt werden:
|
||||
|
||||
if (tau.LT.tau_(1)) then
|
||||
write(*,*) 'tau is less than the lowest tabulated value:'
|
||||
write(*,*) 'tau = ',tau
|
||||
write(*,*) 'minimum = ',tau_(1)
|
||||
call exit
|
||||
elseif (tau.GT.tau_(nColumn)) then
|
||||
write(*,*) 'tau is greater than the highest tabulated value:'
|
||||
write(*,*) 'tau = ',tau
|
||||
write(*,*) 'maximum = ',tau_(nColumn)
|
||||
call exit
|
||||
endif
|
||||
|
||||
column_ = 2
|
||||
do while (tau.GT.tau_(column_))
|
||||
column_ = column_ + 1
|
||||
enddo
|
||||
! Das Gewicht der Reihe zu groesserem Tau:
|
||||
weightCol = (tau-tau_(column_-1)) / (tau_(column_)-tau_(column_-1))
|
||||
|
||||
|
||||
c Besorge fuer gegebenes 'thetaSchlange' die interpolierten f1- und f2 -Werte
|
||||
c der beiden relevanten Reihen:
|
||||
c iColumn = 1 => Reihe mit hoeherem Index
|
||||
c iColumn = 2 => Reihe mit kleinerem Index
|
||||
|
||||
|
||||
iColumn = 1
|
||||
|
||||
|
||||
5 continue
|
||||
|
||||
if (column_.LE.9) then ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 1. Tabelle: 0.2 <= tau <= 1.8
|
||||
|
||||
column = column_
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeA(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeA(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeA(nRowA)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeA(nRowA)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeA(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeA(row-1)) /
|
||||
+ (thetaSchlangeA(row)-thetaSchlangeA(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_A(column,row-1) +
|
||||
+ weightRow * f1_A(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_A(column,row-1) +
|
||||
+ weightRow * f2_A(column,row)
|
||||
|
||||
|
||||
elseif (column_.LE.18) then ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 2. Tabelle: 2.0 <= tau <= 7.0
|
||||
|
||||
column = column_ - 9
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeB(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeB(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeB(nRowB)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeB(nRowB)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeB(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeB(row-1)) /
|
||||
+ (thetaSchlangeB(row)-thetaSchlangeB(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_B(column,row-1) +
|
||||
+ weightRow * f1_B(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_B(column,row-1) +
|
||||
+ weightRow * f2_B(column,row)
|
||||
|
||||
|
||||
else ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! Werte aus 3. Tabelle: 8.0 <= tau <= 20.
|
||||
|
||||
column = column_ - 18
|
||||
|
||||
if (thetaSchlange.LT.thetaSchlangeC(1)) then
|
||||
write(*,*) 'thetaSchlange is less than the lowest tabulated value in table 1:'
|
||||
write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
write(*,*) 'minimum = ',thetaSchlangeC(1)
|
||||
call exit
|
||||
elseif (thetaSchlange.GT.thetaSchlangeC(nRowC)) then
|
||||
c write(*,*) 'thetaSchlange is greater than the highest tabulated value in table 1:'
|
||||
c write(*,*) 'thetaSchlange = ',thetaSchlange
|
||||
c write(*,*) 'maximum = ',thetaSchlangeC(nRowC)
|
||||
c call exit
|
||||
thetaSchlange = -1.
|
||||
RETURN
|
||||
endif
|
||||
|
||||
row = 2
|
||||
do while (thetaSchlange.GT.thetaSchlangeC(row))
|
||||
row = row + 1
|
||||
enddo
|
||||
! Gewicht des Tabellenwertes zu groesseren ThetaSchlange:
|
||||
weightRow = (thetaSchlange-thetaSchlangeC(row-1)) /
|
||||
+ (thetaSchlangeC(row)-thetaSchlangeC(row-1))
|
||||
|
||||
f1_(iColumn) = (1.-weightRow) * f1_C(column,row-1) +
|
||||
+ weightRow * f1_C(column,row)
|
||||
f2_(iColumn) = (1.-weightRow) * f2_C(column,row-1) +
|
||||
+ weightRow * f2_C(column,row)
|
||||
|
||||
|
||||
endif ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
if (iColumn.EQ.1) then
|
||||
column_ = column_ - 1
|
||||
iColumn = 2
|
||||
goto 5
|
||||
endif
|
||||
|
||||
f1 = weightCol*f1_(1) + (1.-weightCol)*f1_(2)
|
||||
f2 = weightCol*f2_(1) + (1.-weightCol)*f2_(2)
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
c===============================================================================
|
||||
|
5466
geant4/TaoLEMuSR/MEYER/mutrack.for
Normal file
5466
geant4/TaoLEMuSR/MEYER/mutrack.for
Normal file
File diff suppressed because it is too large
Load Diff
195
geant4/TaoLEMuSR/MEYER/testmeyer.cc
Normal file
195
geant4/TaoLEMuSR/MEYER/testmeyer.cc
Normal file
@ -0,0 +1,195 @@
|
||||
#include<stdlib.h>
|
||||
#include<iostream>
|
||||
#include<sstream>
|
||||
#include<ios>
|
||||
#include<fstream>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include<ios>
|
||||
|
||||
#include"meyer.h"
|
||||
|
||||
void GFunctions(double*,double*, const double tau);
|
||||
|
||||
|
||||
|
||||
meyer GET;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
|
||||
// DECLARATION OF MEYER's PARAMETERS
|
||||
|
||||
/* Meyer's p255: "We consider a beam of initially parallel particles
|
||||
with mass m1 and atomic number Z1 which penetrates a material
|
||||
layer of thickness t with N atoms per unit volume of mass m2 and
|
||||
atomic number Z2. We assume that each scattering centre will be
|
||||
effective according to the scattering cross section
|
||||
dsigma/dŋ=¶a²f(ŋ)/ŋ² within a spherical volume of radius r0
|
||||
*/
|
||||
|
||||
|
||||
double a, a0, N; // screnqing parameter a
|
||||
double Z1, Z2, D; // charges numbers Z
|
||||
double epsilon, b; // reduced energy epsilon
|
||||
double mass1, mass2; // masses of incident & target particles
|
||||
double v; // velocity of incident particle
|
||||
double eta, theta; // eta = epsilon*sin(theta/2), (theta, scatt. angle)
|
||||
// cross section variable by Lindhard, Nielsen and Scharff
|
||||
double eSquare = 1.44E-10; // squared electric charge of electron in keV*cm
|
||||
|
||||
double tau,thetaSchlange, thick;
|
||||
double Energy;
|
||||
|
||||
std::cout<< "thickness? in µm/cm²" << std::endl;
|
||||
std::cin>>thick;
|
||||
thick=thick*1.0e-6/2;// density= 2g/cm³,
|
||||
// we want the conversion of thick in centimeter!
|
||||
|
||||
std::cout<<"Enter energy in keV: ";
|
||||
std::cin>>Energy;
|
||||
|
||||
|
||||
|
||||
// meyer's functions
|
||||
double g1,g2;
|
||||
double f1,f2;
|
||||
|
||||
|
||||
|
||||
// EXPRESSION OF MEYER's PARAMETERS
|
||||
|
||||
// The screening parameter
|
||||
// (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
Z1 = 1; Z2 = 6;
|
||||
a0=0.529e-8;//unit centimeter
|
||||
D= exp(2/3*log(Z1))+exp(2/3*log(Z2));
|
||||
a=0.885*a0/sqrt(D);//the screening parameter
|
||||
|
||||
// The reduced energy
|
||||
mass1=1/9;
|
||||
mass2=12;
|
||||
// b= 2*Z1*Z2*eSquare*(mass1+mass2)/(mass1*mass2*v*v);
|
||||
//b= Z1*Z2 * e²[keV*cm] * (m1+m2)/m2 * 1/Energy[keV]
|
||||
b= Z1*Z2*eSquare*(mass1+mass2)/(mass2*Energy);
|
||||
epsilon = a/b;
|
||||
std::cout<<"\n€: "<<epsilon <<std::endl;
|
||||
|
||||
// The variable eta
|
||||
eta= epsilon*sin(theta/2);
|
||||
|
||||
// Number of target per unit of volume
|
||||
// N= density of cfoil/atomicmassofcarbon
|
||||
// density= 2g/cm³
|
||||
// C_atomic_mass= 12 g/mole
|
||||
// N= 2/12*6.02e+23=1.0e+17
|
||||
N=1.0e+23;
|
||||
|
||||
|
||||
// The reduced thickness
|
||||
//a*a ~ 2.7e-17
|
||||
//thickness ~ 1.e-6
|
||||
//tau ~ e+23*e-17*e-6 ~ unit order
|
||||
tau = M_PI*a*a*N*thick;// whith the thickness in centimeter
|
||||
|
||||
std::cout<<"a "<<a<<std::endl;
|
||||
std::cout<<"tau "<<tau<<std::endl;
|
||||
|
||||
|
||||
|
||||
|
||||
/* std::cout<< "theta~? " << std::endl;
|
||||
std::cin>>thetaSchlange;
|
||||
|
||||
|
||||
GET.GFunctions(&g1,&g2,tau);
|
||||
|
||||
std::cout<< "g1("<<tau<<")= "<< g1 << std::endl;
|
||||
std::cout<< "g2("<<tau<<")= "<< g2 << std::endl;
|
||||
|
||||
// thetaSchlange=0;
|
||||
GET.F_Functions_Meyer( tau,thetaSchlange,&f1,&f2);
|
||||
std::cout<< "f1("<<tau<<","<<thetaSchlange<<")= "<< f1 << std::endl;
|
||||
std::cout<< "f2("<<tau<<","<<thetaSchlange<<")= "<< f2 << std::endl;
|
||||
*/
|
||||
|
||||
GET.Get_F_Function_Meyer( tau, epsilon, Z1,Z2,mass1,mass2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void GFunctions(double* g1,double *g2, const double tau)// PROVIDE VALUES OF G1 and G2 in function of TAU
|
||||
{
|
||||
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
//Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
//Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
//breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
//(1971))
|
||||
|
||||
|
||||
double help;
|
||||
|
||||
int i;
|
||||
|
||||
|
||||
double tau_[] = {0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
10.0, 12.0, 14.0, 16.0, 18.0, 20.0 };
|
||||
|
||||
double g1_[] = {0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
1.990,2.270,2.540,2.800,3.050,3.290 };
|
||||
|
||||
double g2_[] = {0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
0.30,0.26,0.22,0.18,0.15,0.13 };
|
||||
|
||||
|
||||
if (tau<tau_[1])
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist kleiner als kleinster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau<<std::endl;
|
||||
std::cout<<" tau_(1) = "<< tau_[1]<<std::endl;
|
||||
return;
|
||||
}
|
||||
i = 1;
|
||||
|
||||
do
|
||||
{
|
||||
i = i + 1;
|
||||
if (i==27)
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist groesser als groesster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau <<std::endl;
|
||||
std::cout<<" tau_[26] = "<< tau_[26] <<std::endl;
|
||||
break;
|
||||
}
|
||||
}while(tau>tau_[i]);
|
||||
|
||||
|
||||
//lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_[i-1])/(tau_[i]-tau_[i-1]);
|
||||
std::cout<<"help: "<<help<<std::endl;
|
||||
|
||||
*g1 = g1_[i-1] + help*(g1_[i]-g1_[i-1]);
|
||||
|
||||
*g2 = g2_[i-1] + help*(g2_[i]-g2_[i-1]);
|
||||
|
||||
std::cout<<"g1: "<<*g1<<std::endl;
|
||||
std::cout<<"g2: "<<*g2<<std::endl;
|
||||
|
||||
}
|
||||
|
194
geant4/TaoLEMuSR/MEYER/testmeyer.cc~
Normal file
194
geant4/TaoLEMuSR/MEYER/testmeyer.cc~
Normal file
@ -0,0 +1,194 @@
|
||||
#include<stdlib.h>
|
||||
#include<iostream>
|
||||
#include<sstream>
|
||||
#include<ios>
|
||||
#include<fstream>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include<ios>
|
||||
|
||||
#include"meyer.h"
|
||||
|
||||
void GFunctions(double*,double*, const double tau);
|
||||
|
||||
|
||||
|
||||
meyer GET;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
|
||||
// DECLARATION OF MEYER's PARAMETERS
|
||||
|
||||
/* Meyer's p255: "We consider a beam of initially parallel particles
|
||||
with mass m1 and atomic number Z1 which penetrates a material
|
||||
layer of thickness t with N atoms per unit volume of mass m2 and
|
||||
atomic number Z2. We assume that each scattering centre will be
|
||||
effective according to the scattering cross section
|
||||
dsigma/dŋ=¶a²f(ŋ)/ŋ² within a spherical volume of radius r0
|
||||
*/
|
||||
|
||||
|
||||
double a, a0, N; // screnqing parameter a
|
||||
double Z1, Z2, D; // charges numbers Z
|
||||
double epsilon, b; // reduced energy epsilon
|
||||
double mass1, mass2; // masses of incident & target particles
|
||||
double v; // velocity of incident particle
|
||||
double eta, theta; // eta = epsilon*sin(theta/2), (theta, scatt. angle)
|
||||
// cross section variable by Lindhard, Nielsen and Scharff
|
||||
double eSquare = 1.44E-10; // squared electric charge of electron in keV*cm
|
||||
|
||||
double tau,thetaSchlange, thick;
|
||||
double Energy;
|
||||
|
||||
std::cout<< "thickness? in µm" << std::endl;
|
||||
std::cin>>thick;
|
||||
thick=thick*1.0e-6;
|
||||
|
||||
std::cout<<"Enter energy in keV: ";
|
||||
std::cin>>Energy;
|
||||
|
||||
|
||||
|
||||
// meyer's functions
|
||||
double g1,g2;
|
||||
double f1,f2;
|
||||
|
||||
|
||||
|
||||
// EXPRESSION OF MEYER's PARAMETERS
|
||||
|
||||
// The screening parameter
|
||||
// (Z1 = 1, Z2 = 6, ScreeningPar = 2.5764E-9)
|
||||
Z1 = 1; Z2 = 6;
|
||||
a0=0.529e-8;//unit centimeter
|
||||
D= exp(2/3*log(Z1))+exp(2/3*log(Z2));
|
||||
a=0.885*a0/sqrt(D);//the screening parameter
|
||||
|
||||
// The reduced energy
|
||||
mass1=1/9;
|
||||
mass2=12;
|
||||
// b= 2*Z1*Z2*eSquare*(mass1+mass2)/(mass1*mass2*v*v);
|
||||
//b= Z1*Z2 * e²[keV*cm] * (m1+m2)/m2 * 1/Energy[keV]
|
||||
b= Z1*Z2*eSquare*(mass1+mass2)/(mass2*Energy);
|
||||
epsilon = a/b;
|
||||
std::cout<<"\n€: "<<epsilon <<std::endl;
|
||||
|
||||
// The variable eta
|
||||
eta= epsilon*sin(theta/2);
|
||||
|
||||
// Number of target per unit of volume
|
||||
// N= density of cfoil/atomicmassofcarbon
|
||||
// density= 2g/cm³
|
||||
// C_atomic_mass= 12 g/mole
|
||||
// N= 2/12*6.02e+23=1.0e+17
|
||||
N=1.0e+23;
|
||||
|
||||
|
||||
// The reduced thickness
|
||||
//a*a ~ 2.7e-17
|
||||
//thickness ~ 1.e-6
|
||||
//tau ~ e+23*e-17*e-6 ~ unit order
|
||||
tau = M_PI*a*a*N*thick;// whith the thickness in centimeter
|
||||
|
||||
std::cout<<"a "<<a<<std::endl;
|
||||
std::cout<<"tau "<<tau<<std::endl;
|
||||
|
||||
|
||||
|
||||
|
||||
/* std::cout<< "theta~? " << std::endl;
|
||||
std::cin>>thetaSchlange;
|
||||
|
||||
|
||||
GET.GFunctions(&g1,&g2,tau);
|
||||
|
||||
std::cout<< "g1("<<tau<<")= "<< g1 << std::endl;
|
||||
std::cout<< "g2("<<tau<<")= "<< g2 << std::endl;
|
||||
|
||||
// thetaSchlange=0;
|
||||
GET.F_Functions_Meyer( tau,thetaSchlange,&f1,&f2);
|
||||
std::cout<< "f1("<<tau<<","<<thetaSchlange<<")= "<< f1 << std::endl;
|
||||
std::cout<< "f2("<<tau<<","<<thetaSchlange<<")= "<< f2 << std::endl;
|
||||
*/
|
||||
|
||||
GET.Get_F_Function_Meyer( tau, epsilon, Z1,Z2,mass1,mass2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void GFunctions(double* g1,double *g2, const double tau)// PROVIDE VALUES OF G1 and G2 in function of TAU
|
||||
{
|
||||
|
||||
|
||||
//Diese Routine gibt in Abhaengigkeit von der reduzierten Dicke 'tau'
|
||||
//Funktionswerte fuer g1 und g2 zurueck. g1 und g2 sind dabei die von
|
||||
//Meyer angegebenen tabellierten Funktionen fuer die Berechnung von Halbwerts-
|
||||
//breiten von Streuwinkelverteilungen. (L.Meyer, phys.stat.sol. (b) 44, 253
|
||||
//(1971))
|
||||
|
||||
|
||||
double help;
|
||||
|
||||
int i;
|
||||
|
||||
|
||||
double tau_[] = {0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,
|
||||
2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 7.0, 8.0, 9.0,
|
||||
10.0, 12.0, 14.0, 16.0, 18.0, 20.0 };
|
||||
|
||||
double g1_[] = {0.050,0.115,0.183,0.245,0.305,0.363,0.419,0.473,0.525,0.575,
|
||||
0.689,0.799,0.905,1.010,1.100,1.190,1.370,1.540,1.700,1.850,
|
||||
1.990,2.270,2.540,2.800,3.050,3.290 };
|
||||
|
||||
double g2_[] = {0.00,1.25,0.91,0.79,0.73,0.69,0.65,0.63,0.61,0.59,
|
||||
0.56,0.53,0.50,0.47,0.45,0.43,0.40,0.37,0.34,0.32,
|
||||
0.30,0.26,0.22,0.18,0.15,0.13 };
|
||||
|
||||
|
||||
if (tau<tau_[1])
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist kleiner als kleinster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau<<std::endl;
|
||||
std::cout<<" tau_(1) = "<< tau_[1]<<std::endl;
|
||||
return;
|
||||
}
|
||||
i = 1;
|
||||
|
||||
do
|
||||
{
|
||||
i = i + 1;
|
||||
if (i==27)
|
||||
{
|
||||
std::cout<<"SUBROUTINE G_Functions:"<<std::endl;
|
||||
std::cout<<" Fehler bei Berechnung der g-Funktionen fuer Winkelaufstreuung:"<<std::endl;
|
||||
std::cout<<" aktuelles tau ist groesser als groesster Tabellenwert:"<<std::endl;
|
||||
std::cout<<" tau = "<< tau <<std::endl;
|
||||
std::cout<<" tau_[26] = "<< tau_[26] <<std::endl;
|
||||
break;
|
||||
}
|
||||
}while(tau>tau_[i]);
|
||||
|
||||
|
||||
//lineare Interpolation zwischen Tabellenwerten:
|
||||
|
||||
help = (tau-tau_[i-1])/(tau_[i]-tau_[i-1]);
|
||||
std::cout<<"help: "<<help<<std::endl;
|
||||
|
||||
*g1 = g1_[i-1] + help*(g1_[i]-g1_[i-1]);
|
||||
|
||||
*g2 = g2_[i-1] + help*(g2_[i]-g2_[i-1]);
|
||||
|
||||
std::cout<<"g1: "<<*g1<<std::endl;
|
||||
std::cout<<"g2: "<<*g2<<std::endl;
|
||||
|
||||
}
|
||||
|
730
geant4/TaoLEMuSR/MEYER/testmeyer.eps
Normal file
730
geant4/TaoLEMuSR/MEYER/testmeyer.eps
Normal file
@ -0,0 +1,730 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: testmeyer.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Mon Apr 11 19:32:51 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
574 280 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 280 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
490 280 M
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 739 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 739 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
490 739 M
|
||||
( 0.1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 1198 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 1198 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.2) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 1658 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 1658 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.3) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 2117 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 2117 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.4) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 2576 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 2576 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 3035 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 3035 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.6) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 3494 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 3494 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.7) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 3954 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 3954 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.8) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 4413 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 4413 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 0.9) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 4872 M
|
||||
6388 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 4872 M
|
||||
63 0 V
|
||||
6325 0 R
|
||||
-63 0 V
|
||||
-6409 0 R
|
||||
( 1) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
574 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
574 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
574 140 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1284 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1284 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1994 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1994 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 10) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2703 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2703 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 15) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3413 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3413 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 20) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4123 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4123 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 25) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4833 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4833 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 30) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5542 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5542 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 35) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6252 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6252 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 40) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 45) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
574 280 M
|
||||
6388 0 V
|
||||
0 4592 V
|
||||
-6388 0 V
|
||||
574 280 L
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('testmeyer.out' us 1:2) Rshow
|
||||
645 4872 Pls
|
||||
716 4842 Pls
|
||||
787 4812 Pls
|
||||
858 4782 Pls
|
||||
929 4753 Pls
|
||||
1000 4707 Pls
|
||||
1071 4611 Pls
|
||||
1142 4516 Pls
|
||||
1213 4420 Pls
|
||||
1284 4325 Pls
|
||||
1355 4217 Pls
|
||||
1426 4097 Pls
|
||||
1497 3975 Pls
|
||||
1568 3837 Pls
|
||||
1639 3698 Pls
|
||||
1710 3560 Pls
|
||||
1781 3423 Pls
|
||||
1852 3285 Pls
|
||||
1923 3147 Pls
|
||||
1994 3010 Pls
|
||||
2065 2877 Pls
|
||||
2136 2745 Pls
|
||||
2206 2613 Pls
|
||||
2277 2480 Pls
|
||||
2348 2353 Pls
|
||||
2419 2242 Pls
|
||||
2490 2131 Pls
|
||||
2561 2020 Pls
|
||||
2632 1910 Pls
|
||||
2703 1809 Pls
|
||||
2774 1722 Pls
|
||||
2845 1634 Pls
|
||||
2916 1546 Pls
|
||||
2987 1458 Pls
|
||||
3058 1382 Pls
|
||||
3129 1311 Pls
|
||||
3200 1243 Pls
|
||||
3271 1184 Pls
|
||||
3342 1124 Pls
|
||||
3413 1076 Pls
|
||||
3484 1029 Pls
|
||||
3555 982 Pls
|
||||
3626 935 Pls
|
||||
3697 890 Pls
|
||||
3768 855 Pls
|
||||
3839 821 Pls
|
||||
3910 787 Pls
|
||||
3981 753 Pls
|
||||
4052 723 Pls
|
||||
4123 698 Pls
|
||||
4194 674 Pls
|
||||
4265 649 Pls
|
||||
4336 625 Pls
|
||||
4407 605 Pls
|
||||
4478 586 Pls
|
||||
4549 568 Pls
|
||||
4620 550 Pls
|
||||
4691 532 Pls
|
||||
4762 519 Pls
|
||||
4833 507 Pls
|
||||
4904 495 Pls
|
||||
4975 483 Pls
|
||||
5046 471 Pls
|
||||
5117 461 Pls
|
||||
5188 452 Pls
|
||||
5259 442 Pls
|
||||
5330 433 Pls
|
||||
5400 425 Pls
|
||||
5471 418 Pls
|
||||
5542 411 Pls
|
||||
5613 404 Pls
|
||||
5684 397 Pls
|
||||
5755 392 Pls
|
||||
5826 388 Pls
|
||||
5897 383 Pls
|
||||
5968 379 Pls
|
||||
6039 375 Pls
|
||||
6110 371 Pls
|
||||
6181 367 Pls
|
||||
6252 362 Pls
|
||||
6323 358 Pls
|
||||
6394 354 Pls
|
||||
6465 350 Pls
|
||||
6536 345 Pls
|
||||
6607 343 Pls
|
||||
6678 340 Pls
|
||||
6749 338 Pls
|
||||
6820 336 Pls
|
||||
6891 334 Pls
|
||||
6962 332 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
(exp\(-x*x/200.\)) Rshow
|
||||
6395 4599 M
|
||||
399 0 V
|
||||
574 4872 M
|
||||
65 -5 V
|
||||
64 -14 V
|
||||
65 -23 V
|
||||
64 -33 V
|
||||
65 -42 V
|
||||
64 -51 V
|
||||
65 -59 V
|
||||
64 -67 V
|
||||
65 -75 V
|
||||
64 -82 V
|
||||
65 -89 V
|
||||
64 -95 V
|
||||
65 -101 V
|
||||
64 -106 V
|
||||
65 -110 V
|
||||
64 -115 V
|
||||
65 -118 V
|
||||
64 -121 V
|
||||
65 -123 V
|
||||
65 -125 V
|
||||
64 -126 V
|
||||
65 -127 V
|
||||
64 -126 V
|
||||
65 -126 V
|
||||
64 -125 V
|
||||
65 -124 V
|
||||
64 -122 V
|
||||
65 -119 V
|
||||
64 -117 V
|
||||
65 -114 V
|
||||
64 -110 V
|
||||
65 -108 V
|
||||
64 -103 V
|
||||
65 -100 V
|
||||
64 -96 V
|
||||
65 -91 V
|
||||
64 -88 V
|
||||
65 -83 V
|
||||
64 -79 V
|
||||
65 -75 V
|
||||
65 -70 V
|
||||
64 -67 V
|
||||
65 -62 V
|
||||
64 -59 V
|
||||
65 -54 V
|
||||
64 -51 V
|
||||
65 -47 V
|
||||
64 -44 V
|
||||
65 -41 V
|
||||
64 -37 V
|
||||
65 -34 V
|
||||
64 -32 V
|
||||
65 -29 V
|
||||
64 -26 V
|
||||
65 -24 V
|
||||
64 -22 V
|
||||
65 -20 V
|
||||
64 -18 V
|
||||
65 -16 V
|
||||
65 -15 V
|
||||
64 -13 V
|
||||
65 -11 V
|
||||
64 -11 V
|
||||
65 -9 V
|
||||
64 -9 V
|
||||
65 -7 V
|
||||
64 -7 V
|
||||
65 -5 V
|
||||
64 -5 V
|
||||
65 -5 V
|
||||
64 -4 V
|
||||
65 -3 V
|
||||
64 -3 V
|
||||
65 -3 V
|
||||
64 -2 V
|
||||
65 -2 V
|
||||
64 -2 V
|
||||
65 -1 V
|
||||
64 -2 V
|
||||
65 -1 V
|
||||
65 -1 V
|
||||
64 -1 V
|
||||
65 0 V
|
||||
64 -1 V
|
||||
65 0 V
|
||||
64 -1 V
|
||||
65 0 V
|
||||
64 0 V
|
||||
65 -1 V
|
||||
64 0 V
|
||||
65 0 V
|
||||
64 0 V
|
||||
65 0 V
|
||||
64 -1 V
|
||||
65 0 V
|
||||
64 0 V
|
||||
65 0 V
|
||||
64 0 V
|
||||
65 0 V
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
168
geant4/TaoLEMuSR/MEYER/testmeyer.out
Normal file
168
geant4/TaoLEMuSR/MEYER/testmeyer.out
Normal file
@ -0,0 +1,168 @@
|
||||
0.25 1 0
|
||||
0.5 0.992913 0.0225723
|
||||
0.75 0.985827 0.0448219
|
||||
1 0.97874 0.0667484
|
||||
1.25 0.971653 0.0883516
|
||||
1.5 0.964567 0.109631
|
||||
1.75 0.95748 0.130586
|
||||
2 0.950393 0.151216
|
||||
2.25 0.943307 0.171522
|
||||
2.5 0.93622 0.191502
|
||||
2.75 0.929133 0.211157
|
||||
3 0.922047 0.230486
|
||||
3.25 0.914747 0.24943
|
||||
3.5 0.901904 0.266401
|
||||
3.75 0.88906 0.282784
|
||||
4 0.876217 0.298578
|
||||
4.25 0.863373 0.313784
|
||||
4.5 0.85053 0.328402
|
||||
4.75 0.837686 0.34243
|
||||
5 0.824843 0.355871
|
||||
5.25 0.811999 0.368722
|
||||
5.5 0.799156 0.380985
|
||||
5.75 0.786313 0.392659
|
||||
6 0.773469 0.403744
|
||||
6.25 0.760398 0.414117
|
||||
6.5 0.744472 0.422272
|
||||
6.75 0.728546 0.429698
|
||||
7 0.71262 0.436397
|
||||
7.25 0.696695 0.442369
|
||||
7.5 0.680769 0.447613
|
||||
7.75 0.664843 0.452131
|
||||
8 0.648917 0.455922
|
||||
8.25 0.632991 0.458987
|
||||
8.5 0.617066 0.461327
|
||||
8.75 0.60114 0.46294
|
||||
9 0.585214 0.463829
|
||||
9.25 0.569446 0.464122
|
||||
9.5 0.554942 0.464757
|
||||
9.75 0.540438 0.464732
|
||||
10 0.525934 0.464048
|
||||
10.25 0.51143 0.462705
|
||||
10.5 0.496926 0.460704
|
||||
10.75 0.482422 0.458045
|
||||
11 0.467918 0.454729
|
||||
11.25 0.453414 0.450756
|
||||
11.5 0.438911 0.446128
|
||||
11.75 0.424407 0.440844
|
||||
12 0.409903 0.434906
|
||||
12.25 0.395826 0.428777
|
||||
12.5 0.384215 0.424738
|
||||
12.75 0.372603 0.420176
|
||||
13 0.360992 0.41509
|
||||
13.25 0.349381 0.409482
|
||||
13.5 0.337769 0.403351
|
||||
13.75 0.326158 0.396699
|
||||
14 0.314547 0.389526
|
||||
14.25 0.302935 0.381832
|
||||
14.5 0.291324 0.37362
|
||||
14.75 0.279713 0.364888
|
||||
15 0.268101 0.355638
|
||||
15.25 0.257257 0.346906
|
||||
15.5 0.2498 0.342331
|
||||
15.75 0.242342 0.337423
|
||||
16 0.234884 0.332182
|
||||
16.25 0.227427 0.326608
|
||||
16.5 0.219969 0.320703
|
||||
16.75 0.212512 0.314465
|
||||
17 0.205054 0.307896
|
||||
17.25 0.197597 0.300997
|
||||
17.5 0.190139 0.293768
|
||||
17.75 0.182681 0.286209
|
||||
18 0.175224 0.278322
|
||||
18.25 0.168288 0.270946
|
||||
18.5 0.163185 0.266255
|
||||
18.75 0.158081 0.261339
|
||||
19 0.152978 0.256198
|
||||
19.25 0.147875 0.250832
|
||||
19.5 0.142771 0.245242
|
||||
19.75 0.137668 0.239428
|
||||
20 0.132565 0.233391
|
||||
20.25 0.127461 0.227131
|
||||
20.5 0.122358 0.220649
|
||||
20.75 0.117254 0.213945
|
||||
21 0.112151 0.20702
|
||||
21.25 0.107525 0.200765
|
||||
21.5 0.104268 0.196895
|
||||
21.75 0.101012 0.192883
|
||||
22 0.0977547 0.18873
|
||||
22.25 0.0944979 0.184436
|
||||
22.5 0.0912411 0.180001
|
||||
22.75 0.0879843 0.175425
|
||||
23 0.0847275 0.17071
|
||||
23.25 0.0814706 0.165854
|
||||
23.5 0.0782138 0.160859
|
||||
23.75 0.074957 0.155725
|
||||
24 0.0717002 0.150453
|
||||
24.25 0.0687955 0.145788
|
||||
24.5 0.0667302 0.142796
|
||||
24.75 0.0646649 0.139715
|
||||
25 0.0625997 0.136547
|
||||
25.25 0.0605344 0.13329
|
||||
25.5 0.0584691 0.129946
|
||||
25.75 0.0564039 0.126515
|
||||
26 0.0543386 0.122996
|
||||
26.25 0.0522733 0.11939
|
||||
26.5 0.0502081 0.115698
|
||||
26.75 0.0481428 0.11192
|
||||
27 0.0460775 0.108055
|
||||
27.25 0.044267 0.104707
|
||||
27.5 0.0429681 0.102504
|
||||
27.75 0.0416691 0.100246
|
||||
28 0.0403702 0.0979343
|
||||
28.25 0.0390712 0.0955684
|
||||
28.5 0.0377723 0.0931484
|
||||
28.75 0.0364734 0.0906747
|
||||
29 0.0351744 0.0881474
|
||||
29.25 0.0338755 0.0855666
|
||||
29.5 0.0325765 0.0829325
|
||||
29.75 0.0312776 0.0802453
|
||||
30 0.0299787 0.0775052
|
||||
30.25 0.0288986 0.0752825
|
||||
30.5 0.0281921 0.0739965
|
||||
30.75 0.0274857 0.0726814
|
||||
31 0.0267793 0.0713373
|
||||
31.25 0.0260729 0.0699641
|
||||
31.5 0.0253664 0.0685622
|
||||
31.75 0.02466 0.0671314
|
||||
32 0.0239536 0.065672
|
||||
32.25 0.0232471 0.064184
|
||||
32.5 0.0225407 0.0626676
|
||||
32.75 0.0218343 0.0611228
|
||||
33 0.0211279 0.0595497
|
||||
33.25 0.0204214 0.0579485
|
||||
33.5 0.019715 0.0563193
|
||||
33.75 0.0190086 0.0546621
|
||||
34 0.0183021 0.0529771
|
||||
34.25 0.0175957 0.0512644
|
||||
34.5 0.0168893 0.0495241
|
||||
34.75 0.0161829 0.0477563
|
||||
35 0.0154764 0.0459611
|
||||
35.25 0.01477 0.0441387
|
||||
35.5 0.0140636 0.0422891
|
||||
35.75 0.0133571 0.0404124
|
||||
36 0.0126507 0.0385089
|
||||
36.25 0.0121367 0.0371678
|
||||
36.5 0.0118644 0.0365518
|
||||
36.75 0.0115921 0.0359251
|
||||
37 0.0113198 0.0352878
|
||||
37.25 0.0110475 0.0346398
|
||||
37.5 0.0107752 0.0339814
|
||||
37.75 0.0105029 0.0333124
|
||||
38 0.0102307 0.032633
|
||||
38.25 0.00995837 0.0319431
|
||||
38.5 0.00968607 0.0312429
|
||||
38.75 0.00941378 0.0305324
|
||||
39 0.00914149 0.0298116
|
||||
39.25 0.0088692 0.0290806
|
||||
39.5 0.0085969 0.0283394
|
||||
39.75 0.00832461 0.0275881
|
||||
40 0.00805232 0.0268267
|
||||
40.25 0.00778003 0.0260553
|
||||
40.5 0.00750774 0.0252739
|
||||
40.75 0.00723544 0.0244826
|
||||
41 0.00696315 0.0236814
|
||||
41.25 0.00669086 0.0228703
|
||||
41.5 0.00641857 0.0220495
|
||||
41.75 0.00614628 0.021219
|
||||
42 0.00587398 0.0203787
|
BIN
geant4/TaoLEMuSR/MEYER/testmeyer.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/testmeyer.pdf
Normal file
Binary file not shown.
703
geant4/TaoLEMuSR/MEYER/testmeyer2.eps
Normal file
703
geant4/TaoLEMuSR/MEYER/testmeyer2.eps
Normal file
@ -0,0 +1,703 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Title: testmeyer2.eps
|
||||
%%Creator: gnuplot 3.7 patchlevel 3
|
||||
%%CreationDate: Mon Apr 11 15:40:40 2005
|
||||
%%DocumentFonts: (atend)
|
||||
%%BoundingBox: 50 50 554 770
|
||||
%%Orientation: Landscape
|
||||
%%Pages: (atend)
|
||||
%%EndComments
|
||||
/gnudict 256 dict def
|
||||
gnudict begin
|
||||
/Color true def
|
||||
/Solid false def
|
||||
/gnulinewidth 5.000 def
|
||||
/userlinewidth gnulinewidth def
|
||||
/vshift -46 def
|
||||
/dl {10 mul} def
|
||||
/hpt_ 31.5 def
|
||||
/vpt_ 31.5 def
|
||||
/hpt hpt_ def
|
||||
/vpt vpt_ def
|
||||
/M {moveto} bind def
|
||||
/L {lineto} bind def
|
||||
/R {rmoveto} bind def
|
||||
/V {rlineto} bind def
|
||||
/vpt2 vpt 2 mul def
|
||||
/hpt2 hpt 2 mul def
|
||||
/Lshow { currentpoint stroke M
|
||||
0 vshift R show } def
|
||||
/Rshow { currentpoint stroke M
|
||||
dup stringwidth pop neg vshift R show } def
|
||||
/Cshow { currentpoint stroke M
|
||||
dup stringwidth pop -2 div vshift R show } def
|
||||
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
|
||||
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
|
||||
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
|
||||
{pop pop pop Solid {pop []} if 0 setdash} ifelse } def
|
||||
/BL { stroke userlinewidth 2 mul setlinewidth } def
|
||||
/AL { stroke userlinewidth 2 div setlinewidth } def
|
||||
/UL { dup gnulinewidth mul /userlinewidth exch def
|
||||
dup 1 lt {pop 1} if 10 mul /udl exch def } def
|
||||
/PL { stroke userlinewidth setlinewidth } def
|
||||
/LTb { BL [] 0 0 0 DL } def
|
||||
/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def
|
||||
/LT0 { PL [] 1 0 0 DL } def
|
||||
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
|
||||
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
|
||||
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
|
||||
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
|
||||
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
|
||||
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
|
||||
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
|
||||
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
|
||||
/Pnt { stroke [] 0 setdash
|
||||
gsave 1 setlinecap M 0 0 V stroke grestore } def
|
||||
/Dia { stroke [] 0 setdash 2 copy vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke
|
||||
Pnt } def
|
||||
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
|
||||
currentpoint stroke M
|
||||
hpt neg vpt neg R hpt2 0 V stroke
|
||||
} def
|
||||
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke
|
||||
Pnt } def
|
||||
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
hpt2 vpt2 neg V currentpoint stroke M
|
||||
hpt2 neg 0 R hpt2 vpt2 V stroke } def
|
||||
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/Star { 2 copy Pls Crs } def
|
||||
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath fill } def
|
||||
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath fill } def
|
||||
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke
|
||||
Pnt } def
|
||||
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath fill} def
|
||||
/DiaF { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath fill } def
|
||||
/Pent { stroke [] 0 setdash 2 copy gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore Pnt } def
|
||||
/PentF { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath fill grestore } def
|
||||
/Circle { stroke [] 0 setdash 2 copy
|
||||
hpt 0 360 arc stroke Pnt } def
|
||||
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
|
||||
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def
|
||||
/C1 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C2 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C3 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C4 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C5 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc
|
||||
2 copy moveto
|
||||
2 copy vpt 180 270 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C6 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C7 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 270 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C8 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C9 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 270 450 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 90 180 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C11 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 180 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 270 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C12 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C13 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 0 90 arc closepath fill
|
||||
2 copy moveto
|
||||
2 copy vpt 180 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/C14 { BL [] 0 setdash 2 copy moveto
|
||||
2 copy vpt 90 360 arc closepath fill
|
||||
vpt 0 360 arc } bind def
|
||||
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
|
||||
vpt 0 360 arc closepath } bind def
|
||||
/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
|
||||
neg 0 rlineto closepath } bind def
|
||||
/Square { dup Rec } bind def
|
||||
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
|
||||
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
|
||||
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
|
||||
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
|
||||
exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
|
||||
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
|
||||
2 copy vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
|
||||
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
|
||||
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
|
||||
Bsquare } bind def
|
||||
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
|
||||
Bsquare } bind def
|
||||
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
|
||||
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy vpt Square fill Bsquare } bind def
|
||||
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
|
||||
2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
|
||||
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
|
||||
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
|
||||
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
|
||||
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
|
||||
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
|
||||
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
|
||||
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
|
||||
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
|
||||
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
|
||||
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
|
||||
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
|
||||
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
|
||||
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
|
||||
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
|
||||
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
|
||||
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
|
||||
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
|
||||
/DiaE { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V closepath stroke } def
|
||||
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V closepath stroke } def
|
||||
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V closepath stroke } def
|
||||
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V closepath stroke } def
|
||||
/PentE { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
closepath stroke grestore } def
|
||||
/CircE { stroke [] 0 setdash
|
||||
hpt 0 360 arc stroke } def
|
||||
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
|
||||
/DiaW { stroke [] 0 setdash vpt add M
|
||||
hpt neg vpt neg V hpt vpt neg V
|
||||
hpt vpt V hpt neg vpt V Opaque stroke } def
|
||||
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
|
||||
0 vpt2 neg V hpt2 0 V 0 vpt2 V
|
||||
hpt2 neg 0 V Opaque stroke } def
|
||||
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
|
||||
hpt neg vpt -1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt 1.62 mul V Opaque stroke } def
|
||||
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
|
||||
hpt neg vpt 1.62 mul V
|
||||
hpt 2 mul 0 V
|
||||
hpt neg vpt -1.62 mul V Opaque stroke } def
|
||||
/PentW { stroke [] 0 setdash gsave
|
||||
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
|
||||
Opaque stroke grestore } def
|
||||
/CircW { stroke [] 0 setdash
|
||||
hpt 0 360 arc Opaque stroke } def
|
||||
/BoxFill { gsave Rec 1 setgray fill grestore } def
|
||||
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
|
||||
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
|
||||
currentdict end definefont pop
|
||||
end
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gnudict begin
|
||||
gsave
|
||||
50 50 translate
|
||||
0.100 0.100 scale
|
||||
90 rotate
|
||||
0 -5040 translate
|
||||
0 setgray
|
||||
newpath
|
||||
(Helvetica) findfont 140 scalefont setfont
|
||||
1.000 UL
|
||||
LTb
|
||||
1.000 UL
|
||||
LTa
|
||||
490 280 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 280 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
406 280 M
|
||||
(-5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 1045 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 1045 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 0) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 1811 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 1811 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 5) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 2576 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 2576 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 10) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 3341 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 3341 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 15) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 4107 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 4107 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 20) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 4872 M
|
||||
6472 0 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 4872 M
|
||||
63 0 V
|
||||
6409 0 R
|
||||
-63 0 V
|
||||
-6493 0 R
|
||||
( 25) Rshow
|
||||
1.000 UL
|
||||
LTa
|
||||
490 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
490 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
490 140 M
|
||||
( 0) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
1299 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
1299 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 1) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2108 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2108 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 2) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
2917 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
2917 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 3) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
3726 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
3726 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 4) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
4535 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
4535 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 5) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
5344 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
5344 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 6) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6153 280 M
|
||||
0 4249 V
|
||||
0 280 R
|
||||
0 63 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6153 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 7) Cshow
|
||||
1.000 UL
|
||||
LTa
|
||||
6962 280 M
|
||||
0 4592 V
|
||||
1.000 UL
|
||||
LTb
|
||||
6962 280 M
|
||||
0 63 V
|
||||
0 4529 R
|
||||
0 -63 V
|
||||
0 -4669 R
|
||||
( 8) Cshow
|
||||
1.000 UL
|
||||
LTb
|
||||
490 280 M
|
||||
6472 0 V
|
||||
0 4592 V
|
||||
-6472 0 V
|
||||
490 280 L
|
||||
1.000 UP
|
||||
1.000 UL
|
||||
LT0
|
||||
6311 4739 M
|
||||
('testmeyer.out' us 1:3) Rshow
|
||||
541 1045 Pls
|
||||
591 1624 Pls
|
||||
642 2186 Pls
|
||||
692 2715 Pls
|
||||
743 3186 Pls
|
||||
793 3596 Pls
|
||||
844 3932 Pls
|
||||
895 4180 Pls
|
||||
945 4352 Pls
|
||||
996 4445 Pls
|
||||
1046 4475 Pls
|
||||
1097 4447 Pls
|
||||
1147 4374 Pls
|
||||
1198 4268 Pls
|
||||
1248 4126 Pls
|
||||
1299 3965 Pls
|
||||
1350 3804 Pls
|
||||
1400 3635 Pls
|
||||
1451 3436 Pls
|
||||
1501 3255 Pls
|
||||
1552 3090 Pls
|
||||
1602 2908 Pls
|
||||
1653 2740 Pls
|
||||
1704 2590 Pls
|
||||
1754 2431 Pls
|
||||
1805 2286 Pls
|
||||
1855 2166 Pls
|
||||
1906 2043 Pls
|
||||
1956 1929 Pls
|
||||
2007 1836 Pls
|
||||
2057 1743 Pls
|
||||
2108 1657 Pls
|
||||
2159 1595 Pls
|
||||
2209 1533 Pls
|
||||
2260 1472 Pls
|
||||
2310 1412 Pls
|
||||
2361 1355 Pls
|
||||
2411 1303 Pls
|
||||
2462 1271 Pls
|
||||
2513 1241 Pls
|
||||
2563 1211 Pls
|
||||
2614 1184 Pls
|
||||
2664 1158 Pls
|
||||
2715 1135 Pls
|
||||
2765 1119 Pls
|
||||
2816 1104 Pls
|
||||
2866 1090 Pls
|
||||
2917 1077 Pls
|
||||
2968 1066 Pls
|
||||
3018 1056 Pls
|
||||
3069 1047 Pls
|
||||
3119 1040 Pls
|
||||
3170 1034 Pls
|
||||
3220 1028 Pls
|
||||
3271 1023 Pls
|
||||
3322 1020 Pls
|
||||
3372 1016 Pls
|
||||
3423 1013 Pls
|
||||
3473 1011 Pls
|
||||
3524 1009 Pls
|
||||
3574 1008 Pls
|
||||
3625 1007 Pls
|
||||
3675 1006 Pls
|
||||
3726 1005 Pls
|
||||
3777 1004 Pls
|
||||
3827 1003 Pls
|
||||
3878 1003 Pls
|
||||
3928 1003 Pls
|
||||
3979 1003 Pls
|
||||
4029 1004 Pls
|
||||
4080 1005 Pls
|
||||
4131 1006 Pls
|
||||
4181 1007 Pls
|
||||
4232 1009 Pls
|
||||
4282 1010 Pls
|
||||
4333 1012 Pls
|
||||
4383 1014 Pls
|
||||
4434 1016 Pls
|
||||
4484 1017 Pls
|
||||
4535 1019 Pls
|
||||
4586 1020 Pls
|
||||
4636 1021 Pls
|
||||
4687 1023 Pls
|
||||
4737 1024 Pls
|
||||
4788 1026 Pls
|
||||
4838 1027 Pls
|
||||
4889 1029 Pls
|
||||
4940 1030 Pls
|
||||
4990 1032 Pls
|
||||
5041 1033 Pls
|
||||
5091 1035 Pls
|
||||
5142 1036 Pls
|
||||
5192 1037 Pls
|
||||
5243 1039 Pls
|
||||
5293 1040 Pls
|
||||
5344 1041 Pls
|
||||
5395 1042 Pls
|
||||
5445 1042 Pls
|
||||
5496 1043 Pls
|
||||
5546 1044 Pls
|
||||
5597 1045 Pls
|
||||
5647 1046 Pls
|
||||
5698 1046 Pls
|
||||
5749 1047 Pls
|
||||
5799 1047 Pls
|
||||
5850 1048 Pls
|
||||
5900 1048 Pls
|
||||
5951 1049 Pls
|
||||
6001 1049 Pls
|
||||
6052 1049 Pls
|
||||
6102 1050 Pls
|
||||
6153 1050 Pls
|
||||
6204 1050 Pls
|
||||
6254 1050 Pls
|
||||
6305 1051 Pls
|
||||
6355 1051 Pls
|
||||
6406 1051 Pls
|
||||
6456 1051 Pls
|
||||
6507 1051 Pls
|
||||
6558 1051 Pls
|
||||
6608 1051 Pls
|
||||
6659 1051 Pls
|
||||
6709 1050 Pls
|
||||
6594 4739 Pls
|
||||
1.000 UL
|
||||
LT1
|
||||
6311 4599 M
|
||||
(sin\(x\)*exp\(-x*x/1.\)*56) Rshow
|
||||
6395 4599 M
|
||||
399 0 V
|
||||
490 1045 M
|
||||
65 688 V
|
||||
66 656 V
|
||||
65 597 V
|
||||
65 512 V
|
||||
66 410 V
|
||||
65 295 V
|
||||
66 179 V
|
||||
65 63 V
|
||||
65 -42 V
|
||||
66 -132 V
|
||||
65 -206 V
|
||||
65 -259 V
|
||||
66 -294 V
|
||||
65 -310 V
|
||||
66 -310 V
|
||||
65 -298 V
|
||||
65 -275 V
|
||||
66 -247 V
|
||||
65 -216 V
|
||||
65 -182 V
|
||||
66 -151 V
|
||||
65 -122 V
|
||||
66 -96 V
|
||||
65 -74 V
|
||||
65 -55 V
|
||||
66 -41 V
|
||||
65 -30 V
|
||||
65 -20 V
|
||||
66 -14 V
|
||||
65 -10 V
|
||||
66 -6 V
|
||||
65 -4 V
|
||||
65 -2 V
|
||||
66 -2 V
|
||||
65 -1 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 -1 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
65 0 V
|
||||
66 0 V
|
||||
65 0 V
|
||||
stroke
|
||||
grestore
|
||||
end
|
||||
showpage
|
||||
%%Trailer
|
||||
%%DocumentFonts: Helvetica
|
||||
%%Pages: 1
|
BIN
geant4/TaoLEMuSR/MEYER/testmeyer2.pdf
Normal file
BIN
geant4/TaoLEMuSR/MEYER/testmeyer2.pdf
Normal file
Binary file not shown.
168
geant4/TaoLEMuSR/MEYER/tkm.out
Normal file
168
geant4/TaoLEMuSR/MEYER/tkm.out
Normal file
@ -0,0 +1,168 @@
|
||||
0.125 1 0
|
||||
0.25 0.99446 0.11462
|
||||
0.375 0.98892 0.227963
|
||||
0.5 0.98338 0.340027
|
||||
0.625 0.97784 0.450813
|
||||
0.75 0.97009 0.559046
|
||||
0.875 0.954263 0.659905
|
||||
1 0.938436 0.757112
|
||||
1.125 0.922609 0.850668
|
||||
1.25 0.906782 0.940572
|
||||
1.375 0.888828 1.02437
|
||||
1.5 0.86805 1.10045
|
||||
1.625 0.847094 1.17149
|
||||
1.75 0.821486 1.23072
|
||||
1.875 0.795879 1.28405
|
||||
2 0.769708 1.3305
|
||||
2.125 0.743225 1.37033
|
||||
2.25 0.716743 1.40406
|
||||
2.375 0.690261 1.43169
|
||||
2.5 0.663779 1.4532
|
||||
2.625 0.636879 1.46765
|
||||
2.75 0.609912 1.47574
|
||||
2.875 0.582944 1.4776
|
||||
3 0.555976 1.47325
|
||||
3.125 0.529194 1.46319
|
||||
3.25 0.50473 1.45364
|
||||
3.375 0.480266 1.43846
|
||||
3.5 0.455803 1.41763
|
||||
3.625 0.431339 1.39117
|
||||
3.75 0.408111 1.3632
|
||||
3.875 0.387928 1.34041
|
||||
4 0.367745 1.31296
|
||||
4.125 0.347561 1.28086
|
||||
4.25 0.327378 1.24412
|
||||
4.375 0.308453 1.20766
|
||||
4.5 0.29077 1.17184
|
||||
4.625 0.27339 1.13321
|
||||
4.75 0.258448 1.10097
|
||||
4.875 0.243505 1.06529
|
||||
5 0.230337 1.03414
|
||||
5.125 0.217864 1.00316
|
||||
5.25 0.205391 0.969306
|
||||
5.375 0.192919 0.932588
|
||||
5.5 0.180446 0.893002
|
||||
5.625 0.171018 0.865965
|
||||
5.75 0.161808 0.837893
|
||||
5.875 0.152598 0.807704
|
||||
6 0.143389 0.7754
|
||||
6.125 0.134521 0.742867
|
||||
6.25 0.127624 0.71941
|
||||
6.375 0.120728 0.694369
|
||||
6.5 0.113832 0.667745
|
||||
6.625 0.106935 0.639537
|
||||
6.75 0.100686 0.613696
|
||||
6.875 0.0955769 0.593493
|
||||
7 0.0904673 0.572119
|
||||
7.125 0.0853578 0.549572
|
||||
7.25 0.0802482 0.525853
|
||||
7.375 0.0758915 0.505983
|
||||
7.5 0.0720861 0.488852
|
||||
7.625 0.0682807 0.47085
|
||||
7.75 0.0644753 0.451975
|
||||
7.875 0.0606698 0.432229
|
||||
8 0.0576442 0.417255
|
||||
8.125 0.0548232 0.403094
|
||||
8.25 0.0520023 0.388287
|
||||
8.375 0.0491813 0.372835
|
||||
8.5 0.046365 0.356773
|
||||
8.625 0.0442261 0.345356
|
||||
8.75 0.0420871 0.33345
|
||||
8.875 0.0399482 0.321055
|
||||
9 0.0378092 0.308171
|
||||
9.125 0.0358519 0.2963
|
||||
9.25 0.0345323 0.289324
|
||||
9.375 0.0332127 0.282047
|
||||
9.5 0.0318931 0.274469
|
||||
9.625 0.0305735 0.266588
|
||||
9.75 0.0292539 0.258407
|
||||
9.875 0.0279343 0.249925
|
||||
10 0.0266147 0.241141
|
||||
10.125 0.0252951 0.232057
|
||||
10.25 0.0239756 0.222672
|
||||
10.375 0.022656 0.212986
|
||||
10.5 0.0213364 0.203
|
||||
10.625 0.0201776 0.194263
|
||||
10.75 0.01948 0.189754
|
||||
10.875 0.0187824 0.185086
|
||||
11 0.0180849 0.180259
|
||||
11.125 0.0173873 0.175274
|
||||
11.25 0.0166897 0.17013
|
||||
11.375 0.0159921 0.164827
|
||||
11.5 0.0152945 0.159366
|
||||
11.625 0.0145969 0.153746
|
||||
11.75 0.0138993 0.147968
|
||||
11.875 0.0132018 0.142032
|
||||
12 0.0125042 0.135938
|
||||
12.125 0.0118979 0.130688
|
||||
12.25 0.0115092 0.127716
|
||||
12.375 0.0111205 0.124656
|
||||
12.5 0.0107319 0.121507
|
||||
12.625 0.0103432 0.118271
|
||||
12.75 0.00995451 0.114946
|
||||
12.875 0.00956583 0.111534
|
||||
13 0.00917716 0.108034
|
||||
13.125 0.00878848 0.104445
|
||||
13.25 0.00839981 0.100769
|
||||
13.375 0.00801114 0.0970055
|
||||
13.5 0.00762246 0.093154
|
||||
13.625 0.0072864 0.0898638
|
||||
13.75 0.00705598 0.0878127
|
||||
13.875 0.00682557 0.0857095
|
||||
14 0.00659516 0.0835544
|
||||
14.125 0.00636474 0.0813473
|
||||
14.25 0.00613433 0.0790882
|
||||
14.375 0.00590392 0.0767773
|
||||
14.5 0.0056735 0.0744145
|
||||
14.625 0.00544309 0.0719999
|
||||
14.75 0.00521268 0.0695336
|
||||
14.875 0.00498226 0.0670155
|
||||
15 0.00475185 0.0644458
|
||||
15.125 0.00453543 0.0620157
|
||||
15.25 0.0043429 0.0598664
|
||||
15.375 0.00415037 0.0576741
|
||||
15.5 0.00395783 0.0554386
|
||||
15.625 0.0037653 0.0531601
|
||||
15.75 0.00357277 0.0508385
|
||||
15.875 0.00338024 0.048474
|
||||
16 0.00318771 0.0460665
|
||||
16.125 0.00299517 0.0436161
|
||||
16.25 0.00280264 0.0411229
|
||||
16.375 0.00261011 0.0385868
|
||||
16.5 0.00241758 0.0360079
|
||||
16.625 0.00222505 0.0333863
|
||||
16.75 0.00203251 0.0307219
|
||||
16.875 0.00183998 0.0280149
|
||||
17 0.00164745 0.0252652
|
||||
17.125 0.00145492 0.022473
|
||||
17.25 0.00126239 0.0196382
|
||||
17.375 0.00106985 0.0167609
|
||||
17.5 0.000877323 0.0138411
|
||||
17.625 0.000684791 0.0108789
|
||||
17.75 0.000492259 0.00787437
|
||||
17.875 0.000299727 0.00482747
|
||||
18 0.000107195 0.00173827
|
||||
18.125 0 0
|
||||
18.25 0 0
|
||||
18.375 0 0
|
||||
18.5 0 0
|
||||
18.625 0 0
|
||||
18.75 0 0
|
||||
18.875 0 0
|
||||
19 0 0
|
||||
19.125 0 0
|
||||
19.25 0 0
|
||||
19.375 0 0
|
||||
19.5 0 0
|
||||
19.625 0 0
|
||||
19.75 0 0
|
||||
19.875 0 0
|
||||
20 0 0
|
||||
20.125 0 0
|
||||
20.25 0 0
|
||||
20.375 0 0
|
||||
20.5 0 0
|
||||
20.625 0 0
|
||||
20.75 0 0
|
||||
20.875 0 0
|
||||
21 0 0
|
1156
geant4/TaoLEMuSR/MEYER/txt.for
Normal file
1156
geant4/TaoLEMuSR/MEYER/txt.for
Normal file
File diff suppressed because it is too large
Load Diff
1156
geant4/TaoLEMuSR/MEYER/txt.for~
Normal file
1156
geant4/TaoLEMuSR/MEYER/txt.for~
Normal file
File diff suppressed because it is too large
Load Diff
11
geant4/TaoLEMuSR/Readme.txt
Normal file
11
geant4/TaoLEMuSR/Readme.txt
Normal file
@ -0,0 +1,11 @@
|
||||
Geant4 ElectricField update files:
|
||||
|
||||
Copy files in the following directories:
|
||||
|
||||
G4El_EqRhs -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
G4El_UsualEqRhs -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
G4ChordFinder -----> $G4Install/source/geometry/magneticfield /src and /include
|
||||
G4ParticleGun -----> $G4Install/source/event /src and /include
|
||||
|
||||
|
||||
track/ is the geant4.6.2 version of $G4Install/source/track directory and should be updated
|
18
geant4/TaoLEMuSR/allmk.sh
Normal file
18
geant4/TaoLEMuSR/allmk.sh
Normal file
@ -0,0 +1,18 @@
|
||||
cd $G4INSTALL/source/particles/management
|
||||
gmake
|
||||
cd $G4INSTALL/source/particles/leptons
|
||||
gmake
|
||||
cd $G4INSTALL/source/run/
|
||||
gmake
|
||||
cd $G4INSTALL/source/geometry/magneticfield/
|
||||
gmake
|
||||
cd $G4INSTALL/source/track/
|
||||
gmake
|
||||
cd $G4INSTALL/source/tracking/
|
||||
gmake
|
||||
cd $G4INSTALL/source/processes/management/
|
||||
gmake
|
||||
cd $G4INSTALL/source/processes/decay/
|
||||
gmake
|
||||
cd $wlem
|
||||
gmake
|
13
geant4/TaoLEMuSR/asym.sh
Normal file
13
geant4/TaoLEMuSR/asym.sh
Normal file
@ -0,0 +1,13 @@
|
||||
export ASYM_USE_LEMU=1
|
||||
|
||||
unset LEMU_TEST_FIELD
|
||||
unset LEMU_TEST_CFOIL
|
||||
unset LEMU_TEST_FOCAL_LENGTH
|
||||
export LEMU_TEST_ASYM=1
|
||||
|
||||
|
||||
rm ~/geant4/tmp/Linux-g++/LEMuSR/exe/*
|
||||
rm ~/geant4/tmp/Linux-g++/LEMuSR/LEMuSRDetectorConstruction.*
|
||||
rm ~/geant4/tmp/Linux-g++/LEMuSR/LEMuSRPrimaryGeneratorAction.*
|
||||
rm ~/geant4/tmp/Linux-g++/LEMuSR/LEMuSRMuonPhysics.*
|
||||
|
4
geant4/TaoLEMuSR/dawn.sh
Normal file
4
geant4/TaoLEMuSR/dawn.sh
Normal file
@ -0,0 +1,4 @@
|
||||
export G4DAWN_NAMED_PIPE=1
|
||||
export G4DAWN_GUI_ALWAYS=1
|
||||
|
||||
|
24
geant4/TaoLEMuSR/doc/About.dox
Normal file
24
geant4/TaoLEMuSR/doc/About.dox
Normal file
@ -0,0 +1,24 @@
|
||||
/*! @page About About Geant4
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Intro
|
||||
<B> Up:</B> @ref Intro
|
||||
<B> Next:</B> @ref Voc
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@section sAbout What is Geant4?
|
||||
|
||||
<P>
|
||||
<A HREF="http://www.geant4.cern.ch/"><STRONG>Geant4</STRONG></A> is a C++ set of libraries designed for Monte-Carlo simultation. This <I><B>GE</B></I>ometry <I><B>AN</B></I>d <I><B>T</B></I>racking toolkit was developped at CERN initially for high energy physics. It contains a large amount of data about particles, interactions and materials inputed according to the standard model. Nowaday, the package is used in a wide range of applications, from DNA modeling to astrophysics.
|
||||
|
||||
<P>
|
||||
In order to build a simple simulation, one just has to define a geometry and choose the interactions to consider. For non trivial experiments like \lemu, one may have to personalize some aspects of the original Geant4 code like physics processes or electromagnetic fields. It is now widely used in all kind of fields from dna modelling to astrophysics.
|
||||
|
||||
<P>
|
||||
The simulation can be interactive thanks to a user interface already included in Geant4. The possibilities of geometry visualization, histogramming and code personalization are key elements of Geant4.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
*/
|
27
geant4/TaoLEMuSR/doc/MClasses.dox
Normal file
27
geant4/TaoLEMuSR/doc/MClasses.dox
Normal file
@ -0,0 +1,27 @@
|
||||
/*! @page Mandatory LEMuSR Mandatory Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref lemusetup
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref runmgr
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
<UL>
|
||||
<LI>@ref runmgr
|
||||
<LI>@ref geometry
|
||||
<LI>@ref physicsref
|
||||
<LI>@ref pga
|
||||
</UL>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
75
geant4/TaoLEMuSR/doc/Useractions.dox
Normal file
75
geant4/TaoLEMuSR/doc/Useractions.dox
Normal file
@ -0,0 +1,75 @@
|
||||
/*! @page Useraction The User Action Classes
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref Mandatory
|
||||
<B> Up:</B> @ref Main
|
||||
<B> Next:</B> @ref howg4
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
\anchor useraction_intro
|
||||
|
||||
<UL>
|
||||
<LI>@ref useractintro
|
||||
<LI>@ref runaction
|
||||
<LI>@ref eventaction
|
||||
<LI>@ref trackingaction
|
||||
<LI>@ref stackingaction
|
||||
<LI>@ref steppingaction
|
||||
</UL>
|
||||
|
||||
\section useractintro Introduction
|
||||
The user action classes are very useful monitoring features of \gf. Thanks to these classes, it is possible to operate actions at different stages of the simulation.
|
||||
|
||||
The user is completely free in the implementation of the actions to take, and therefore the possibilities offered by this feature are innumerable, from interactivity to histogramming, debugging, visualization or even direct optimization of the simulation parameters etc.
|
||||
|
||||
In the following pages, we describe the use of those classes for the \lemu simulation.
|
||||
|
||||
|
||||
\section runaction User Run Action
|
||||
The user run action class operates actions at the beginning and at the end of each run. In LEMuSRRunAction.cc, one can see that it is only used to initialize and update the visualization manager.
|
||||
|
||||
An interesting thing to notice is that some commands can be sent directly to the user interaction manager without going through the terminal. This can be of special utility when running the simulation in batch mode.
|
||||
|
||||
|
||||
\section eventaction User Event Action
|
||||
The user event action class operates actions at the beginnig and at the end of each event of a given run. Initially used for the hits collection, we left its implementation open.
|
||||
|
||||
The two main classes are BeginOfEventAction and EndOfEventAction. For the implementation refer to the LEMuSREventAction.cc file.
|
||||
|
||||
|
||||
\section trackingaction User Tracking Action
|
||||
|
||||
The tracking action class is implemented in the LEMuSRTrackingAction.cc file. The two main methods are PreUserTrackingAction and PostUserTrackingAction. In \lemu simulation, we first used the tracking action to get the gyromagnetic parameters of the tracked particle. They can be accessed by any other class via a pointer to the tracking action instance.
|
||||
|
||||
This is very useful in particular for spin precession calculations. Indeed, \gf do not handle yet different gyromagnetic ratios or precession of neutral particles. The muonium data can be highly biased by this.
|
||||
|
||||
However, this procedure is not very "nice" because the tracking action should remain an optional class i.e. should not be necessary to run the simulation. Now the code uses the G4TrackingManager class from geant4, which is a top executive class together with the G4RunManager, G4EventManager and G4SteppingManager classes.
|
||||
|
||||
Here is a short overview on the hierarchy organisation of thoses classes.
|
||||
|
||||
|
||||
\section stackingaction User Stacking Action
|
||||
The user action class can be implemented to select the tracks to consider or not in order to gain calculation time. One can also use it for statistics or to take actions on the tracks to be simulated.
|
||||
|
||||
\section steppingaction User Stepping Action
|
||||
|
||||
The most important user action class of the \lemu simulation is the stepping action. Five different stepping action classes were implemented:
|
||||
<ul>
|
||||
<li>AsymCheck: for tests of the asymmetry.
|
||||
<li>FieldCheck: for tests of electromagnetic fields.
|
||||
<li>FocalLengthTest: for tests of the focal length.
|
||||
<li>TDCheck: for tests of the trigger detector.
|
||||
<li>LEMuSRSteppingAction for a usual run.
|
||||
</ul>
|
||||
|
||||
The stepping action has to be set in the LEMuSR.cc file. Only one stepping action can be enabled at once. Therefore, we defined environement variables in order to select under which form the code should be compiled.
|
||||
|
||||
After important modification of the code it is useful to go through all the tests in order to verify that everything still runs correctly.
|
||||
|
||||
In the following, we describe the actions of those different stepping actions.
|
||||
|
||||
*/
|
||||
|
||||
|
132
geant4/TaoLEMuSR/doc/commands.dox
Normal file
132
geant4/TaoLEMuSR/doc/commands.dox
Normal file
@ -0,0 +1,132 @@
|
||||
/*! @page commands Commands
|
||||
|
||||
<BR>
|
||||
<B> Previous:</B> @ref
|
||||
<B> Up:</B> @ref
|
||||
<B> Next:</B> @ref
|
||||
<BR>
|
||||
|
||||
<HR>
|
||||
|
||||
We present here the most useful commands to run the simulation. Some additional commands can be accessed entering <b>help</b> in the run terminal or on the <A href="http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Control/UIcommands/_.html">web</A>. We do not put them here because they are not necessary for the \lemu simulation.
|
||||
|
||||
\section coms_config UI control commands
|
||||
* - <b>/control/execute macrofile </b> : execute a macro file. The macro files are edited as a list of commands.
|
||||
*
|
||||
* - <b>/control/verbose </b> : set the verbose level
|
||||
*
|
||||
* - <b>/control/shell </b> : access the shell
|
||||
*
|
||||
* - <b>/help </b> : call interactive help with all the commands.
|
||||
|
||||
|
||||
|
||||
\section coms_run Run control commands
|
||||
* - <b>/run/beamOn #n</b> : simulate n particles
|
||||
*
|
||||
* - <b>/run/verbose </b> : set the verbose level
|
||||
|
||||
|
||||
\section coms_det Geometry control commands
|
||||
\subsection com_Mode Detector Mode
|
||||
* - <b>/Detector/Mode [cryo/mcp] </b> :
|
||||
*
|
||||
* - <b>/Detector/CfoilThickness [\f$ \mu g / cm^{2}\f$] </b> : set the thickness of the carbon foil
|
||||
*
|
||||
* - <b>/Detector/MaxStepInField [\f$ mm \f$]</b> : set a cut on the maximal step size in the regions with field.
|
||||
*
|
||||
\subsection com_sample Sample Specifications
|
||||
* - <b>/Detector/Sample/Grid [on/off]</b> : <b>NB!</b> the command is not working because no field map was generated for this case.
|
||||
*
|
||||
* - <b>/Detector/Sample/Guards [on/off]</b> : enable or disable the guard rings in sample cryostat
|
||||
*
|
||||
* - <b>/Detector/Sample/HolderMaterial [material]</b> : to change the material of the sample holder plate.
|
||||
*
|
||||
\subsection com_volt Electric Fields and Voltage Settings
|
||||
* - <b>/Detector/ElectricField [on/off]</b> : enables fiels at trigger detector or disables all electric fields.
|
||||
*
|
||||
In order to set the electric field for the third lense and the conical anode one should enter a voltage value. The fields maps were generated for 1 kV. During the initialization they are scaled according to the entered voltage.
|
||||
* - <b>/Detector/Voltage/ThirdLens [Third Lens Voltage kV]</b> : Third lens voltage in kilovolt
|
||||
*
|
||||
* - <b>/Detector/Voltage/ConicalAnode [RA-Left Voltage [kV]] [RA-Right Voltage [kV]] [Build]</b> : Ring anode voltage in kilovolt. The built variable is 1 or 0 and specifies if the detector is rebuilt after the values are changed or later.
|
||||
*
|
||||
* - <b>/Detector/Voltage/Cryo [kV]</b> : Sample voltage in kilovolt
|
||||
*
|
||||
\subsection com_mag Magnetic Field
|
||||
* - <b>/Detector/MagneticField [Gauss] </b> : set the value of the magnetic field
|
||||
*
|
||||
\subsection com_vis Visualization Mode
|
||||
* - <b>/Detector/View [total/half/quarter]</b> : build the detector with half cut or quarter cut. <i>The detector must be built in total view to run the simulation.</i>
|
||||
|
||||
|
||||
|
||||
|
||||
\section coms_pga Particle gun control commands
|
||||
* - <b>/lemuGun/gunPosition [X [cm]] [Y [cm]] [Z [cm]]</b> : the gun position in centimeters. Note that the origin of the geometry is the mcp detector and the carbon foil is at -113.7cm
|
||||
*
|
||||
* - <b>/lemuGun/MomentumDirection [momX ] [momY ] [momZ ] </b> : a unitary vector for the particles momentum direction.
|
||||
*
|
||||
* - <b>/lemuGun/particle particle </b> : Particle types: mu+/Mu or other.
|
||||
*
|
||||
* - <b>/lemuGun/scan/square [X Y B]</b> : flat distribution of B bins in a rectangle 2X x 2Y. Distances are in centimeters.
|
||||
*
|
||||
* - <b>/lemuGun/scan/circular [R N M] </b> : circular distribution with N steps along the radius R and M steps along the \f$ 2\pi\f$ angle. Radius in cemtimeters.
|
||||
*
|
||||
* - <b>/lemuGun/gauss </b> : gaussian distribution of x and y.
|
||||
*
|
||||
* - <b>/lemuGun/reset </b> : reset the counters for the scan mode.
|
||||
|
||||
|
||||
|
||||
\section coms_vis Visualization control commands
|
||||
To start a visualization driver and draw the geometry one may follow the following four step procedure:
|
||||
*
|
||||
* -# <b>/vis/scene/create </b> : to create a scene to draw.
|
||||
*
|
||||
* -# <b>/vis/open [vis_engine] </b> : to open the visualisation engine vis_engine (recommended OGLIX for x-window or DAWNFILE for *.eps file and DANW *.prim file output).
|
||||
*
|
||||
* -# <b>/vis/sceneHandler/attach </b> : to link the scene the the engine.
|
||||
*
|
||||
* -# <b>/vis/viewer/flush </b> : to draw the geometry.
|
||||
*.
|
||||
* The visualization angles and camera position can be set in many different ways. The command should be accessed entering <tt<help</tt> in the terminal. Among those commands one would find:
|
||||
*
|
||||
* - <b>/vis/viewer/set/viewpointThetaPhi \f$ \alpha \ \beta \f$ </b> : set camera angle in deg.
|
||||
*
|
||||
* - <b>/vis/viewer/refresh </b> : to redraw the geometry.
|
||||
*
|
||||
* - <b>/vis/drawTree </b> : print out the hierarchical tree of the geometry. If a physical volume name is specified, the tree will be printed from the correspondant volume.
|
||||
*
|
||||
* - <b>/vis/ASCITree/verbose [level]</b> : set verbose level for the <b>/vis/drawTree </b> command. The verbose level goes from 0 to 15.
|
||||
|
||||
|
||||
\section coms_sensidet Sensitive detection control commands
|
||||
*
|
||||
* - <b>/hits/list </b> : get the list of the different sensitive detectors available
|
||||
*
|
||||
* - <b>/hits/activate [sd_name]</b> : activate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/inactivate [sd_name] </b> : inactivate the sensitive detector sd_name
|
||||
*
|
||||
* - <b>/hits/verbose [level]</b> : set the verbose level.
|
||||
|
||||
\section coms_misc Miscanellous control commands
|
||||
|
||||
*
|
||||
* - <b>/tracking/storeTrajectory 1 </b> : to store the trajectories in order to be able to plot them in the visualisation for example.
|
||||
*
|
||||
* - <b>/process/(in)activate [particle_name]</b> : (in)activate the particle particle_name
|
||||
*
|
||||
* - <b>/particle/(in)activate [process_name]</b> : (in)activate the process process_name.
|
||||
*
|
||||
*.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
In the help directory, one would find some guidance providing the use of the command with the arguments description: what argument to enter, which unit, which format (<b>s</b>tring, <b>d</b>ouble, <b>i</b>nt ...), is the argument ommitable etc.).
|
||||
|
||||
A comprehensive list of all the commands can be found in the annexe @ref annexe_commands.
|
||||
|
||||
*/
|
37
geant4/TaoLEMuSR/doc/commands/_.html
Normal file
37
geant4/TaoLEMuSR/doc/commands/_.html
Normal file
@ -0,0 +1,37 @@
|
||||
/* @page annexe_commands List of the Commands
|
||||
<html><head><title>Commands in /</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_control_.html">/control/</a>
|
||||
<p><dd>UI control commands.
|
||||
<p><br><p><dt><a href="_units_.html">/units/</a>
|
||||
<p><dd>Available units.
|
||||
<p><br><p><dt><a href="_geometry_.html">/geometry/</a>
|
||||
<p><dd>Geometry control commands.
|
||||
<p><br><p><dt><a href="_tracking_.html">/tracking/</a>
|
||||
<p><dd>TrackingManager and SteppingManager control commands.
|
||||
<p><br><p><dt><a href="_event_.html">/event/</a>
|
||||
<p><dd>EventManager control commands.
|
||||
<p><br><p><dt><a href="_run_.html">/run/</a>
|
||||
<p><dd>Run control commands.
|
||||
<p><br><p><dt><a href="_random_.html">/random/</a>
|
||||
<p><dd>Random number status control commands.
|
||||
<p><br><p><dt><a href="_particle_.html">/particle/</a>
|
||||
<p><dd>Particle control commands.
|
||||
<p><br><p><dt><a href="_process_.html">/process/</a>
|
||||
<p><dd>Process Table control commands.
|
||||
<p><br><p><dt><a href="_Detector_.html">/Detector/</a>
|
||||
<p><dd>Set detector parameters
|
||||
<p><br><p><dt><a href="_lemuGun_.html">/lemuGun/</a>
|
||||
<p><dd>LEMuSR particle shooting control commands.
|
||||
<p><br><p><dt><a href="_gun_.html">/gun/</a>
|
||||
<p><dd>Particle Gun control commands.
|
||||
<p><br><p><dt><a href="_vis_.html">/vis/</a>
|
||||
<p><dd>Visualization commands.
|
||||
<p><br><p><dt><a href="_hits_.html">/hits/</a>
|
||||
<p><dd>Sensitive detectors and Hits
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
</dl></body></html>
|
||||
*/
|
87
geant4/TaoLEMuSR/doc/commands/_Detector_.html
Normal file
87
geant4/TaoLEMuSR/doc/commands/_Detector_.html
Normal file
@ -0,0 +1,87 @@
|
||||
<html><head><title>Commands in /Detector/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/</h2><p>
|
||||
Set detector parameters<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_Detector_Sample_.html">/Detector/Sample/</a>
|
||||
<p><dd>...Title not available...
|
||||
<p><br><p><dt><a href="_Detector_Voltage_.html">/Detector/Voltage/</a>
|
||||
<p><dd>...Title not available...
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>Mode [<i>mode</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
mcp: multiple channel mode
|
||||
cryo: cryostat mode <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>mode
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>ElectricField [<i>field</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: electric field on
|
||||
off: electric field off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>field
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>AsymCheck [<i>asym</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: asym on
|
||||
off:asym off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>asym
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>MagneticField [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Magnetic Field Max Value >>> in GAUSS <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>View [<i>view</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
quarter: quarter cut view of the detector
|
||||
half: half cut view of the detector
|
||||
total: view of the total detector <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>view
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>MaxStepInField [<i>usl</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
The user step limitation in third lense and conical anode [mm] <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>usl
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>CfoilThickness [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Carbon foil thickness; unit is mug/cm2 <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
39
geant4/TaoLEMuSR/doc/commands/_Detector_Sample_.html
Normal file
39
geant4/TaoLEMuSR/doc/commands/_Detector_Sample_.html
Normal file
@ -0,0 +1,39 @@
|
||||
<html><head><title>Commands in /Detector/Sample/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/Sample/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>Grid [<i>grid</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: Sample Grid on
|
||||
off: Sample Grid off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>grid
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>Guards [<i>guards</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
on: Sample Guards Rings on
|
||||
off: Sample Guards off <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>guards
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>HolderMaterial [<i>material</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Sample material<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>material
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
42
geant4/TaoLEMuSR/doc/commands/_Detector_Voltage_.html
Normal file
42
geant4/TaoLEMuSR/doc/commands/_Detector_Voltage_.html
Normal file
@ -0,0 +1,42 @@
|
||||
<html><head><title>Commands in /Detector/Voltage/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/Detector/Voltage/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>ThirdLense [<i>f</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Third Lense Middle Cylinder Voltage Value >> IN KILOVOLT <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>f
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>ConicalAnode [<i>RA-Left Voltage [kV]</i>] [<i>RA-Right Voltage [kV]</i>] [<i>Build</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Conical anode left and right side Voltage Values >> IN KILOVOLT; set build to !=0 to build the detector <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>RA-Left Voltage [kV]
|
||||
<td>type d
|
||||
<td><td><tr><td>RA-Right Voltage [kV]
|
||||
<td>type d
|
||||
<td><td><tr><td>Build
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>Cryo [<i>Voltage [kV]</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Cryo voltage in kV <br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Voltage [kV]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
155
geant4/TaoLEMuSR/doc/commands/_control_.html
Normal file
155
geant4/TaoLEMuSR/doc/commands/_control_.html
Normal file
@ -0,0 +1,155 @@
|
||||
<html><head><title>Commands in /control/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/control/</h2><p>
|
||||
UI control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>execute [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>loop [<i>macroFile</i>] [<i>counterName</i>] [<i>initialValue</i>] [<i>finalValue</i>] [<i>stepSize</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file more than once.<br>
|
||||
Loop counter can be used as an aliased variable.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td><td><tr><td>counterName
|
||||
<td>type s
|
||||
<td><td><tr><td>initialValue
|
||||
<td>type d
|
||||
<td><td><tr><td>finalValue
|
||||
<td>type d
|
||||
<td><td><tr><td>stepSize
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>foreach [<i>macroFile</i>] [<i>counterName</i>] [<i>valueList</i>]</b>
|
||||
<p><dd>
|
||||
Execute a macro file more than once.<br>
|
||||
Loop counter can be used as an aliased variable.<br>
|
||||
Values must be separated by a space.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td><td><tr><td>counterName
|
||||
<td>type s
|
||||
<td><td><tr><td>valueList
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>suppressAbortion [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Suppress the program abortion caused by G4Exception.<br>
|
||||
Suppression level = 0 : no suppression<br>
|
||||
= 1 : suppress during EventProc state<br>
|
||||
= 2 : full suppression, i.e. no abortion by G4Exception<br>
|
||||
When abortion is suppressed, you will get error messages issued by G4Exception,<br>
|
||||
and there is NO guarantee for the correct result after the G4Exception error message.<br>
|
||||
<p><dd>Range : level >= 0 && level <= 2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>switch</i>]</b>
|
||||
<p><dd>
|
||||
Applied command will also be shown on screen.<br>
|
||||
This command is useful with MACRO file.<br>
|
||||
0 : silent<br>
|
||||
1 : only the valid commands are shown.<br>
|
||||
2 : comment lines are also shown (default).<br>
|
||||
<p><dd>Range : switch >= 0 && switch <=2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>switch
|
||||
<td>type i
|
||||
<td>Omittable : default value = 2
|
||||
<td></table>
|
||||
<p><br><p><dt><b>saveHistory [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Store command history to a file.<br>
|
||||
Defaul file name is G4history.macro.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = G4History.macro
|
||||
<td></table>
|
||||
<p><br><p><dt><b>stopSavingHistory</b>
|
||||
<p><dd>
|
||||
Stop saving history file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>alias [<i>aliasName</i>] [<i>aliasValue</i>]</b>
|
||||
<p><dd>
|
||||
Set an alias.<br>
|
||||
String can be aliased by this command.<br>
|
||||
The string may contain one or more spaces,<br>
|
||||
the string must be enclosed by double quotes (").<br>
|
||||
To use an alias, enclose the alias name with<br>
|
||||
parenthis "{" and "}".<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>aliasName
|
||||
<td>type s
|
||||
<td><td><tr><td>aliasValue
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>unalias [<i>aliasName</i>]</b>
|
||||
<p><dd>
|
||||
Remove an alias.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>aliasName
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>listAlias</b>
|
||||
<p><dd>
|
||||
List aliases.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>shell [<i></i>]</b>
|
||||
<p><dd>
|
||||
Execute a (Unix) SHELL command.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>manual [<i>dirPath</i>]</b>
|
||||
<p><dd>
|
||||
Display all of sub-directories and commands.<br>
|
||||
Directory path should be given by FULL-PATH.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirPath
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>createHTML [<i>dirPath</i>]</b>
|
||||
<p><dd>
|
||||
Generate HTML files for all of sub-directories and commands.<br>
|
||||
Directory path should be given by FULL-PATH.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirPath
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>maximumStoredHistory [<i>max</i>]</b>
|
||||
<p><dd>
|
||||
Set maximum number of stored UI commands.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>max
|
||||
<td>type i
|
||||
<td>Omittable : default value = 20
|
||||
<td></table>
|
||||
</dl></body></html>
|
26
geant4/TaoLEMuSR/doc/commands/_event_.html
Normal file
26
geant4/TaoLEMuSR/doc/commands/_event_.html
Normal file
@ -0,0 +1,26 @@
|
||||
<html><head><title>Commands in /event/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/event/</h2><p>
|
||||
EventManager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_event_stack_.html">/event/stack/</a>
|
||||
<p><dd>Stack control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>abort</b>
|
||||
<p><dd>
|
||||
Abort current event.<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of event management category.<br>
|
||||
0 : Silent<br>
|
||||
1 : Stacking information<br>
|
||||
2 : More...<br>
|
||||
<p><dd>Range : level>=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
28
geant4/TaoLEMuSR/doc/commands/_event_stack_.html
Normal file
28
geant4/TaoLEMuSR/doc/commands/_event_stack_.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html><head><title>Commands in /event/stack/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/event/stack/</h2><p>
|
||||
Stack control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>status</b>
|
||||
<p><dd>
|
||||
List current status of the stack.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>clear [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Clear stacked tracks.<br>
|
||||
2 : clear all tracks in all stacks<br>
|
||||
1 : clear tracks in the urgent and waiting stacks<br>
|
||||
0 : clear tracks in the waiting stack (default)<br>
|
||||
-1 : clear tracks in the urgent stack<br>
|
||||
-2 : clear tracks in the postponed stack<br>
|
||||
<p><dd>Range : level>=-2&&level<=2
|
||||
<p><dd>Available Geant4 state(s) : GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
12
geant4/TaoLEMuSR/doc/commands/_geometry_.html
Normal file
12
geant4/TaoLEMuSR/doc/commands/_geometry_.html
Normal file
@ -0,0 +1,12 @@
|
||||
<html><head><title>Commands in /geometry/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/</h2><p>
|
||||
Geometry control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_geometry_navigator_.html">/geometry/navigator/</a>
|
||||
<p><dd>Geometry navigator control setup.
|
||||
<p><br><p><dt><a href="_geometry_test_.html">/geometry/test/</a>
|
||||
<p><dd>Geometry verification control setup.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
</dl></body></html>
|
46
geant4/TaoLEMuSR/doc/commands/_geometry_navigator_.html
Normal file
46
geant4/TaoLEMuSR/doc/commands/_geometry_navigator_.html
Normal file
@ -0,0 +1,46 @@
|
||||
<html><head><title>Commands in /geometry/navigator/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/navigator/</h2><p>
|
||||
Geometry navigator control setup.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>reset</b>
|
||||
<p><dd>
|
||||
Reset navigator and navigation history.<br>
|
||||
NOTE: must be called only after kernel has been<br>
|
||||
initialized once through the run manager!<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set run-time verbosity for the navigator.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display volume positioning and step lengths<br>
|
||||
2 : Display step/safety info on point location<br>
|
||||
3 : Display minimal state at -every- step<br>
|
||||
4 : Maximum verbosity (very detailed!)<br>
|
||||
NOTE: this command has effect -only- if Geant4 has<br>
|
||||
been installed with the G4VERBOSE flag set!<br>
|
||||
<p><dd>Range : level >=0 && level <=4
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>check_mode [<i>checkFlag</i>]</b>
|
||||
<p><dd>
|
||||
Set navigator in -check_mode- state.<br>
|
||||
This will cause extra checks to be applied during<br>
|
||||
navigation. More strict and less tolerant conditions<br>
|
||||
are applied. A run-time performance penalty may be<br>
|
||||
observed when the -check_mode- state is activated.<br>
|
||||
NOTE: this command has effect -only- if Geant4 has<br>
|
||||
been installed with the G4VERBOSE flag set!<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>checkFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
208
geant4/TaoLEMuSR/doc/commands/_geometry_test_.html
Normal file
208
geant4/TaoLEMuSR/doc/commands/_geometry_test_.html
Normal file
@ -0,0 +1,208 @@
|
||||
<html><head><title>Commands in /geometry/test/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/geometry/test/</h2><p>
|
||||
Geometry verification control setup.<br>
|
||||
Helps in detecting possible overlapping regions.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>tolerance [<i>Tolerance</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set error tolerance value.<br>
|
||||
Initial default value: 1E-4*mm.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Tolerance
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>position [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set starting position for the line_test.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>direction [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set momentum direction for the line_test.<br>
|
||||
Direction needs not to be a unit vector.<br>
|
||||
<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Px
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Py
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Pz
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>line_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Performs test along a single specified direction/position.<br>
|
||||
Use position and direction commands to change default.<br>
|
||||
Initial default: position(0,0,0), direction(0,0,1).<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>grid_cells [<i>X</i>] [<i>Y</i>] [<i>Z</i>]</b>
|
||||
<p><dd>
|
||||
Define resolution of grid geometry as number of cells,<br>
|
||||
specifying them for each dimension, X, Y and Z.<br>
|
||||
Will be applied to grid_test and recursive_test commands.<br>
|
||||
Initial default values: X=100, Y=100, Z=100.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>grid_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the default grid test.<br>
|
||||
A grid of lines parallel to a cartesian axis is used;<br>
|
||||
By default, only direct daughters of the mother volumes are checked.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_geometry [<i>nPhi</i>] [<i>nZ</i>] [<i>nRho</i>]</b>
|
||||
<p><dd>
|
||||
Define details of the cylinder geometry, specifying:<br>
|
||||
nPhi - number of lines per Phi<br>
|
||||
nZ - number of Z points<br>
|
||||
nRho - number of Rho points<br>
|
||||
Will be applied to the cylinder_test command.<br>
|
||||
Initial default values: nPhi=90, nZ=50, nRho=50.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPhi
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>nZ
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>nRho
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_scaleZ [<i>fracZ</i>]</b>
|
||||
<p><dd>
|
||||
Define the resolution of the cylinder geometry, specifying<br>
|
||||
the fraction scale for points along Z.<br>
|
||||
Initial default values: fracZ=0.8<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fracZ
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.8
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_scaleRho [<i>fracRho</i>]</b>
|
||||
<p><dd>
|
||||
Define the resolution of the cylinder geometry, specifying<br>
|
||||
the fraction scale for points along Rho.<br>
|
||||
Initial default values: fracRho=0.8<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fracRho
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.8
|
||||
<td></table>
|
||||
<p><br><p><dt><b>cylinder_test [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the cylinder test.<br>
|
||||
A set of lines in a cylindrical pattern of gradually<br>
|
||||
increasing mesh size.<br>
|
||||
By default, only direct daughters of the mother volumes are checked.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursion_start [<i>initial_level</i>]</b>
|
||||
<p><dd>
|
||||
Set the initial level in the geometry tree for recursion.<br>
|
||||
recursive_test will then start from the specified level.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>initial_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursion_depth [<i>recursion_depth</i>]</b>
|
||||
<p><dd>
|
||||
Set the depth in the geometry tree for recursion.<br>
|
||||
recursive_test will then stop after reached the specified depth.<br>
|
||||
By default, recursion will proceed for the whole depth.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursion_depth
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>run [<i>recursionFlag</i>]</b>
|
||||
<p><dd>
|
||||
Start running the default grid test.<br>
|
||||
Same as the grid_test command.<br>
|
||||
If recursion flag is set to TRUE, the intersection checks<br>
|
||||
will be performed recursively in the geometry tree.<br>
|
||||
NOTE: the recursion may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>recursionFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>recursive_test</b>
|
||||
<p><dd>
|
||||
Start running the recursive grid test.<br>
|
||||
A grid of lines along a cartesian axis is recursively<br>
|
||||
to all daughters and daughters of daughters, etc.<br>
|
||||
NOTE: it may take a very long time,<br>
|
||||
depending on the geometry complexity !<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
</dl></body></html>
|
134
geant4/TaoLEMuSR/doc/commands/_gun_.html
Normal file
134
geant4/TaoLEMuSR/doc/commands/_gun_.html
Normal file
File diff suppressed because one or more lines are too long
38
geant4/TaoLEMuSR/doc/commands/_hits_.html
Normal file
38
geant4/TaoLEMuSR/doc/commands/_hits_.html
Normal file
@ -0,0 +1,38 @@
|
||||
<html><head><title>Commands in /hits/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/hits/</h2><p>
|
||||
Sensitive detectors and Hits<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list</b>
|
||||
<p><dd>
|
||||
List sensitive detector tree.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>activate [<i>detector</i>]</b>
|
||||
<p><dd>
|
||||
Activate sensitive detector(s).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>detector
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>detector</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate sensitive detector(s).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>detector
|
||||
<td>type s
|
||||
<td>Omittable : default value = /
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
51
geant4/TaoLEMuSR/doc/commands/_lemuGun_.html
Normal file
51
geant4/TaoLEMuSR/doc/commands/_lemuGun_.html
Normal file
@ -0,0 +1,51 @@
|
||||
<html><head><title>Commands in /lemuGun/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/</h2><p>
|
||||
LEMuSR particle shooting control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_lemuGun_scan_.html">/lemuGun/scan/</a>
|
||||
<p><dd>...Title not available...
|
||||
<p><br><p><dt><a href="_lemuGun_energy_.html">/lemuGun/energy/</a>
|
||||
<p><dd>...Title not available...
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>gunPosition [<i>X [cm]</i>] [<i>Y [cm]</i>] [<i>Z [cm]</i>]</b>
|
||||
<p><dd>
|
||||
Set Gun Position >> IN CENTIMETERS.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Z [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>MomentumDirection [<i>momX </i>] [<i>momY </i>] [<i>momZ </i>]</b>
|
||||
<p><dd>
|
||||
Set momentum direction >> sum must equal one.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>momX
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>momY
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>momZ
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>particle [<i>Particle types: mu+/Mu or other.</i>]</b>
|
||||
<p><dd>
|
||||
Particles to be shot<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Particle types: mu+/Mu or other.
|
||||
<td>type s
|
||||
<td>Omittable : default value = mu+
|
||||
<td></table>
|
||||
</dl></body></html>
|
54
geant4/TaoLEMuSR/doc/commands/_lemuGun_energy_.html
Normal file
54
geant4/TaoLEMuSR/doc/commands/_lemuGun_energy_.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html><head><title>Commands in /lemuGun/energy/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/energy/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>defined [<i>Energy in [keV]</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
Energy Value >> IN keV
|
||||
<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Energy in [keV]
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>offset [<i>KEoffset in [keV]; default value 3.73</i>]</b>
|
||||
<p><dd>
|
||||
|
||||
KEoffset Value >> IN keV
|
||||
<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>KEoffset in [keV]; default value 3.73
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>random [<i>Random Energy: on/off</i>]</b>
|
||||
<p><dd>
|
||||
Gaussian energy distribution with default mean 20 kev and 0.5 kev deviation<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Random Energy: on/off
|
||||
<td>type s
|
||||
<td>Omittable : default value = on
|
||||
<td></table>
|
||||
<p><br><p><dt><b>gauss [<i>Mean Energy</i>] [<i>Standard Deviation</i>] [<i></i>]</b>
|
||||
<p><dd>
|
||||
Gaussian energy distribution with specified mean and standard deviation
|
||||
ENTER VALUES >> IN keV <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Mean Energy
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Standard Deviation
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
61
geant4/TaoLEMuSR/doc/commands/_lemuGun_scan_.html
Normal file
61
geant4/TaoLEMuSR/doc/commands/_lemuGun_scan_.html
Normal file
@ -0,0 +1,61 @@
|
||||
<html><head><title>Commands in /lemuGun/scan/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/lemuGun/scan/</h2><p>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>square [<i>X range [cm]</i>] [<i>Y range [cm]</i>] [<i>Number of bins</i>]</b>
|
||||
<p><dd>
|
||||
Gun scan: xrange yrange nbins
|
||||
Shoot right number of particles to fill.
|
||||
xrange and yrange are divided in nbins.
|
||||
<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X range [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Y range [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of bins
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>circular [<i>Radius [cm]</i>] [<i>Number of step along radius</i>] [<i>Number of steps along angle</i>]</b>
|
||||
<p><dd>
|
||||
Gun scan: radius Rsteps ThetaSteps
|
||||
Shoot Rsteps*Thetasteps particles to fill.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Radius [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of step along radius
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of steps along angle
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>gauss [<i>Radius [cm]</i>] [<i>Number of step along radius</i>] [<i>Number of steps along angle</i>]</b>
|
||||
<p><dd>
|
||||
Gun gauss scan:.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Radius [cm]
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of step along radius
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td><tr><td>Number of steps along angle
|
||||
<td>type d
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
<p><br><p><dt><b>reset</b>
|
||||
<p><dd>
|
||||
|
||||
Reset the counters for scanning<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
</dl></body></html>
|
39
geant4/TaoLEMuSR/doc/commands/_particle_.html
Normal file
39
geant4/TaoLEMuSR/doc/commands/_particle_.html
Normal file
@ -0,0 +1,39 @@
|
||||
<html><head><title>Commands in /particle/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/</h2><p>
|
||||
Particle control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_particle_property_.html">/particle/property/</a>
|
||||
<p><dd>Paricle Table control commands.
|
||||
<p><br><p><dt><a href="_particle_process_.html">/particle/process/</a>
|
||||
<p><dd>Process Manager control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>select [<i>particle name</i>]</b>
|
||||
<p><dd>
|
||||
Select particle <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle name
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>list [<i>particle type</i>]</b>
|
||||
<p><dd>
|
||||
List name of particles.<br>
|
||||
all(default)/lepton/baryon/meson/nucleus/quarks<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td>Parameter candidates : all lepton baryon meson nucleus quarks
|
||||
</table>
|
||||
<p><br><p><dt><b>find [<i>encoding</i>]</b>
|
||||
<p><dd>
|
||||
Find particle by encoding<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>encoding
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
61
geant4/TaoLEMuSR/doc/commands/_particle_process_.html
Normal file
61
geant4/TaoLEMuSR/doc/commands/_particle_process_.html
Normal file
@ -0,0 +1,61 @@
|
||||
<html><head><title>Commands in /particle/process/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/process/</h2><p>
|
||||
Process Manager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>dump [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
dump process manager or process information<br>
|
||||
dump [process index]<br>
|
||||
process index: -1 for process manager<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>Verbose</i>] [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose Level for Process or Process Manager<br>
|
||||
Verbose [Verbose] [process index]<br>
|
||||
process index: -1 for process manager<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Verbose
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>index
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>activate [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Activate process <br>
|
||||
Activate [process index]<br>
|
||||
<p><dd>Range : index >=0
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>index</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate process <br>
|
||||
inactivate [process index]<br>
|
||||
<p><dd>Range : index >=0
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>index
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
55
geant4/TaoLEMuSR/doc/commands/_particle_property_.html
Normal file
55
geant4/TaoLEMuSR/doc/commands/_particle_property_.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html><head><title>Commands in /particle/property/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/property/</h2><p>
|
||||
Paricle Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_particle_property_decay_.html">/particle/property/decay/</a>
|
||||
<p><dd>Decay Table control commands.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>dump</b>
|
||||
<p><dd>
|
||||
dump particle properties.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>stable [<i>stable</i>]</b>
|
||||
<p><dd>
|
||||
Set stable flag.<br>
|
||||
false: Unstable true: Stable<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>stable
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>lifetime [<i>life</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set life time.<br>
|
||||
Unit of the time can be :<br>
|
||||
s, ms, ns (default)<br>
|
||||
<p><dd>Range : life >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>life
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = ns
|
||||
<td>Parameter candidates : s ms mus ns ps second millisecond microsecond nanosecond picosecond
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose_level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of particle property.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display warning messages<br>
|
||||
2 : Display more<br>
|
||||
<p><dd>Range : verbose_level >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
31
geant4/TaoLEMuSR/doc/commands/_particle_property_decay_.html
Normal file
31
geant4/TaoLEMuSR/doc/commands/_particle_property_decay_.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html><head><title>Commands in /particle/property/decay/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/particle/property/decay/</h2><p>
|
||||
Decay Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>select [<i>mode</i>]</b>
|
||||
<p><dd>
|
||||
Enter index of decay mode.<br>
|
||||
<p><dd>Range : mode >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>mode
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dump</b>
|
||||
<p><dd>
|
||||
Dump decay mode information.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>br [<i>br</i>]</b>
|
||||
<p><dd>
|
||||
Set branching ratio. [0< BR <1.0]<br>
|
||||
<p><dd>Range : (br >=0.0) && (br <=1.0)
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>br
|
||||
<td>type d
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
106
geant4/TaoLEMuSR/doc/commands/_process_.html
Normal file
106
geant4/TaoLEMuSR/doc/commands/_process_.html
Normal file
@ -0,0 +1,106 @@
|
||||
<html><head><title>Commands in /process/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/process/</h2><p>
|
||||
Process Table control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_process_eLoss_.html">/process/eLoss/</a>
|
||||
<p><dd>Commands for G4VEnergyLoss.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list [<i>type</i>]</b>
|
||||
<p><dd>
|
||||
List up process names<br>
|
||||
list [type] <br>
|
||||
type: process type [all:for all proceeses]<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td>Parameter candidates : all NotDefined Transportation Electromagnetic Optical Hadronic Photolepton_hadron Decay General Parameterisation UserDefined
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose Level for Process Table<br>
|
||||
verbose [level]<br>
|
||||
level: verbose level<br>
|
||||
<p><dd>Range : verbose >=0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setVerbose [<i>verbose</i>] [<i>type</i>]</b>
|
||||
<p><dd>
|
||||
Set verbose level for processes<br>
|
||||
setVerbose level [type or name] <br>
|
||||
level: verbose level <br>
|
||||
name : process name <br>
|
||||
type : process type <br>
|
||||
[all] for all proceeses <br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose
|
||||
<td>type i
|
||||
<td><td><tr><td>type
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dump [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Dump process information<br>
|
||||
dump name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>activate [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Activate processes <br>
|
||||
Activate name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>inactivate [<i>procName</i>] [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Inactivate process <br>
|
||||
Inactivate processes <br>
|
||||
Inactivate name [particle]<br>
|
||||
name: process name or type name<br>
|
||||
particle: particle name [all: for all particles]<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>procName
|
||||
<td>type s
|
||||
<td><td><tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
</dl></body></html>
|
125
geant4/TaoLEMuSR/doc/commands/_process_eLoss_.html
Normal file
125
geant4/TaoLEMuSR/doc/commands/_process_eLoss_.html
Normal file
@ -0,0 +1,125 @@
|
||||
<html><head><title>Commands in /process/eLoss/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/process/eLoss/</h2><p>
|
||||
Commands for G4VEnergyLoss.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>rndmStep [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Randomize the proposed step by eLoss.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>fluct [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the energy loss fluctuations.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>subsec [<i>choice</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the subcutoff generation.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>choice
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>minsubsec [<i>rcmin</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the min. cut for subcutoff delta in range.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>rcmin
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>StepFunction [<i>dRoverR</i>] [<i>finalRange</i>] [<i>unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the energy loss step limitation parameters.<br>
|
||||
dRoverR : max Range variation per step<br>
|
||||
finalRange: range for final step<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dRoverR
|
||||
<td>type d
|
||||
<td><td>Parameter range : dRoverR>0. && dRoverR<=1.
|
||||
<tr><td>finalRange
|
||||
<td>type d
|
||||
<td><td>Parameter range : finalRange>0.
|
||||
<tr><td>unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>minKinEnergy [<i>emin</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the min kinetic energy<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>emin
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
|
||||
</table>
|
||||
<p><br><p><dt><b>maxKinEnergy [<i>emax</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set the max kinetic energy<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>emax
|
||||
<td>type d
|
||||
<td>Omittable : default value =
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
|
||||
</table>
|
||||
<p><br><p><dt><b>integral [<i>integ</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the integration of cross section over step.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>integ
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>preciseRange [<i>range</i>]</b>
|
||||
<p><dd>
|
||||
Switch true/false the precise range calculation.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>range
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>verb</i>]</b>
|
||||
<p><dd>
|
||||
Set verbose level for EM physics.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verb
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
54
geant4/TaoLEMuSR/doc/commands/_random_.html
Normal file
54
geant4/TaoLEMuSR/doc/commands/_random_.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html><head><title>Commands in /random/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/random/</h2><p>
|
||||
Random number status control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>setDirectoryName [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Define the directory name of the rndm status files.<br>
|
||||
Directory must be creates before storing the files.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = ./
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setSavingFlag [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
The randomNumberStatus will be saved at :<br>
|
||||
begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>saveThisRun</b>
|
||||
<p><dd>
|
||||
copy currentRun.rndm to runXXX.rndm<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><br><p><dt><b>saveThisEvent</b>
|
||||
<p><dd>
|
||||
copy currentEvent.rndm to runXXXevtYYY.rndm<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>resetEngineFrom [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Reset the status of the rndm engine from a file.<br>
|
||||
See CLHEP manual for detail.<br>
|
||||
The engine status must be stored beforehand.<br>
|
||||
Directory of the status file should be set by /random/setDirectoryName.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = currentRun.rndm
|
||||
<td></table>
|
||||
</dl></body></html>
|
206
geant4/TaoLEMuSR/doc/commands/_run_.html
Normal file
206
geant4/TaoLEMuSR/doc/commands/_run_.html
Normal file
@ -0,0 +1,206 @@
|
||||
<html><head><title>Commands in /run/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/run/</h2><p>
|
||||
Run control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_run_particle_.html">/run/particle/</a>
|
||||
<p><dd>Commands for G4VUserPhysicsList.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>initialize</b>
|
||||
<p><dd>
|
||||
Initialize G4 kernel.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>beamOn [<i>numberOfEvent</i>] [<i>macroFile</i>] [<i>nSelect</i>]</b>
|
||||
<p><dd>
|
||||
Start a Run.<br>
|
||||
If G4 kernel is not initialized, it will be initialized.<br>
|
||||
Default number of events to be processed is 1.<br>
|
||||
The second and third arguments can be used for<br>
|
||||
executing a macro file at the end of each event.<br>
|
||||
If the second argument, i.e. name of the macro<br>
|
||||
file, is given but the third argument is not,<br>
|
||||
the macro file will be executed for all of the<br>
|
||||
event.<br>
|
||||
If the third argument (nSelect) is given, the<br>
|
||||
macro file will be executed only for the first<br>
|
||||
nSelect events.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>numberOfEvent
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td>Parameter range : numberOfEvent >= 0
|
||||
<tr><td>macroFile
|
||||
<td>type s
|
||||
<td>Omittable : default value = ***NULL***
|
||||
<td><tr><td>nSelect
|
||||
<td>type i
|
||||
<td>Omittable : default value = -1
|
||||
<td>Parameter range : nSelect>=-1
|
||||
</table>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level of G4RunManager.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display main topics<br>
|
||||
2 : Display main topics and run summary<br>
|
||||
<p><dd>Range : level >=0 && level <=2
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpRegion [<i>regionName</i>]</b>
|
||||
<p><dd>
|
||||
Dump region information.<br>
|
||||
In case name of a region is not given, all regions will be displayed.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>regionName
|
||||
<td>type s
|
||||
<td>Omittable : default value = **ALL**
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpCouples</b>
|
||||
<p><dd>
|
||||
Dump material-cuts-couple information.<br>
|
||||
Note that material-cuts-couple information is updated<br>
|
||||
after BeamOn has started.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><br><p><dt><b>optimizeGeometry [<i>optimizeFlag</i>]</b>
|
||||
<p><dd>
|
||||
Set the optimization flag for geometry.<br>
|
||||
If it is set to TRUE, G4GeometryManager will optimize<br>
|
||||
the geometry definitions.<br>
|
||||
GEANT4 is initialized with this flag as TRUE.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>optimizeFlag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>breakAtBeginOfEvent [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Set a break point at the begining of every event.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>breakAtEndOfEvent [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Set a break point at the end of every event.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>abort [<i>softAbort</i>]</b>
|
||||
<p><dd>
|
||||
Abort current run processing.<br>
|
||||
If softAbort is false (default), currently processing event will be immediately aborted,<br>
|
||||
while softAbort is true, abortion occurs after processing the current event.<br>
|
||||
<p><dd>Available Geant4 state(s) : GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>softAbort
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>abortCurrentEvent</b>
|
||||
<p><dd>
|
||||
Abort currently processing event.<br>
|
||||
<p><dd>Available Geant4 state(s) : EventProc
|
||||
<p><br><p><dt><b>geometryModified</b>
|
||||
<p><dd>
|
||||
Force geometry to be closed again.<br>
|
||||
This command must be applied<br>
|
||||
if geometry has been modified after the<br>
|
||||
first initialization (or BeamOn).<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>physicsModified</b>
|
||||
<p><dd>
|
||||
Force all physics tables recalculated again.<br>
|
||||
This command must be applied<br>
|
||||
if physics process has been modified after the<br>
|
||||
first initialization (or BeamOn).<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><br><p><dt><b>cutoffModified</b>
|
||||
<p><dd>
|
||||
/run/cutoffModified becomes obsolete.<br>
|
||||
It is safe to remove invoking this command.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>randomNumberStatusDirectory [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Define the directory name of the rndm status files.<br>
|
||||
Directory must be creates before storing the files.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = ./
|
||||
<td></table>
|
||||
<p><br><p><dt><b>storeRandomNumberStatus [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
The randomNumberStatus will be saved at :<br>
|
||||
begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>restoreRandomNumberStatus [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Reset the status of the rndm engine from a file.<br>
|
||||
See CLHEP manual for detail.<br>
|
||||
The engine status must be stored beforehand.<br>
|
||||
Directory of the status file should be set by /random/setDirectoryName.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
GeomClosed
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = currentRun.rndm
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setCut [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set default cut value <br>
|
||||
<p><dd>Range : cut >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>cut
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>setCutForRegion [<i>Region</i>] [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set cut value for a region<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Region
|
||||
<td>type s
|
||||
<td><td><tr><td>cut
|
||||
<td>type d
|
||||
<td><td>Parameter range : cut >0.0
|
||||
<tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
</dl></body></html>
|
140
geant4/TaoLEMuSR/doc/commands/_run_particle_.html
Normal file
140
geant4/TaoLEMuSR/doc/commands/_run_particle_.html
Normal file
@ -0,0 +1,140 @@
|
||||
<html><head><title>Commands in /run/particle/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/run/particle/</h2><p>
|
||||
Commands for G4VUserPhysicsList.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>level</i>]</b>
|
||||
<p><dd>
|
||||
Set the Verbose level of G4VUserPhysicsList.<br>
|
||||
0 : Silent (default)<br>
|
||||
1 : Display warning messages<br>
|
||||
2 : Display more<br>
|
||||
<p><dd>Range : level >=0 && level <=3
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setCut [<i>cut</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Set default cut value <br>
|
||||
This command is equivallent to /run/setCut command.<br>
|
||||
This command is kept for backward compatibility.<br>
|
||||
<p><dd>Range : cut >0.0
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>cut
|
||||
<td>type d
|
||||
<td><td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = mm
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>dumpList</b>
|
||||
<p><dd>
|
||||
Dump List of particles in G4VUserPhysicsList. <br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>addProcManager [<i>particleType</i>]</b>
|
||||
<p><dd>
|
||||
add process manager to specified particle type<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particleType
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>buildPhysicsTable [<i>particleType</i>]</b>
|
||||
<p><dd>
|
||||
build physics table of specified particle type<br>
|
||||
<p><dd>Available Geant4 state(s) : Init
|
||||
Idle
|
||||
GeomClosed
|
||||
EventProc
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particleType
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>storePhysicsTable [<i>dirName</i>]</b>
|
||||
<p><dd>
|
||||
Store Physics Table<br>
|
||||
Enter directory name<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirName
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>retrievePhysicsTable [<i>dirName</i>]</b>
|
||||
<p><dd>
|
||||
Retrieve Physics Table<br>
|
||||
Enter directory name or OFF to switch off<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>dirName
|
||||
<td>type s
|
||||
<td>Omittable : default value =
|
||||
<td></table>
|
||||
<p><br><p><dt><b>setStoredInAscii [<i>ascii</i>]</b>
|
||||
<p><dd>
|
||||
Switch on/off ascii mode in store/retreive Physics Table<br>
|
||||
Enter 0(binary) or 1(ascii)<br>
|
||||
<p><dd>Range : ascii ==0 || ascii ==1
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>ascii
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>applyCuts [<i>Flag</i>] [<i>Particle</i>]</b>
|
||||
<p><dd>
|
||||
Set applyCuts flag for a particle.<br>
|
||||
Some EM processes which do not have infrared divergence<br>
|
||||
may generate gamma, e- and/or e+ with kinetic energies<br>
|
||||
below the production threshold. By setting this flag,<br>
|
||||
such secondaries below threshold are eliminated and<br>
|
||||
kinetic energies of such secondaries are accumulated<br>
|
||||
to the energy deposition of their mother.<br>
|
||||
Note that 'applyCuts' makes sense only for gamma,<br>
|
||||
e- and e+. If this command is issued for other particle,<br>
|
||||
a warning message is displayed and the command is<br>
|
||||
ignored.<br>
|
||||
If particle name is 'all', this command affects on<br>
|
||||
gamma, e- and e+.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Init
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Flag
|
||||
<td>type s
|
||||
<td>Omittable : default value = true
|
||||
<td><tr><td>Particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
<p><br><p><dt><b>dumpCutValues [<i>particle</i>]</b>
|
||||
<p><dd>
|
||||
Dump a list of production threshold values in range and energy<br>
|
||||
for all registered material-cuts-couples.<br>
|
||||
Dumping a list takes place when you issue 'beamOn' and<br>
|
||||
actual conversion tables from range to energy are available.<br>
|
||||
If you want a list 'immediately', use '/run/dumpRegion' for threshold<br>
|
||||
list given in gange only. Also, '/run/dumpCouples' gives you the<br>
|
||||
current list if you have already issued 'run/beamOn' at least once.<br>
|
||||
<p><dd>Available Geant4 state(s) : PreInit
|
||||
Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>particle
|
||||
<td>type s
|
||||
<td>Omittable : default value = all
|
||||
<td></table>
|
||||
</dl></body></html>
|
47
geant4/TaoLEMuSR/doc/commands/_tracking_.html
Normal file
47
geant4/TaoLEMuSR/doc/commands/_tracking_.html
Normal file
@ -0,0 +1,47 @@
|
||||
<html><head><title>Commands in /tracking/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/tracking/</h2><p>
|
||||
TrackingManager and SteppingManager control commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>abort</b>
|
||||
<p><dd>
|
||||
Abort current G4Track processing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>resume</b>
|
||||
<p><dd>
|
||||
Resume current G4Track processing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>storeTrajectory [<i>Store</i>]</b>
|
||||
<p><dd>
|
||||
Store trajectories or not.<br>
|
||||
1 : Store trajectories.<br>
|
||||
0 : Don't Store trajectories.<br>
|
||||
<p><dd>Range : Store >=0 && Store <= 1
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Store
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>verbose [<i>verbose_level</i>]</b>
|
||||
<p><dd>
|
||||
Set Verbose level of tracking category.<br>
|
||||
0 : Silent.<br>
|
||||
1 : Minium information of each Step.<br>
|
||||
2 : Addition to Level=1, info of secondary particles.<br>
|
||||
3 : Addition to Level=1, pre/postStepoint information<br>
|
||||
after all AlongStep/PostStep process executions.<br>
|
||||
4 : Addition to Level=3, pre/postStepoint information<br>
|
||||
at each AlongStepPostStep process execuation.<br>
|
||||
5 : Addition to Level=4, proposed Step length information<br>
|
||||
from each AlongStepPostStep process.<br>
|
||||
<p><dd>Range : verbose_level >=0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbose_level
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
12
geant4/TaoLEMuSR/doc/commands/_units_.html
Normal file
12
geant4/TaoLEMuSR/doc/commands/_units_.html
Normal file
@ -0,0 +1,12 @@
|
||||
<html><head><title>Commands in /units/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/units/</h2><p>
|
||||
Available units.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>list</b>
|
||||
<p><dd>
|
||||
full list of available units.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
</dl></body></html>
|
145
geant4/TaoLEMuSR/doc/commands/_vis_.html
Normal file
145
geant4/TaoLEMuSR/doc/commands/_vis_.html
Normal file
@ -0,0 +1,145 @@
|
||||
<html><head><title>Commands in /vis/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/</h2><p>
|
||||
Visualization commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_ASCIITree_.html">/vis/ASCIITree/</a>
|
||||
<p><dd>Commands for ASCIITree control.
|
||||
<p><br><p><dt><a href="_vis_GAGTree_.html">/vis/GAGTree/</a>
|
||||
<p><dd>Commands for GAGTree control.
|
||||
<p><br><p><dt><a href="_vis_heprep_.html">/vis/heprep/</a>
|
||||
<p><dd>HepRep commands.
|
||||
<p><br><p><dt><a href="_vis_rayTracer_.html">/vis/rayTracer/</a>
|
||||
<p><dd>RayTracer commands.
|
||||
<p><br><p><dt><a href="_vis_scene_.html">/vis/scene/</a>
|
||||
<p><dd>Operations on Geant4 scenes.
|
||||
<p><br><p><dt><a href="_vis_sceneHandler_.html">/vis/sceneHandler/</a>
|
||||
<p><dd>Operations on Geant4 scene handlers.
|
||||
<p><br><p><dt><a href="_vis_viewer_.html">/vis/viewer/</a>
|
||||
<p><dd>Operations on Geant4 viewers.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>enable [<i>enabled</i>]</b>
|
||||
<p><dd>
|
||||
Enables/disables visualization system.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>enabled
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
<p><br><p><dt><b>disable</b>
|
||||
<p><dd>
|
||||
Disables visualization system.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
Simple graded message scheme - digit or string (1st character defines):<br>
|
||||
0) quiet, // Nothing is printed.<br>
|
||||
1) startup, // Startup and endup messages are printed...<br>
|
||||
2) errors, // ...and errors...<br>
|
||||
3) warnings, // ...and warnings...<br>
|
||||
4) confirmations, // ...and confirming messages...<br>
|
||||
5) parameters, // ...and parameters of scenes and views...<br>
|
||||
6) all // ...and everything available.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type s
|
||||
<td>Omittable : default value = warnings
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawTree [<i>physical-volume-name</i>] [<i>system</i>]</b>
|
||||
<p><dd>
|
||||
(DTREE) Creates a scene consisting of this physical volume and
|
||||
produces a representation of the geometry hieracrhy.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>physical-volume-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = world
|
||||
<td><tr><td>system
|
||||
<td>type s
|
||||
<td>Omittable : default value = ATree
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawView [<i>theta-degrees</i>] [<i>phi-degrees</i>] [<i>pan-right</i>] [<i>pan-up</i>] [<i>pan-unit</i>] [<i>zoom-factor</i>] [<i>dolly</i>] [<i>dolly-unit</i>]</b>
|
||||
<p><dd>
|
||||
Draw view from this angle, etc.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>theta-degrees
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>phi-degrees
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-right
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-up
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>pan-unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td><tr><td>zoom-factor
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>dolly
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>dolly-unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = cm
|
||||
<td></table>
|
||||
<p><br><p><dt><b>drawVolume [<i>physical-volume-name</i>]</b>
|
||||
<p><dd>
|
||||
Creates a scene consisting of this physical volume and asks the
|
||||
current viewer to draw it.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>physical-volume-name
|
||||
<td>type s
|
||||
<td>Omittable : default value = world
|
||||
<td></table>
|
||||
<p><br><p><dt><b>open [<i>graphics-system-name</i>] [<i>window-size-hint</i>]</b>
|
||||
<p><dd>
|
||||
Creates a scene handler ready for drawing.<br>
|
||||
The scene handler becomes current (the name is auto-generated).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>graphics-system-name
|
||||
<td>type s
|
||||
<td><td>Parameter candidates : ATree DAWNFILE GAGTree HepRepFile HepRepXML RayTracer VRML1FILE VRML2FILE DAWN OGLIX OGLSX
|
||||
<tr><td>window-size-hint
|
||||
<td>type i
|
||||
<td>Omittable : default value = 600
|
||||
<td></table>
|
||||
<p><br><p><dt><b>specify [<i>logical-volume-name</i>] [<i>depth-of-descent</i>] [<i>booleans-flag</i>] [<i>voxels-flag</i>] [<i>readout-flag</i>]</b>
|
||||
<p><dd>
|
||||
Draws logical volume with Boolean components, voxels and readout geometry.<br>
|
||||
Creates a scene consisting of this logical volume and asks the
|
||||
current viewer to draw it to the specified depth of descent
|
||||
showing boolean components (if any), voxels (if any)
|
||||
and readout geometry (if any), under control of the appropriate flag.<br>
|
||||
Note: voxels are not constructed until start of run - /run/beamOn.<br>
|
||||
The scene becomes current.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>logical-volume-name
|
||||
<td>type s
|
||||
<td><td><tr><td>depth-of-descent
|
||||
<td>type i
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>booleans-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>voxels-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>readout-flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
35
geant4/TaoLEMuSR/doc/commands/_vis_ASCIITree_.html
Normal file
35
geant4/TaoLEMuSR/doc/commands/_vis_ASCIITree_.html
Normal file
@ -0,0 +1,35 @@
|
||||
<html><head><title>Commands in /vis/ASCIITree/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/ASCIITree/</h2><p>
|
||||
Commands for ASCIITree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
<p><br><p><dt><a href="_vis_ASCIITree_set_.html">/vis/ASCIITree/set/</a>
|
||||
<p><dd>Settings for ASCIITree control.
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
< 10: - does not print daughters of repeated placements, does not repeat replicas.<br>
|
||||
>= 10: prints all physical volumes.<br>
|
||||
The level of detail is given by the units (verbosity%10):<br>
|
||||
>= 0: prints physical volume name.<br>
|
||||
>= 1: prints logical volume name (and names of sensitive detector and readout geometry, if any).<br>
|
||||
>= 2: prints solid name and type.<br>
|
||||
>= 3: prints volume and density.<br>
|
||||
>= 4: prints mass of each top physical volume in scene to depth specified.<br>
|
||||
>= 5: prints mass of branch at each volume (can be time consuming).<br>
|
||||
Note: by default, culling is switched off so all volumes are seen.<br>
|
||||
Note: the mass calculation takes into account daughters, normally to unlimited depth, which can be time consuuming. If you want the mass of a particular subtree to a particular depth:<br>
|
||||
/vis/open ATree<br>
|
||||
/vis/ASCIITree/verbose 14<br>
|
||||
/vis/scene/create<br>
|
||||
/vis/scene/add/volume <subtree-physical-volume> ! <depth><br>
|
||||
/vis/sceneHandler/attach<br>
|
||||
/vis/viewer/flush<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type i
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
</dl></body></html>
|
17
geant4/TaoLEMuSR/doc/commands/_vis_ASCIITree_set_.html
Normal file
17
geant4/TaoLEMuSR/doc/commands/_vis_ASCIITree_set_.html
Normal file
@ -0,0 +1,17 @@
|
||||
<html><head><title>Commands in /vis/ASCIITree/set/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/ASCIITree/set/</h2><p>
|
||||
Settings for ASCIITree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>outFile [<i>out-filename</i>]</b>
|
||||
<p><dd>
|
||||
Set name of output file.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>out-filename
|
||||
<td>type s
|
||||
<td>Omittable : default value = G4cout
|
||||
<td></table>
|
||||
</dl></body></html>
|
18
geant4/TaoLEMuSR/doc/commands/_vis_GAGTree_.html
Normal file
18
geant4/TaoLEMuSR/doc/commands/_vis_GAGTree_.html
Normal file
@ -0,0 +1,18 @@
|
||||
<html><head><title>Commands in /vis/GAGTree/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/GAGTree/</h2><p>
|
||||
Commands for GAGTree control.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
|
||||
<p><dd>
|
||||
/vis/GAGTree/verbose [<verbosity>]<br>
|
||||
0 (default) mimimum - 10 maximum printing.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>verbosity
|
||||
<td>type i
|
||||
<td>Omittable : current value is used as the default value.
|
||||
<td></table>
|
||||
</dl></body></html>
|
41
geant4/TaoLEMuSR/doc/commands/_vis_heprep_.html
Normal file
41
geant4/TaoLEMuSR/doc/commands/_vis_heprep_.html
Normal file
@ -0,0 +1,41 @@
|
||||
<html><head><title>Commands in /vis/heprep/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/heprep/</h2><p>
|
||||
HepRep commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>setEventNumberSuffix [<i>suffix</i>]</b>
|
||||
<p><dd>
|
||||
Write separate event files, appended with given suffix.<br>
|
||||
Define the suffix with a pattern such as '-0000'.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>suffix
|
||||
<td>type s
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>appendGeometry [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Appends copy of geometry to every event.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>addPointAttributes [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Adds point attributes to the points of trajectories.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>useSolids [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Use HepRep Solids, rather than Geant4 Primitives.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td><td></table>
|
||||
</dl></body></html>
|
169
geant4/TaoLEMuSR/doc/commands/_vis_rayTracer_.html
Normal file
169
geant4/TaoLEMuSR/doc/commands/_vis_rayTracer_.html
Normal file
@ -0,0 +1,169 @@
|
||||
<html><head><title>Commands in /vis/rayTracer/</title></head>
|
||||
<body bgcolor="#ffffff"><h2>/vis/rayTracer/</h2><p>
|
||||
RayTracer commands.<br>
|
||||
<p><hr><p>
|
||||
<h2>Sub-directories : </h2><dl>
|
||||
</dl><p><hr><p>
|
||||
<h2>Commands : </h2><dl>
|
||||
<p><br><p><dt><b>trace [<i>fileName</i>]</b>
|
||||
<p><dd>
|
||||
Start the ray tracing.<br>
|
||||
Define the name of output JPEG file.<br>
|
||||
<p><dd>Available Geant4 state(s) : Idle
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>fileName
|
||||
<td>type s
|
||||
<td>Omittable : default value = g4RayTracer.jpeg
|
||||
<td></table>
|
||||
<p><br><p><dt><b>column [<i>nPixel</i>]</b>
|
||||
<p><dd>
|
||||
Define the number of horizontal pixels.<br>
|
||||
<p><dd>Range : nPixel > 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPixel
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>row [<i>nPixel</i>]</b>
|
||||
<p><dd>
|
||||
Define the number of virtical pixels.<br>
|
||||
<p><dd>Range : nPixel > 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>nPixel
|
||||
<td>type i
|
||||
<td><td></table>
|
||||
<p><br><p><dt><b>target [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the center position of the target.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>eyePosition [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the eye position.<br>
|
||||
Eye direction is calsurated from (target - eyePosition).<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>X
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Y
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Z
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>lightDirection [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>]</b>
|
||||
<p><dd>
|
||||
Define the direction of illumination light.<br>
|
||||
The vector needs not to be a unit vector, but it must not be a zero vector.<br>
|
||||
<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Px
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.1
|
||||
<td><tr><td>Py
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.2
|
||||
<td><tr><td>Pz
|
||||
<td>type d
|
||||
<td>Omittable : default value = 0.3
|
||||
<td></table>
|
||||
<p><br><p><dt><b>span [<i>span</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the angle per 100 pixels.<br>
|
||||
<p><dd>Range : span>0.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>span
|
||||
<td>type d
|
||||
<td>Omittable : default value = 50
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
|
||||
</table>
|
||||
<p><br><p><dt><b>headAngle [<i>headAngle</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the head direction.<br>
|
||||
<p><dd>Range : headAngle>=0. && headAngle<360.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>headAngle
|
||||
<td>type d
|
||||
<td>Omittable : default value = 270
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = deg
|
||||
<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
|
||||
</table>
|
||||
<p><br><p><dt><b>attenuation [<i>Length</i>] [<i>Unit</i>]</b>
|
||||
<p><dd>
|
||||
Define the attenuation length for transparent material.<br>
|
||||
Note that this value is independent to the attenuation length for the optical photon processes.<br>
|
||||
<p><dd>Range : Length > 0.
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>Length
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>Unit
|
||||
<td>type s
|
||||
<td>Omittable : default value = m
|
||||
<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
|
||||
</table>
|
||||
<p><br><p><dt><b>distortion [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Distortion effect of the fish eye lens.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>ignoreTransparency [<i>flag</i>]</b>
|
||||
<p><dd>
|
||||
Ignore transparency even if the alpha of G4Colour < 1.<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>flag
|
||||
<td>type b
|
||||
<td>Omittable : default value = 0
|
||||
<td></table>
|
||||
<p><br><p><dt><b>backgroundColour [<i>red</i>] [<i>green</i>] [<i>blue</i>]</b>
|
||||
<p><dd>
|
||||
Set background colour: red green blue: range 0.->1.<br>
|
||||
E.g: /vis/rayTracer/backgroundColour 0 0 0<br>
|
||||
<p><dd>Available at all Geant4 states.
|
||||
<p><dd>Parameters<table border=1>
|
||||
<tr><td>red
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>green
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td><tr><td>blue
|
||||
<td>type d
|
||||
<td>Omittable : default value = 1
|
||||
<td></table>
|
||||
</dl></body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user