ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtMCPoint.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 #ifndef ATMCPOINT_H
9 #define ATMCPOINT_H 1
10 
11 #include <FairMCPoint.h>
12 
13 #include <Math/Point3D.h>
14 #include <Math/Point3Dfwd.h> // for XYZPoint
15 #include <Math/Vector3D.h>
16 #include <Math/Vector3Dfwd.h> // for XYZVector
17 #include <Rtypes.h>
18 #include <TString.h>
19 #include <TVector3.h>
20 
21 class TBuffer;
22 class TClass;
23 class TMemberInspector;
24 class AtSimpleSimulation;
25 
26 class AtMCPoint : public FairMCPoint {
27 
28 protected:
31 
32  Int_t fDetCopyID = 0;
33  TString fVolName;
34  Double_t fEnergyIni = 0;
35  Double_t fAngleIni = 0;
36  Int_t fAiso = 0;
37  Int_t fZiso = 0;
38 
39 public:
41  AtMCPoint();
42 
52  AtMCPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss);
53  AtMCPoint(Int_t trackID, Int_t detID, XYZPoint pos, XYZVector mom, Double_t tof, Double_t length, Double_t eLoss);
54 
55  AtMCPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss,
56  TString VolName, Int_t detCopyID, Double_t EIni, Double_t AIni, Int_t A, Int_t Z);
57 
59  virtual ~AtMCPoint() = default;
61  AtMCPoint(const AtMCPoint &point) = delete;
62  AtMCPoint operator=(const AtMCPoint &point) = delete;
63 
64  virtual void Clear(Option_t *) override;
65 
67  Int_t GetDetCopyID() const { return fDetCopyID; } // added by Marc
68  TString GetVolName() const { return fVolName; }
69  Double_t GetEIni() const { return fEnergyIni; }
70  Double_t GetAIni() const { return fAngleIni; }
71  Int_t GetMassNum() const { return fAiso; }
72  Int_t GetAtomicNum() const { return fZiso; }
73 
74  void SetDetCopyID(Int_t id) { fDetCopyID = id; }; // added by Marc
75  void SetVolName(TString VolName) { fVolName = VolName; }; // added by Ari
76  void SetPosition(const XYZPoint &pos) { SetXYZ(pos.X(), pos.Y(), pos.Z()); }
77  void SetMomentum(const XYZVector &mom)
78  {
79  TVector3 mom2(mom.X(), mom.Y(), mom.Z());
80  FairMCPoint::SetMomentum(mom2);
81  }
82 
84  virtual void Print(const Option_t *opt) const override;
85 
87  ClassDefOverride(AtMCPoint, 2)
88 };
89 
90 #endif
AtMCPoint::~AtMCPoint
virtual ~AtMCPoint()=default
AtMCPoint::GetDetCopyID
Int_t GetDetCopyID() const
Definition: AtMCPoint.h:67
AtMCPoint::AtMCPoint
AtMCPoint()
Definition: AtMCPoint.cxx:20
AtMCPoint::Print
virtual void Print(const Option_t *opt) const override
Definition: AtMCPoint.cxx:42
XYZVector
ROOT::Math::XYZVector XYZVector
Definition: AtFindVertex.h:20
AtMCPoint::fEnergyIni
Double_t fEnergyIni
Definition: AtMCPoint.h:34
AtMCPoint::fDetCopyID
Int_t fDetCopyID
Definition: AtMCPoint.h:32
AtMCPoint::XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtMCPoint.h:29
XYZPoint
ROOT::Math::XYZPoint XYZPoint
Definition: AtPatternCircle2D.h:18
AtMCPoint::SetPosition
void SetPosition(const XYZPoint &pos)
Definition: AtMCPoint.h:76
AtMCPoint::fAiso
Int_t fAiso
Definition: AtMCPoint.h:36
AtMCPoint::fZiso
Int_t fZiso
Definition: AtMCPoint.h:37
AtMCPoint::SetVolName
void SetVolName(TString VolName)
Definition: AtMCPoint.h:75
AtMCPoint::GetEIni
Double_t GetEIni() const
Definition: AtMCPoint.h:69
AtMCPoint::fVolName
TString fVolName
Definition: AtMCPoint.h:33
AtSimpleSimulation
Definition: AtSimpleSimulation.h:29
AtMCPoint::GetAIni
Double_t GetAIni() const
Definition: AtMCPoint.h:70
AtMCPoint::AtSimpleSimulation
friend AtSimpleSimulation
Definition: AtMCPoint.h:86
AtMCPoint::GetVolName
TString GetVolName() const
Definition: AtMCPoint.h:68
AtMCPoint::SetDetCopyID
void SetDetCopyID(Int_t id)
Definition: AtMCPoint.h:74
AtMCPoint
Definition: AtMCPoint.h:26
AtMCPoint::operator=
AtMCPoint operator=(const AtMCPoint &point)=delete
AtMCPoint::AtMCPoint
AtMCPoint(const AtMCPoint &point)=delete
AtMCPoint::Clear
virtual void Clear(Option_t *) override
Definition: AtMCPoint.cxx:51
AtMCPoint::fAngleIni
Double_t fAngleIni
Definition: AtMCPoint.h:35
AtMCPoint::GetAtomicNum
Int_t GetAtomicNum() const
Definition: AtMCPoint.h:72
AtMCPoint::SetMomentum
void SetMomentum(const XYZVector &mom)
Definition: AtMCPoint.h:77
AtMCPoint::XYZVector
ROOT::Math::XYZVector XYZVector
Definition: AtMCPoint.h:30
AtMCPoint::GetMassNum
Int_t GetMassNum() const
Definition: AtMCPoint.h:71