R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandCommon.h File Reference
#include "R3BValueError.h"
#include <R3BMinMaxValue.h>
#include <cassert>
#include <limits>
Include dependency graph for R3BNeulandCommon.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  R3B
 
namespace  R3B::Neuland
 Simulation of NeuLAND Bar/Paddle.
 

Functions

template<typename T>
constexpr auto R3B::Neuland::Sqr (const T val) -> T
 
constexpr auto R3B::Neuland::GetLightYieldAfterBirk (const int charge, const double length_mm, const double edep_MeV) -> double
 
constexpr auto R3B::Neuland::GetBarVerticalDisplacement (int module_num) -> double
 
constexpr auto R3B::Neuland::IsPlaneIDHorizontal (int plane_id) -> bool
 
constexpr auto R3B::Neuland::IsPlaneIDVertical (int plane_id) -> bool
 
constexpr auto R3B::Neuland::ModuleID2PlaneID (int moduleID) -> int
 
constexpr auto R3B::Neuland::ModuleID2PlaneNum (int moduleID) -> int
 
constexpr auto R3B::Neuland::Neuland_PlaneBar2ModuleNum (unsigned int planeNum, unsigned int barNum) -> unsigned int
 
template<typename T = double>
constexpr auto R3B::Neuland::PlaneID2ZPos (int plane_id) -> T
 
template<typename T = double>
constexpr auto R3B::Neuland::ModuleNum2ZPos (int module_num) -> T
 

Variables

constexpr auto R3B::Neuland::SQRT_12 = 3.464101615
 
constexpr auto R3B::Neuland::NaN = std::numeric_limits<double>::quiet_NaN()
 
constexpr auto R3B::Neuland::Inf = std::numeric_limits<double>::infinity()
 
constexpr auto R3B::Neuland::DEFAULT_EFFECTIVE_C = 8.
 
constexpr auto R3B::Neuland::DEFAULT_CALIBRATION_P_VALUE_CUT = 1e-10
 
constexpr auto R3B::Neuland::DEFAULT_T_DIFF_RESIDUAL_CUT = 400
 
constexpr double R3B::Neuland::BirkdP = 1.032
 
constexpr double R3B::Neuland::BirkC1 = 0.013 / BirkdP
 
constexpr double R3B::Neuland::BirkC2 = 9.6e-6 / (BirkdP * BirkdP)
 
constexpr auto R3B::Neuland::CLight = 29.9792458
 
constexpr auto R3B::Neuland::CLight2 = 898.75517873681758374898
 
constexpr auto R3B::Neuland::InvCLight = 1. / CLight
 
constexpr auto R3B::Neuland::MUON_MASS = 0.105
 
constexpr auto R3B::Neuland::COARSE_TIME_CLOCK_FREQUENCY_MHZ = 200.F
 
constexpr auto R3B::Neuland::MaxCalTime = 5. * 2048
 
constexpr auto R3B::Neuland::MaxFTValue = 4097
 
constexpr auto R3B::Neuland::MAXCTValue = 2048U
 
constexpr auto R3B::Neuland::BarSize_XY = 5.0
 
constexpr auto R3B::Neuland::BarUncertainty_XY = BarSize_XY / SQRT_12
 
constexpr auto R3B::Neuland::BarSize_Z = 5.0
 
constexpr auto R3B::Neuland::BarUncertainty_Z = BarSize_Z / SQRT_12
 
constexpr auto R3B::Neuland::BarLength = 250.0
 
constexpr auto R3B::Neuland::LightGuideLength = 10.0
 
constexpr auto R3B::Neuland::TotalBarLength
 
constexpr auto R3B::Neuland::ScintillatorDensity = 1.032
 
constexpr auto R3B::Neuland::MIPStoppingPowerPerDensity = 1.956
 
constexpr auto R3B::Neuland::MIPStoppingPower = 1.73
 
constexpr auto R3B::Neuland::FirstHorizontalPlane = 0
 
constexpr auto R3B::Neuland::BarsPerPlane = 50
 
constexpr auto R3B::Neuland::MaxNumberOfPlanes = 26
 
constexpr auto R3B::Neuland::MaxNumberOfBars = MaxNumberOfPlanes * BarsPerPlane
 
constexpr auto R3B::Neuland::AvgTimeResolution = 0.150
 
constexpr auto R3B::Neuland::AvgEffectiveCLight = -7.95
 
constexpr auto R3B::Neuland::AvgGain = 15
 
constexpr auto R3B::Neuland::AvgThreshold = 1.75
 
constexpr auto R3B::Neuland::AvgAttenuationLength = 400.
 
constexpr auto R3B::Neuland::SaturationCoefficient = 1.75e-3
 
constexpr auto R3B::Neuland::NeulandOnSpillTpatPos = 0U
 
constexpr auto R3B::Neuland::DEFAULT_BOX_GENERATOR_THETA = MinMaxValueD{ 0., 3. }
 
constexpr auto R3B::Neuland::DEFAULT_BOX_GENERATOR_PHI = MinMaxValueD{ 0., 360. }
 
constexpr auto R3B::Neuland::DEFAULT_GENERATOR_ENERGY = ValueErrorD{ 1., 0.2 }