PandaRoot
PndSdsDigiPixelMCInfo.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  * PndSdsDigiPixelMCInfo.h
15  *
16  * Created on: Oct 25, 2010
17  * Author: esch
18  * brief class to save additional information for a digi
19  *
20  *
21  */
22 
23 #ifndef PNDSDSDIGIPIXELMCINFO_H_
24 #define PNDSDSDIGIPIXELMCINFO_H_
25 
26 #include "PndSdsDigiPixel.h"
27 
29 
30  friend std::ostream &operator<<(std::ostream &out, PndSdsDigiPixelMCInfo &digi)
31  {
32  out << "PndSdsDigiPixelMCInfo in: " << digi.GetSensorID() << " FE: " << digi.GetFE() << " Col/Row " << digi.GetPixelColumn() << "/" << digi.GetPixelRow() << " charge "
33  << digi.GetCharge() << " e"
34  << " timestamp " << digi.GetTimeStamp() << ", from Point(s) ";
35  std::vector<Int_t> indices = digi.GetIndices();
36  for (unsigned int i = 0; i < indices.size(); i++) {
37  std::cout << indices[i] << " ";
38  }
39 
40  out << " MCCharge: " << digi.GetMCCharge() << " AddNoise: " << digi.GetAddNoise() << " TimeWalk: " << digi.GetTimeWalk()
41  << " TimeWalkCorrection: " << digi.GetTimeWalkCorrection();
42  std::cout << std::endl;
43 
44  return out;
45  }
46 
47  public:
49  PndSdsDigiPixelMCInfo(std::vector<Int_t> index, Int_t detID, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t totcharge, Double_t timeStamp, Double_t chargewonoise,
50  Double_t addnoise, Double_t timewalk, Double_t timewalkcorrection, Double_t tof, Double_t digicharge);
51  virtual ~PndSdsDigiPixelMCInfo();
52 
53  void SetMCCharge(Double_t charge) { fMCCharge = charge; }
54  Double_t GetMCCharge() { return fMCCharge; }
55 
56  void SetAddNoise(Double_t charge) { fAddNoise = charge; }
57  Double_t GetAddNoise() { return fAddNoise; }
58 
59  void SetTimeWalk(Double_t timewalk) { fTimeWalk = timewalk; }
60  Double_t GetTimeWalk() { return fTimeWalk; }
61 
62  void SetTimeWalkCorrection(Double_t timewalkcorrection) { fTimeWalkCorrection = timewalkcorrection; }
63  Double_t GetTimeWalkCorrection() { return fTimeWalkCorrection; }
64 
65  void SetTof(Double_t tof) { fTof = tof; }
66  Double_t GetTof() { return fTof; }
67 
68  void SetDigiCharge(Double_t digicharge) { fDigiCharge = digicharge; }
69  Double_t GetDigiCharge() { return fDigiCharge; }
70 
71  private:
72  Double_t fMCCharge; // MC Charge in a Pixel w/o gaussian noise
73  Double_t fAddNoise; // gaussian noise for a pixel
74  Double_t fTimeWalk;
75  Double_t fTimeWalkCorrection;
76  Double_t fTof;
77  Double_t fDigiCharge; // MC Charge in a Pixel with gaussian noise
78 
79  ClassDef(PndSdsDigiPixelMCInfo, 2);
80 };
81 
82 #endif /* PNDSDSDIGIPIXELMCINFO_H_ */
Int_t GetPixelColumn() const
std::vector< Int_t > GetIndices() const
Definition: PndSdsDigi.h:74
friend std::ostream & operator<<(std::ostream &out, PndSdsDigiPixelMCInfo &digi)
Double_t GetCharge() const
Definition: PndSdsDigi.h:72
virtual ~PndSdsDigiPixelMCInfo()
void SetTof(Double_t tof)
unsigned int i
Definition: P4_F32vec4.h:33
void SetDigiCharge(Double_t digicharge)
void SetAddNoise(Double_t charge)
Int_t GetPixelRow() const
void SetTimeWalkCorrection(Double_t timewalkcorrection)
void SetTimeWalk(Double_t timewalk)
void SetMCCharge(Double_t charge)
Data class to store the digi output of a pixel module.
Int_t GetSensorID() const
Definition: PndSdsDigi.h:71
Int_t GetFE() const
Definition: PndSdsDigi.h:69