mathieson

package
v0.0.0-...-7829f91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2019 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func AtanEq11

func AtanEq11(x float64) float64

func AtanEq5

func AtanEq5(x float64) float64

func AtanEq7

func AtanEq7(x float64) float64

func AtanEq9

func AtanEq9(x float64) float64

func GenerateDigitGroup

func GenerateDigitGroup(deid mapping.DEID, x, y, charge float64, minRelCharge float64) galo.DigitGroup

func IntegrateDefault

func IntegrateDefault(x1, x2 float64,
	inversePitch, sk3, k2, k4 float64, atan, tanh func(float64) float64) float64

func K2FromK3

func K2FromK3(k3 float64) float64

func K4FromK3

func K4FromK3(k3 float64) float64

func MakePlots

func MakePlots(fname string)

func NewChargeIntegrator

func NewChargeIntegrator(deid mapping.DEID, impl IntegrateImpl) galo.ChargeIntegrator

func TanhApprox1

func TanhApprox1(x float64) float64

func TanhApprox2

func TanhApprox2(x float64) float64

func TanhApprox3

func TanhApprox3(x float64) float64

Types

type ChargeSpreadFunc

type ChargeSpreadFunc func(q, x, y float64) []galo.Digit

func NewChargeSpreader

func NewChargeSpreader(deid mapping.DEID, minRelCharge float64) ChargeSpreadFunc

func (ChargeSpreadFunc) SpreadCharge

func (f ChargeSpreadFunc) SpreadCharge(q, x, y float64) []galo.Digit

type Integrate1DFunc

type Integrate1DFunc func(float64, float64) float64

func Integrator1D

func Integrator1D(pitch, k3 float64, impl IntegrateImpl) Integrate1DFunc

type IntegrateImpl

type IntegrateImpl int
const (
	Unknown IntegrateImpl = iota
	IntegrateImplDefault
	IntegrateImplTanhApprox1
	IntegrateImplTanhApprox2
	IntegrateImplTanhApprox3
	IntegrateImplAtanEq5
	IntegrateImplAtanEq7
	IntegrateImplAtanEq9
	IntegrateImplAtanEq11
	IntegrateImplAtanEq5TanhApprox1
	IntegrateImplAtanEq7TanhApprox1
	IntegrateImplAtanEq9TanhApprox1
	IntegrateImplAtanEq11TanhApprox1
)

func (IntegrateImpl) String

func (impl IntegrateImpl) String() string

type MakePlotFunc

type MakePlotFunc func(fname string)

func (MakePlotFunc) MakePlots

func (f MakePlotFunc) MakePlots(fname string)

type Mathieson1D

type Mathieson1D struct {
	// contains filtered or unexported fields
}

Mathieson1D is a function that describe the charge distribution on cathodes of multiwire chambers.

See e.g. Mathieson, E. (1988). Cathode Charge Distributions in Multiwire Chambers. 4: Empirical Formula for Small Anode - Cathode Separation. Nucl. Instrum. Meth., A270(2-3), 602–603. http://doi.org/10.1016/0168-9002(88)90736-X

func NewMathieson1D

func NewMathieson1D(pitch, k3 float64) *Mathieson1D

NewMathieson1D creates a 1D Dist function of given pitch and given K3 parameter.

func (Mathieson1D) F

func (m Mathieson1D) F(x float64) float64

F returns the evaluation of the Mathieson at point x.

func (Mathieson1D) FWHM

func (m Mathieson1D) FWHM() float64

FWHM returns an estimate of the full width half maximum.

func (Mathieson1D) K3

func (m Mathieson1D) K3() float64

K3 returns the K3 parameter of the Mathieson.

func (Mathieson1D) Pitch

func (m Mathieson1D) Pitch() float64

Pitch returns the pitch (distance between the wires of the cathode pad chamber).

func (Mathieson1D) String

func (m Mathieson1D) String() string

type Station

type Station struct {
	K3x   float64
	K3y   float64
	Pitch float64 //cm
}
var (
	St1    Station = Station{0.49, 0.570025, 0.21}
	St2345 Station = Station{0.50851161, 0.58400164, 0.25}
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL