Belle II Software  release-08-01-10
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 
16 namespace Belle2 {
29 
30  public:
31 
34  m_pdg(0), m_time(0.0), m_u(0.0), m_v(0.0),
35  m_kineticEnergy(0.0), m_stepLength(0.0), m_nielFactor(0.0), m_rawFlux(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];
81  float m_stepLength;
82  float m_nielFactor;
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.