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_pdg(0), m_time(0.0), m_u(0.0), m_v(0.0),
36 m_nielFlux(0.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_layer(layer), m_ladder(ladder), m_sensor(sensor),
63 m_pdg(pdg), m_time(time), m_u(u), m_v(v), m_kineticEnergy(kineticEnergy),
64 m_stepLength(stepLength), m_nielFactor(nielFactor), m_rawFlux(rawFlux),
65 m_nielFlux(nielFlux)
66 {
67 std::copy_n(globalPos, 3, m_globalPos);
68 std::copy_n(globalMom, 3, m_globalMom);
69 }
70
71 unsigned short m_layer;
72 unsigned short m_ladder;
73 unsigned short m_sensor;
74 int m_pdg;
75 float m_time;
76 float m_u;
77 float m_v;
78 float m_globalPos[3];
79 float m_globalMom[3];
83 float m_rawFlux;
84 float m_nielFlux;
87 };
89} // end namespace Belle2
90
91#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.