ATLAS Offline Software
Loading...
Searching...
No Matches
SG_StepNtuple.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RHADRONS_SG_StepNtuple_H
6#define RHADRONS_SG_StepNtuple_H
7
8#include <set>
9
10#include "GaudiKernel/NTuple.h"
12
13#include "G4UserRunAction.hh"
14#include "G4UserEventAction.hh"
15#include "G4UserSteppingAction.hh"
16
17namespace G4UA
18{
19
20 class SG_StepNtuple : public AthMessaging, public G4UserRunAction,
21 public G4UserEventAction, public G4UserSteppingAction
22 {
23
24 public:
25
26 SG_StepNtuple(const std::vector<int>&);
27
28 virtual void BeginOfRunAction(const G4Run*) override;
29 virtual void BeginOfEventAction(const G4Event*) override;
30 virtual void EndOfEventAction(const G4Event*) override;
31 virtual void UserSteppingAction(const G4Step*) override;
32
33 private:
34
35 NTuple::Item<long> m_nsteps, m_evtid;
36 NTuple::Array<int> m_pdg, m_charge, m_baryon;
37 NTuple::Array<float> m_x1, m_y1, m_z1, m_t1, m_pt1;
38 NTuple::Array<float> m_x2, m_y2, m_z2, m_t2, m_pt2;
39 NTuple::Array<float> m_minA, m_v2, m_vthresh, m_vbelowthresh;
40 NTuple::Array<float> m_dep, m_mass;
41 NTuple::Array<float> m_ke1, m_ke2;
42 NTuple::Array<int> m_rh, m_rhid, m_step;
43 std::set<int> m_rhs;//rhadron pdgid's
44 long m_nevents = 0;
46
47 }; // class SG_StepNtuple
48
49} // namespace G4UA
50
51#endif
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
NTuple::Array< float > m_x1
NTuple::Array< float > m_y2
NTuple::Item< long > m_nsteps
NTuple::Array< float > m_pt1
NTuple::Array< float > m_t1
NTuple::Array< float > m_v2
virtual void UserSteppingAction(const G4Step *) override
NTuple::Array< int > m_baryon
virtual void BeginOfEventAction(const G4Event *) override
NTuple::Array< float > m_ke2
NTuple::Array< float > m_dep
NTuple::Array< float > m_z2
NTuple::Item< long > m_evtid
NTuple::Array< int > m_step
NTuple::Array< float > m_ke1
NTuple::Array< float > m_vthresh
NTuple::Array< float > m_x2
NTuple::Array< float > m_mass
NTuple::Array< float > m_minA
NTuple::Array< float > m_t2
SG_StepNtuple(const std::vector< int > &)
NTuple::Array< float > m_vbelowthresh
virtual void EndOfEventAction(const G4Event *) override
NTuple::Array< int > m_rhid
NTuple::Array< float > m_z1
NTuple::Array< float > m_y1
std::set< int > m_rhs
NTuple::Array< int > m_rh
NTuple::Array< float > m_pt2
NTuple::Array< int > m_pdg
NTuple::Array< int > m_charge
virtual void BeginOfRunAction(const G4Run *) override