PandaRoot
PndSdsDigi Class Reference

Base class for Digi information. More...

#include <PndSdsDigi.h>

Inheritance diagram for PndSdsDigi:
PndSdsDigiPixel PndSdsDigiStrip PndLmdDigiQ PndSdsDigiPixelMCInfo PndSdsDigiTopix4

Public Member Functions

 PndSdsDigi ()
 
 PndSdsDigi (std::vector< Int_t > index, Int_t detID, Int_t sensorID, Int_t fe, Double_t charge, Double_t timestamp=-1)
 
 PndSdsDigi (Int_t index, Int_t detID, Int_t fSensorID, Int_t fe, Double_t charge, Double_t timestamp=-1)
 
virtual ~PndSdsDigi ()
 
Int_t GetFE () const
 
Int_t GetSensorID () const
 
Double_t GetCharge () const
 
Int_t GetDetID () const
 
std::vector< Int_t > GetIndices () const
 
Int_t GetIndex (int i=0) const
 
Int_t GetNIndices () const
 
virtual void AddIndex (int index)
 
virtual void AddIndex (std::vector< Int_t > index)
 
void SetCharge (double charge)
 
void AddCharge (double charge)
 
virtual bool operator< (const PndSdsDigi &myDigi) const
 
virtual void Print ()
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Member Functions

 ClassDef (PndSdsDigi, 4)
 

Protected Attributes

std::vector< Int_t > fIndex
 
Int_t fDetID
 
Int_t fSensorID
 
Int_t fFE
 
Double_t fCharge
 

Friends

class boost::serialization::access
 
std::ostream & operator<< (std::ostream &out, PndSdsDigi &digi)
 

Detailed Description

Base class for Digi information.

PndSdsDigi.h

Author
T.Stockmanns t.sto.nosp@m.ckma.nosp@m.nns@f.nosp@m.z-ju.nosp@m.elich.nosp@m..de

Definition at line 29 of file PndSdsDigi.h.

Constructor & Destructor Documentation

◆ PndSdsDigi() [1/3]

PndSdsDigi::PndSdsDigi ( )

◆ PndSdsDigi() [2/3]

PndSdsDigi::PndSdsDigi ( std::vector< Int_t >  index,
Int_t  detID,
Int_t  sensorID,
Int_t  fe,
Double_t  charge,
Double_t  timestamp = -1 
)

◆ PndSdsDigi() [3/3]

PndSdsDigi::PndSdsDigi ( Int_t  index,
Int_t  detID,
Int_t  fSensorID,
Int_t  fe,
Double_t  charge,
Double_t  timestamp = -1 
)

constructor

Parameters
indexposition of PndSdsMCPoint in TClonesArray
detIDdetector ID (from/for CbmPoint/Hit)
detNamegeoH->GetID(gGeoManager->GetPath()) information
fefront end ID
chargedeposited charge in electrons

◆ ~PndSdsDigi()

virtual PndSdsDigi::~PndSdsDigi ( )
inlinevirtual

Definition at line 53 of file PndSdsDigi.h.

53 {};

Member Function Documentation

◆ AddCharge()

void PndSdsDigi::AddCharge ( double  charge)
inline

Definition at line 76 of file PndSdsDigi.h.

References fCharge.

76 { fCharge += charge; }
Double_t fCharge
Definition: PndSdsDigi.h:120

◆ AddIndex() [1/2]

virtual void PndSdsDigi::AddIndex ( int  index)
inlinevirtual

Definition at line 64 of file PndSdsDigi.h.

References fDetID, and fIndex.

65  {
66  fIndex.push_back(index);
67  AddLink(FairLink(fDetID, index));
68  }
Int_t fDetID
Definition: PndSdsDigi.h:117
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:116

◆ AddIndex() [2/2]

virtual void PndSdsDigi::AddIndex ( std::vector< Int_t >  index)
inlinevirtual

Definition at line 70 of file PndSdsDigi.h.

References fDetID, and fIndex.

71  {
72  fIndex = index;
73  AddLinks(FairMultiLinkedData(fDetID, index));
74  }
Int_t fDetID
Definition: PndSdsDigi.h:117
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:116

◆ ClassDef()

PndSdsDigi::ClassDef ( PndSdsDigi  ,
 
)
protected

◆ GetCharge()

Double_t PndSdsDigi::GetCharge ( ) const
inline

Definition at line 58 of file PndSdsDigi.h.

References fCharge.

Referenced by PndSdsDigiStrip::Print().

58 { return fCharge; }
Double_t fCharge
Definition: PndSdsDigi.h:120

◆ GetDetID()

Int_t PndSdsDigi::GetDetID ( ) const
inline

◆ GetFE()

Int_t PndSdsDigi::GetFE ( ) const
inline

◆ GetIndex()

Int_t PndSdsDigi::GetIndex ( int  i = 0) const
inline

Definition at line 61 of file PndSdsDigi.h.

References fIndex, and i.

61 { return fIndex[i]; }
unsigned int i
Definition: P4_F32vec4.h:21
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:116

◆ GetIndices()

std::vector<Int_t> PndSdsDigi::GetIndices ( ) const
inline

Definition at line 60 of file PndSdsDigi.h.

References fIndex.

Referenced by PndSdsDigiStrip::Print().

60 { return fIndex; }
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:116

◆ GetNIndices()

Int_t PndSdsDigi::GetNIndices ( ) const
inline

Definition at line 62 of file PndSdsDigi.h.

References fIndex.

62 { return fIndex.size(); }
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:116

◆ GetSensorID()

Int_t PndSdsDigi::GetSensorID ( ) const
inline

◆ operator<()

virtual bool PndSdsDigi::operator< ( const PndSdsDigi myDigi) const
inlinevirtual

Definition at line 78 of file PndSdsDigi.h.

References fDetID, fFE, GetDetID(), GetFE(), and GetSensorID().

79  {
80  if (fDetID < myDigi.GetDetID())
81  return true;
82  else if (fDetID > myDigi.GetDetID())
83  return false;
84  if (fSensorID < myDigi.GetSensorID())
85  return true;
86  else if (fSensorID > myDigi.GetSensorID())
87  return false;
88  if (fFE < myDigi.GetFE())
89  return true;
90  else if (fFE > myDigi.GetFE())
91  return false;
92  return false;
93  }
Int_t fSensorID
Definition: PndSdsDigi.h:118
Int_t fDetID
Definition: PndSdsDigi.h:117
Int_t GetDetID() const
Definition: PndSdsDigi.h:59
Int_t fFE
Definition: PndSdsDigi.h:119
Int_t GetSensorID() const
Definition: PndSdsDigi.h:57
Int_t GetFE() const
Definition: PndSdsDigi.h:55

◆ Print()

virtual void PndSdsDigi::Print ( )
inlinevirtual

Reimplemented in PndSdsDigiTopix4, PndLmdDigiQ, and PndSdsDigiPixel.

Definition at line 95 of file PndSdsDigi.h.

95 { std::cout << *this; }

◆ serialize()

template<class Archive >
void PndSdsDigi::serialize ( Archive &  ar,
const unsigned int  version 
)
inline

Definition at line 99 of file PndSdsDigi.h.

References fCharge, fDetID, fFE, and fSensorID.

100  {
101  boost::serialization::void_cast_register<PndSdsDigi, FairTimeStamp>();
102 
103  ar &boost::serialization::base_object<FairTimeStamp>(*this);
104  ar &fDetID;
105  ar &fSensorID;
106  ar &fFE;
107  ar &fCharge;
108  }
Int_t fSensorID
Definition: PndSdsDigi.h:118
Int_t fDetID
Definition: PndSdsDigi.h:117
Int_t fFE
Definition: PndSdsDigi.h:119
Double_t fCharge
Definition: PndSdsDigi.h:120

◆ SetCharge()

void PndSdsDigi::SetCharge ( double  charge)
inline

Definition at line 75 of file PndSdsDigi.h.

References fCharge.

75 { fCharge = charge; }
Double_t fCharge
Definition: PndSdsDigi.h:120

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 113 of file PndSdsDigi.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
PndSdsDigi digi 
)
friend

Definition at line 30 of file PndSdsDigi.h.

31  {
32  out << "PndSds Digi in sensor: " << digi.GetSensorID() << " FE: " << digi.GetFE() << " "
33  << " charge: " << 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 << digi.GetIndex(i) << " " << std::endl;
38  }
39  return out;
40  }
std::vector< Int_t > GetIndices() const
Definition: PndSdsDigi.h:60
Double_t GetCharge() const
Definition: PndSdsDigi.h:58
Int_t GetIndex(int i=0) const
Definition: PndSdsDigi.h:61
unsigned int i
Definition: P4_F32vec4.h:21
Int_t GetSensorID() const
Definition: PndSdsDigi.h:57
Int_t GetFE() const
Definition: PndSdsDigi.h:55

Member Data Documentation

◆ fCharge

Double_t PndSdsDigi::fCharge
protected

Definition at line 120 of file PndSdsDigi.h.

Referenced by AddCharge(), GetCharge(), serialize(), and SetCharge().

◆ fDetID

Int_t PndSdsDigi::fDetID
protected

◆ fFE

◆ fIndex

std::vector<Int_t> PndSdsDigi::fIndex
protected

Definition at line 116 of file PndSdsDigi.h.

Referenced by AddIndex(), GetIndex(), GetIndices(), and GetNIndices().

◆ fSensorID


The documentation for this class was generated from the following file: