ATLAS Offline Software
SG_StepNtuple.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SG_StepNtuple_H
6 #define 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 
17 namespace 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  bool isSUSYParticle(const int id) const;
36 
37  NTuple::Item<long> m_nsteps, m_evtid;
38  NTuple::Array<int> m_pdg, m_charge, m_baryon;
39  NTuple::Array<float> m_x1, m_y1, m_z1, m_t1, m_pt1;
40  NTuple::Array<float> m_x2, m_y2, m_z2, m_t2, m_pt2;
41  NTuple::Array<float> m_minA, m_v2, m_vthresh, m_vbelowthresh;
42  NTuple::Array<float> m_dep, m_mass;
43  NTuple::Array<float> m_ke1, m_ke2;
44  NTuple::Array<int> m_rh, m_rhid, m_step;
45  std::set<int> m_rhs;//rhadron pdgid's
46  long m_nevents = 0;
47  long m_rhadronIndex = 0;
48 
49  }; // class SG_StepNtuple
50 
51 } // namespace G4UA
52 
53 #endif
G4UA::SG_StepNtuple::m_y1
NTuple::Array< float > m_y1
Definition: SG_StepNtuple.h:39
G4UA::SG_StepNtuple::m_evtid
NTuple::Item< long > m_evtid
Definition: SG_StepNtuple.h:37
G4UA::SG_StepNtuple
Definition: SG_StepNtuple.h:22
G4UA::SG_StepNtuple::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
Definition: SG_StepNtuple.cxx:108
G4UA::SG_StepNtuple::m_mass
NTuple::Array< float > m_mass
Definition: SG_StepNtuple.h:42
G4UA::SG_StepNtuple::m_x1
NTuple::Array< float > m_x1
Definition: SG_StepNtuple.h:39
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::SG_StepNtuple::m_nevents
long m_nevents
Definition: SG_StepNtuple.h:46
G4UA::SG_StepNtuple::m_y2
NTuple::Array< float > m_y2
Definition: SG_StepNtuple.h:40
G4UA::SG_StepNtuple::m_v2
NTuple::Array< float > m_v2
Definition: SG_StepNtuple.h:41
G4UA::SG_StepNtuple::SG_StepNtuple
SG_StepNtuple(const std::vector< int > &)
Definition: SG_StepNtuple.cxx:26
G4UA::SG_StepNtuple::m_t2
NTuple::Array< float > m_t2
Definition: SG_StepNtuple.h:40
G4UA::SG_StepNtuple::EndOfEventAction
virtual void EndOfEventAction(const G4Event *) override
Definition: SG_StepNtuple.cxx:99
G4UA::SG_StepNtuple::BeginOfEventAction
virtual void BeginOfEventAction(const G4Event *) override
Definition: SG_StepNtuple.cxx:91
G4UA::SG_StepNtuple::m_nsteps
NTuple::Item< long > m_nsteps
Definition: SG_StepNtuple.h:37
G4UA::SG_StepNtuple::m_rhs
std::set< int > m_rhs
Definition: SG_StepNtuple.h:45
G4UA::SG_StepNtuple::isSUSYParticle
bool isSUSYParticle(const int id) const
Definition: SG_StepNtuple.cxx:208
G4UA::SG_StepNtuple::m_rh
NTuple::Array< int > m_rh
Definition: SG_StepNtuple.h:44
G4UA::SG_StepNtuple::m_ke1
NTuple::Array< float > m_ke1
Definition: SG_StepNtuple.h:43
G4UA::SG_StepNtuple::m_t1
NTuple::Array< float > m_t1
Definition: SG_StepNtuple.h:39
G4UA::SG_StepNtuple::m_z2
NTuple::Array< float > m_z2
Definition: SG_StepNtuple.h:40
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
G4UA::SG_StepNtuple::m_z1
NTuple::Array< float > m_z1
Definition: SG_StepNtuple.h:39
G4UA::SG_StepNtuple::m_baryon
NTuple::Array< int > m_baryon
Definition: SG_StepNtuple.h:38
G4UA::SG_StepNtuple::m_step
NTuple::Array< int > m_step
Definition: SG_StepNtuple.h:44
G4UA::SG_StepNtuple::m_minA
NTuple::Array< float > m_minA
Definition: SG_StepNtuple.h:41
G4UA::SG_StepNtuple::m_rhid
NTuple::Array< int > m_rhid
Definition: SG_StepNtuple.h:44
G4UA::SG_StepNtuple::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override
Definition: SG_StepNtuple.cxx:36
G4UA::SG_StepNtuple::m_charge
NTuple::Array< int > m_charge
Definition: SG_StepNtuple.h:38
G4UA::SG_StepNtuple::m_pdg
NTuple::Array< int > m_pdg
Definition: SG_StepNtuple.h:38
G4UA::SG_StepNtuple::m_dep
NTuple::Array< float > m_dep
Definition: SG_StepNtuple.h:42
G4UA::SG_StepNtuple::m_rhadronIndex
long m_rhadronIndex
Definition: SG_StepNtuple.h:47
G4UA::SG_StepNtuple::m_vbelowthresh
NTuple::Array< float > m_vbelowthresh
Definition: SG_StepNtuple.h:41
AthMessaging.h
G4UA::SG_StepNtuple::m_ke2
NTuple::Array< float > m_ke2
Definition: SG_StepNtuple.h:43
G4UA::SG_StepNtuple::m_x2
NTuple::Array< float > m_x2
Definition: SG_StepNtuple.h:40
G4UA::SG_StepNtuple::m_pt1
NTuple::Array< float > m_pt1
Definition: SG_StepNtuple.h:39
G4UA::SG_StepNtuple::m_pt2
NTuple::Array< float > m_pt2
Definition: SG_StepNtuple.h:40
G4UA::SG_StepNtuple::m_vthresh
NTuple::Array< float > m_vthresh
Definition: SG_StepNtuple.h:41