ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSimulatedLine.cxx
Go to the documentation of this file.
1 #include "AtSimulatedLine.h"
2 
3 #include <utility>
4 
6 
7 AtSimulatedLine::AtSimulatedLine() : AtSimulatedPoint(), fSigmaLongDiffusion(-1), fSigmaTransDiffusion(-1) {}
8 
9 AtSimulatedLine::AtSimulatedLine(std::size_t mcPointID, Int_t clusterID, Int_t charge, const XYZVector &posIn,
10  XYZVector posOut, Double_t longitudalDiffusionSigma, Double_t transverseDiffusionSigma)
11  : AtSimulatedPoint(mcPointID, clusterID, charge, posIn), fSigmaTransDiffusion(transverseDiffusionSigma),
12  fSigmaLongDiffusion(longitudalDiffusionSigma), fPositionFinal(std::move(posOut))
13 {
14 }
15 
17 {
18  swap(*this, other);
19  return *this;
20 }
21 
22 void AtSimulatedLine::SetFinalPosition(Double_t x, Double_t y, Double_t zTime)
23 {
24  fPositionFinal.SetCoordinates(x, y, zTime);
25 }
26 
27 void AtSimulatedLine::SetInitialPosition(Double_t x, Double_t y, Double_t zTime)
28 {
29  fPosition.SetCoordinates(x, y, zTime);
30 }
32 {
33  fSigmaLongDiffusion = sigma;
34 }
35 
37 {
38  fSigmaTransDiffusion = sigma;
39 }
40 
42 {
43  return (fPositionFinal + fPosition) / 2.0;
44 }
46 {
47  return fPositionFinal;
48 }
50 {
51  return fPosition;
52 }
54 {
55  return fSigmaTransDiffusion;
56 }
58 {
59  return fSigmaLongDiffusion;
60 }
AtSimulatedLine::fSigmaTransDiffusion
Double_t fSigmaTransDiffusion
Definition: AtSimulatedLine.h:21
AtSimulatedLine::GetLongitudinalDiffusion
Double_t GetLongitudinalDiffusion()
Definition: AtSimulatedLine.cxx:57
XYZVector
ROOT::Math::XYZVector XYZVector
Definition: AtSimulatedLine.cxx:5
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
AtSimulatedLine.h
AtSimulatedPoint::fPosition
ROOT::Math::XYZVector fPosition
Definition: AtSimulatedPoint.h:25
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::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::AtSimulatedLine
AtSimulatedLine()
Definition: AtSimulatedLine.cxx:7