ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSimulatedLine.h
Go to the documentation of this file.
1 #ifndef AtSIMULATEDLINE_H
2 #define AtSIMULATEDLINE_H
3 
4 #include "AtSimulatedPoint.h"
5 
6 #include <Math/Vector3D.h>
7 #include <Math/Vector3Dfwd.h>
8 #include <Rtypes.h>
9 
10 #include <cstddef>
11 #include <utility> // for swap
12 
13 class TBuffer;
14 class TClass;
15 class TMemberInspector;
16 
18 
19 protected:
23 
24 public:
26  AtSimulatedLine(std::size_t mcPointID, Int_t clusterID, Int_t charge, const ROOT::Math::XYZVector &posIn,
27  ROOT::Math::XYZVector posOut, Double_t longitudalDiffusionSigma, Double_t transverseDiffusionSigma);
28  AtSimulatedLine(const AtSimulatedLine &other) = default;
30 
31  friend void swap(AtSimulatedLine &first, AtSimulatedLine &second) noexcept
32  {
33  using std::swap;
34 
35  swap(dynamic_cast<AtSimulatedPoint &>(first), dynamic_cast<AtSimulatedPoint &>(second));
36  swap(first.fSigmaLongDiffusion, second.fSigmaLongDiffusion);
37  swap(first.fSigmaTransDiffusion, second.fSigmaTransDiffusion);
38  swap(first.fPositionFinal, second.fPositionFinal);
39  }
40 
41  void SetFinalPosition(Double_t x, Double_t y, Double_t zTime);
42  void SetInitialPosition(Double_t x, Double_t y, Double_t zTime);
43  void SetTransverseDiffusion(Double_t sigma);
44  void SetLongitudinalDiffusion(Double_t sigma);
45 
49  Double_t GetTransverseDiffusion();
50  Double_t GetLongitudinalDiffusion();
51 
53 };
54 
55 #endif //#ifndef AtSIMULATEDLINE_H
AtSimulatedLine::fSigmaTransDiffusion
Double_t fSigmaTransDiffusion
Definition: AtSimulatedLine.h:21
swap
void swap(AtPad &a, AtPad &b) noexcept
Definition: AtPad.cxx:22
AtSimulatedLine::GetLongitudinalDiffusion
Double_t GetLongitudinalDiffusion()
Definition: AtSimulatedLine.cxx:57
AtSimulatedLine::GetPosition
ROOT::Math::XYZVector GetPosition() override
Definition: AtSimulatedLine.cxx:41
XYZVector
ROOT::Math::XYZVector XYZVector
Definition: AtFindVertex.h:20
AtSimulatedLine::SetFinalPosition
void SetFinalPosition(Double_t x, Double_t y, Double_t zTime)
Definition: AtSimulatedLine.cxx:22
AtSimulatedLine::SetLongitudinalDiffusion
void SetLongitudinalDiffusion(Double_t sigma)
Definition: AtSimulatedLine.cxx:31
AtSimulatedLine::GetTransverseDiffusion
Double_t GetTransverseDiffusion()
Definition: AtSimulatedLine.cxx:53
AtSimulatedLine
Definition: AtSimulatedLine.h:17
AtSimulatedPoint.h
AtSimulatedPoint
Definition: AtSimulatedPoint.h:16
AtSimulatedLine::GetFinalPosition
ROOT::Math::XYZVector GetFinalPosition()
Definition: AtSimulatedLine.cxx:45
AtSimulatedLine::fSigmaLongDiffusion
Double_t fSigmaLongDiffusion
Definition: AtSimulatedLine.h:20
y
const double * y
Definition: lmcurve.cxx:20
AtSimulatedLine::swap
friend void swap(AtSimulatedLine &first, AtSimulatedLine &second) noexcept
Definition: AtSimulatedLine.h:31
AtSimulatedLine::SetInitialPosition
void SetInitialPosition(Double_t x, Double_t y, Double_t zTime)
Definition: AtSimulatedLine.cxx:27
AtSimulatedLine::operator=
AtSimulatedLine & operator=(AtSimulatedLine other)
Definition: AtSimulatedLine.cxx:16
AtSimulatedLine::AtSimulatedLine
AtSimulatedLine(const AtSimulatedLine &other)=default
AtSimulatedLine::fPositionFinal
ROOT::Math::XYZVector fPositionFinal
Definition: AtSimulatedLine.h:22
AtSimulatedLine::SetTransverseDiffusion
void SetTransverseDiffusion(Double_t sigma)
Definition: AtSimulatedLine.cxx:36
AtSimulatedLine::GetInitialPosition
ROOT::Math::XYZVector GetInitialPosition()
Definition: AtSimulatedLine.cxx:49
AtSimulatedLine::ClassDefOverride
ClassDefOverride(AtSimulatedLine, 1)
AtSimulatedLine::AtSimulatedLine
AtSimulatedLine()
Definition: AtSimulatedLine.cxx:7