Belle II Software development
SVDNeutronFluxEvent.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#ifndef SVD_DATAOBJECTS_NEUTRONFLUXEVENT_H
11#define SVD_DATAOBJECTS_NEUTRONFLUXEVENT_H
12
13#include <framework/datastore/RelationsObject.h>
14#include <algorithm>
15
16namespace Belle2 {
29
30 public:
31
34 m_time(0.0), m_u(0.0), m_v(0.0),
36 m_nielFlux(0.0), m_pdg(0), m_layer(0), m_ladder(0), m_sensor(0)
37 {
38 std::fill_n(m_globalPos, 3, 0.0);
39 std::fill_n(m_globalMom, 3, 0.0);
40 }
41
58 SVDNeutronFluxEvent(unsigned short layer, unsigned short ladder, unsigned short sensor,
59 int pdg, float time, float u, float v,
60 const float* globalPos, const float* globalMom, float kineticEnergy,
61 float stepLength, float nielFactor, float rawFlux, float nielFlux):
62 m_time(time), m_u(u), m_v(v), m_kineticEnergy(kineticEnergy),
63 m_stepLength(stepLength), m_nielFactor(nielFactor), m_rawFlux(rawFlux),
64 m_nielFlux(nielFlux), m_pdg(pdg), m_layer(layer), m_ladder(ladder), m_sensor(sensor)
65 {
66 std::copy_n(globalPos, 3, m_globalPos);
67 std::copy_n(globalMom, 3, m_globalMom);
68 }
69
70 float m_globalPos[3];
71 float m_globalMom[3];
72 float m_time;
73 float m_u;
74 float m_v;
78 float m_rawFlux;
79 float m_nielFlux;
80 int m_pdg;
81 unsigned short m_layer;
82 unsigned short m_ladder;
83 unsigned short m_sensor;
86 };
88} // end namespace Belle2
89
90#endif
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class SVDNeutronFluxEvent: SVDTrueHit data container for background studies.
float m_time
time of particle crossing
float m_nielFlux
NIEL-corrected flux.
float m_rawFlux
Raw particle flux.
SVDNeutronFluxEvent(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.
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
SVDNeutronFluxEvent()
default constructor for ROOT
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.
Abstract base class for different kinds of events.