ATLAS Offline Software
Loading...
Searching...
No Matches
TFCSTruthState.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMEVENT_TFCSTruthState_h
6#define ISF_FASTCALOSIMEVENT_TFCSTruthState_h
7
8#include <TLorentzVector.h>
9
11
12
13class TFCSTruthState : public TLorentzVector, public ISF_FCS::MLogging {
14public:
16 TFCSTruthState(Double_t x, Double_t y, Double_t z, Double_t t, int pdgid);
17
18 void set_pdgid(int val) { m_pdgid = val; };
19 void set_vertex(const TLorentzVector &val) { m_vertex = val; };
20 void set_vertex(Double_t x, Double_t y, Double_t z, Double_t t = 0) {
21 m_vertex.SetXYZT(x, y, z, t);
22 };
23 void set_Ekin_off(double val) { m_ekin_off = val; };
24
25 int pdgid() const { return m_pdgid; };
26 double Ekin() const { return E() - M() + m_ekin_off; };
27 double Ekin_off() const { return m_ekin_off; };
28 const TLorentzVector &vertex() const { return m_vertex; };
29
30 void Print(Option_t *option = "") const;
31
32private:
34 TLorentzVector m_vertex;
35 double m_ekin_off = 0;
36
37 ClassDef(TFCSTruthState, 3) // TFCSTruthState
38};
39
40#endif
#define y
#define x
#define z
Cut down AthMessaging.
Definition MLogging.h:176
void set_vertex(Double_t x, Double_t y, Double_t z, Double_t t=0)
void Print(Option_t *option="") const
int pdgid() const
void set_pdgid(int val)
double Ekin() const
void set_vertex(const TLorentzVector &val)
const TLorentzVector & vertex() const
double Ekin_off() const
TLorentzVector m_vertex
void set_Ekin_off(double val)