PandaRoot
PndSdsDigiTopix4.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // --------------------------------------------------------
14 // ---- PndSdsDigiTopix4 header file ---
15 // ---- Created 19.6.06 by T.Stockmanns ---
16 // --------------------------------------------------------
17 
25 #ifndef PndSdsDigiTopix4_H
26 #define PndSdsDigiTopix4_H
27 
28 #include "PndSdsDigiPixel.h"
29 #include "PndDetectorList.h"
30 
31 #include "TObject.h"
32 #include "TString.h"
33 #include <iostream>
34 #include <vector>
35 
37  friend std::ostream &operator<<(std::ostream &out, PndSdsDigiTopix4 &digi)
38  {
39  out << "PndSdsDigiTopix4 in Sensor: " << digi.GetSensorID() << " FE: " << digi.GetFE() << " Col/Row " << digi.GetPixelColumn() << "/" << digi.GetPixelRow() << " charge "
40  << digi.GetCharge() << " e"
41  << " timestamp " << digi.GetTimeStamp() << " leadingEdge " << digi.GetLeadingEdge() << " trailingEdge " << digi.GetTrailingEdge() << " frameCount " << digi.GetFrameCount()
42  << std::endl;
43 
44  // out << std::endl;
45 
46  return out;
47  }
48 
49  public:
51  PndSdsDigiTopix4(std::vector<Int_t> index, Int_t detID, Int_t sensorID, Int_t fe, Int_t col, Int_t row, UInt_t leadingEdge, UInt_t trailingEdge, UInt_t frameCount,
52  Double_t timeStamp, UInt_t hitcountcorrect, UInt_t hitCounterIndependent, Double_t timeStampIndependent);
53 
54  UInt_t GetLeadingEdge() const { return fLeadingEdge; }
55  UInt_t GetTrailingEdge() const { return fTrailingEdge; }
56  UInt_t GetFrameCount() const { return fFrameCount; }
57  Double_t GetTimeStampIndependent() const { return fTimeStampIndependent; }
58  UInt_t GetHitCountIndependent() const { return fHitCountIndependent; }
59  UInt_t GetHitCountCorrect() const { return fHitCountCorrect; }
60 
61  void SetLeadingEdge(UInt_t le) { fLeadingEdge = le; }
62  void SetTrailingEdge(UInt_t te) { fTrailingEdge = te; }
63  void SetFrameCount(UInt_t fc) { fFrameCount = fc; }
64  void SetHitCountIndependent(UInt_t hci) { fHitCountIndependent = hci; }
65  void SetTimeStampIndependent(Double_t tsi) { fTimeStampIndependent = tsi; }
66  void SetHitCountCorrect(UInt_t hcc) { fHitCountCorrect = hcc; }
67 
69 
70  void Print() { std::cout << *this; }
71 
73  {
74  if (this != &pix) {
75  this->PndSdsDigiPixel::operator=(pix);
76  }
83  return *this;
84  }
85 
86  template <class Archive>
87  void serialize(Archive &ar, const unsigned int version)
88  {
89  ar &boost::serialization::base_object<PndSdsDigiPixel>(*this);
90  ar &fLeadingEdge;
91  ar &fTrailingEdge;
92  ar &fFrameCount;
93  }
94 
95  private:
96 #ifndef __CINT__ // for BOOST serialization
98 
99 #endif // for BOOST serialization
100  UInt_t fLeadingEdge;
101  UInt_t fTrailingEdge;
102  UInt_t fFrameCount;
103  UInt_t fHitCountCorrect;
104  UInt_t fHitCountIndependent;
105  Double_t fTimeStampIndependent;
106 
107  ClassDef(PndSdsDigiTopix4, 3);
108 };
109 
110 #endif
Int_t GetPixelColumn() const
void SetTrailingEdge(UInt_t te)
PndSdsDigiPixel & operator=(const PndSdsDigiPixel &pix)
Data class to store the digi output of a pixel module.
Double_t GetTimeStampIndependent() const
Double_t GetCharge() const
Definition: PndSdsDigi.h:72
void SetLeadingEdge(UInt_t le)
void serialize(Archive &ar, const unsigned int version)
UInt_t GetHitCountIndependent() const
friend class boost::serialization::access
Int_t GetPixelRow() const
void SetFrameCount(UInt_t fc)
UInt_t GetHitCountCorrect() const
friend std::ostream & operator<<(std::ostream &out, PndSdsDigiTopix4 &digi)
UInt_t GetTrailingEdge() const
UInt_t GetLeadingEdge() const
void SetHitCountCorrect(UInt_t hcc)
void SetHitCountIndependent(UInt_t hci)
Data class to store the digi output of a pixel module.
Int_t GetSensorID() const
Definition: PndSdsDigi.h:71
UInt_t GetFrameCount() const
void SetTimeStampIndependent(Double_t tsi)
PndSdsDigiTopix4 & operator=(const PndSdsDigiTopix4 &pix)
Int_t GetFE() const
Definition: PndSdsDigi.h:69