ATLAS Offline Software
Loading...
Searching...
No Matches
ScoringPlane.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef G4UserActions_ScoringPlane_H
6#define G4UserActions_ScoringPlane_H
7
8#include "G4UserRunAction.hh"
9#include "G4UserSteppingAction.hh"
10#include "G4UserEventAction.hh"
11
12#include <string>
13#include <memory>
14
15// Forward declarations
16class TTree;
17
18namespace G4UA
19{
20
23 class ScoringPlane : public G4UserRunAction,
24 public G4UserSteppingAction,
25 public G4UserEventAction
26 {
27
28 public:
29
30 struct Config
31 {
32 double plane=22600;
33 int pkill=0;
34 std::string fname="ufo.root";
35 };
36
39 virtual void BeginOfRunAction(const G4Run*) override;
40 virtual void EndOfRunAction(const G4Run*) override;
41 virtual void UserSteppingAction(const G4Step*) override;
42 virtual void BeginOfEventAction(const G4Event*) override;
43 virtual void EndOfEventAction(const G4Event*) override;
44 private:
46
47 std::unique_ptr<TTree> m_tree0;
48 std::unique_ptr<TTree> m_tree1;
49
50 int m_evt;
51 int m_ntr;
52
53 int m_pdg;
54 double m_cha;
55 double m_ene;
56 double m_vx;
57 double m_vy;
58 double m_vz;
59 double m_x0;
60 double m_y0;
61 double m_z0;
62 double m_t0;
63 double m_px0;
64 double m_py0;
65 double m_pz0;
66 double m_x1;
67 double m_y1;
68 double m_z1;
69 double m_t1;
70 double m_px1;
71 double m_py1;
72 double m_pz1;
73 double m_x;
74 double m_y;
75 double m_z;
76
77 }; // class ScoringPlane
78
79} // namespace G4UA
80
81#endif
ScoringPlane(const Config &config)
virtual void BeginOfRunAction(const G4Run *) override
std::unique_ptr< TTree > m_tree1
virtual void EndOfRunAction(const G4Run *) override
virtual void UserSteppingAction(const G4Step *) override
std::unique_ptr< TTree > m_tree0
virtual void BeginOfEventAction(const G4Event *) override
virtual void EndOfEventAction(const G4Event *) override