Belle II Software development
PXDNeutronFluxEvent.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/datastore/RelationsObject.h>
12#include <algorithm>
13
14namespace Belle2 {
27
28 public:
29
32 m_pdg(0), m_time(0.0), m_u(0.0), m_v(0.0),
34 m_nielFlux(0.0)
35 {
36 std::fill_n(m_globalPos, 3, 0.0);
37 std::fill_n(m_globalMom, 3, 0.0);
38 }
39
56 PXDNeutronFluxEvent(unsigned short layer, unsigned short ladder, unsigned short sensor,
57 int pdg, float time, float u, float v,
58 const float* globalPos, const float* globalMom, float kineticEnergy,
59 float stepLength, float nielFactor, float rawFlux, float nielFlux):
60 m_layer(layer), m_ladder(ladder), m_sensor(sensor),
61 m_pdg(pdg), m_time(time), m_u(u), m_v(v), m_kineticEnergy(kineticEnergy),
62 m_stepLength(stepLength), m_nielFactor(nielFactor), m_rawFlux(rawFlux),
63 m_nielFlux(nielFlux)
64 {
65 std::copy_n(globalPos, 3, m_globalPos);
66 std::copy_n(globalMom, 3, m_globalMom);
67 }
68
69 unsigned short m_layer;
70 unsigned short m_ladder;
71 unsigned short m_sensor;
72 int m_pdg;
73 float m_time;
74 float m_u;
75 float m_v;
76 float m_globalPos[3];
77 float m_globalMom[3];
81 float m_rawFlux;
82 float m_nielFlux;
83
85 };
86
87} // end namespace Belle2
PXDNeutronFluxEvent()
default constructor for ROOT
float m_time
time of particle crossing
float m_nielFlux
NIEL-corrected flux.
float m_rawFlux
Raw particle flux.
unsigned short m_sensor
sensor number
unsigned short m_layer
layer number
float m_globalPos[3]
global (x,y,z) of particle crossing
int m_pdg
PDG number of generating particle.
unsigned short m_ladder
ladder number
PXDNeutronFluxEvent(unsigned short layer, unsigned short ladder, unsigned short sensor, int pdg, float time, float u, float v, const float *globalPos, const float *globalMom, float kineticEnergy, float stepLength, float nielFactor, float rawFlux, float nielFlux)
Standard constructor.
float m_v
local v-coordinate of particle crossing
float m_u
local u-coordinate of particle crossing
float m_globalMom[3]
global (px, py, pz) of the particle
float m_kineticEnergy
kinetic energy of the particle
float m_nielFactor
NIEL scaling factor for the particle and kinetic energy.
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Abstract base class for different kinds of events.