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;
85 };
87} // end namespace Belle2
Class PXDNeutronFluxEvent: PXDTrueHit data container for background studies.
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.
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Abstract base class for different kinds of events.