FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PixelTrack.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 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 /*
9  * PixelTrack.h
10  *
11  * Created on: 18.02.2016
12  * Author: R. Karabowicz
13  */
14 
15 #ifndef PIXELTRACK_H_
16 #define PIXELTRACK_H_
17 
18 #include "FairTimeStamp.h" // for FairTimeStamp
19 
20 #include <Rtypes.h> // for PixelTrack::Class, ClassDef, PixelTrack::...
21 
22 namespace boost {
23 namespace serialization {
24 class access;
25 }
26 } // namespace boost
27 #include <boost/serialization/base_object.hpp>
28 #include <vector>
29 
30 class PixelTrack : public FairTimeStamp
31 {
32  public:
34  PixelTrack();
35 
37  PixelTrack(Double_t x0,
38  Double_t ax,
39  Double_t y0,
40  Double_t ay,
41  Double_t x0e,
42  Double_t axe,
43  Double_t y0e,
44  Double_t aye);
45 
46  void SetX0(Double_t x0) { fX0 = x0; };
47  void SetAX(Double_t ax) { fAX = ax; };
48  void SetY0(Double_t y0) { fY0 = y0; };
49  void SetAY(Double_t ay) { fAY = ay; };
50  void SetX0Err(Double_t x0e) { fX0Err = x0e; };
51  void SetAXErr(Double_t axe) { fAXErr = axe; };
52  void SetY0Err(Double_t y0e) { fY0Err = y0e; };
53  void SetAYERr(Double_t aye) { fAYErr = aye; };
54 
55  Double_t GetX0() { return fX0; };
56  Double_t GetAX() { return fAX; };
57  Double_t GetY0() { return fY0; };
58  Double_t GetAY() { return fAY; };
59  Double_t GetX0Err() { return fX0Err; };
60  Double_t GetAXErr() { return fAXErr; };
61  Double_t GetY0Err() { return fY0Err; };
62  Double_t GetAYErr() { return fAYErr; };
63 
64  void AddHitIndex(Int_t hitIndex) { fHitIndices.push_back(hitIndex); };
65  Int_t GetNofHits() { return fHitIndices.size(); };
66  Int_t GetHitIndex(Int_t ihit) { return fHitIndices.at(ihit); };
67 
69  virtual ~PixelTrack();
70 
71  template<class Archive>
72  void serialize(Archive& ar, const unsigned int /*version*/)
73  {
74  ar& boost::serialization::base_object<FairTimeStamp>(*this);
75  }
76 
77  private:
79 
80  Double_t fX0;
81  Double_t fAX;
82  Double_t fY0;
83  Double_t fAY;
84  Double_t fX0Err;
85  Double_t fAXErr;
86  Double_t fY0Err;
87  Double_t fAYErr;
88 
89  std::vector<Int_t> fHitIndices;
90 
91  ClassDef(PixelTrack, 1);
92 };
93 
94 #endif /* PIXELTRACK_H_ */
void SetAYERr(Double_t aye)
Definition: PixelTrack.h:53
void AddHitIndex(Int_t hitIndex)
Definition: PixelTrack.h:64
Double_t GetX0Err()
Definition: PixelTrack.h:59
void SetY0(Double_t y0)
Definition: PixelTrack.h:48
void SetX0(Double_t x0)
Definition: PixelTrack.h:46
virtual ~PixelTrack()
Definition: PixelTrack.cxx:52
friend class boost::serialization::access
Definition: PixelTrack.h:78
Int_t GetHitIndex(Int_t ihit)
Definition: PixelTrack.h:66
Int_t GetNofHits()
Definition: PixelTrack.h:65
void SetAXErr(Double_t axe)
Definition: PixelTrack.h:51
void SetAY(Double_t ay)
Definition: PixelTrack.h:49
void SetX0Err(Double_t x0e)
Definition: PixelTrack.h:50
void SetAX(Double_t ax)
Definition: PixelTrack.h:47
Double_t GetAX()
Definition: PixelTrack.h:56
void serialize(Archive &ar, const unsigned int)
Definition: PixelTrack.h:72
Double_t GetY0()
Definition: PixelTrack.h:57
Double_t GetAY()
Definition: PixelTrack.h:58
Double_t GetX0()
Definition: PixelTrack.h:55
Double_t GetAXErr()
Definition: PixelTrack.h:60
void SetY0Err(Double_t y0e)
Definition: PixelTrack.h:52
Double_t GetY0Err()
Definition: PixelTrack.h:61
Double_t GetAYErr()
Definition: PixelTrack.h:62