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 31 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 55 of file PndSdsDigi.h.

55 {};

Member Function Documentation

◆ AddCharge()

void PndSdsDigi::AddCharge ( double  charge)
inline

Definition at line 78 of file PndSdsDigi.h.

References fCharge.

78 { fCharge += charge; }
Double_t fCharge
Definition: PndSdsDigi.h:122

◆ AddIndex() [1/2]

virtual void PndSdsDigi::AddIndex ( int  index)
inlinevirtual

Definition at line 66 of file PndSdsDigi.h.

References fDetID, and fIndex.

67  {
68  fIndex.push_back(index);
69  AddLink(FairLink(fDetID, index));
70  }
Int_t fDetID
Definition: PndSdsDigi.h:119
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:118

◆ AddIndex() [2/2]

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

Definition at line 72 of file PndSdsDigi.h.

References fDetID, and fIndex.

73  {
74  fIndex = index;
75  AddLinks(FairMultiLinkedData(fDetID, index));
76  }
Int_t fDetID
Definition: PndSdsDigi.h:119
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:118

◆ ClassDef()

PndSdsDigi::ClassDef ( PndSdsDigi  ,
 
)
protected

◆ GetCharge()

Double_t PndSdsDigi::GetCharge ( ) const
inline

Definition at line 60 of file PndSdsDigi.h.

References fCharge.

Referenced by PndSdsDigiStrip::Print().

60 { return fCharge; }
Double_t fCharge
Definition: PndSdsDigi.h:122

◆ 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 63 of file PndSdsDigi.h.

References fIndex, and i.

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

◆ GetIndices()

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

Definition at line 62 of file PndSdsDigi.h.

References fIndex.

Referenced by PndSdsDigiStrip::Print().

62 { return fIndex; }
std::vector< Int_t > fIndex
Definition: PndSdsDigi.h:118

◆ GetNIndices()

Int_t PndSdsDigi::GetNIndices ( ) const
inline

Definition at line 64 of file PndSdsDigi.h.

References fIndex.

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

◆ GetSensorID()

Int_t PndSdsDigi::GetSensorID ( ) const
inline

◆ operator<()

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

Definition at line 80 of file PndSdsDigi.h.

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

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

◆ Print()

virtual void PndSdsDigi::Print ( )
inlinevirtual

Reimplemented in PndSdsDigiTopix4, PndLmdDigiQ, and PndSdsDigiPixel.

Definition at line 97 of file PndSdsDigi.h.

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

◆ serialize()

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

Definition at line 101 of file PndSdsDigi.h.

References fCharge, fDetID, fFE, and fSensorID.

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

◆ SetCharge()

void PndSdsDigi::SetCharge ( double  charge)
inline

Definition at line 77 of file PndSdsDigi.h.

References fCharge.

77 { fCharge = charge; }
Double_t fCharge
Definition: PndSdsDigi.h:122

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 115 of file PndSdsDigi.h.

◆ operator<<

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

Definition at line 32 of file PndSdsDigi.h.

33  {
34  out << "PndSds Digi in sensor: " << digi.GetSensorID() << " FE: " << digi.GetFE() << " "
35  << " charge: " << digi.GetCharge() << " e"
36  << " timestamp: " << digi.GetTimeStamp() << ", from Point(s): ";
37  std::vector<Int_t> indices = digi.GetIndices();
38  for (unsigned int i = 0; i < indices.size(); i++) {
39  std::cout << digi.GetIndex(i) << " " << std::endl;
40  }
41  return out;
42  }
std::vector< Int_t > GetIndices() const
Definition: PndSdsDigi.h:62
Double_t GetCharge() const
Definition: PndSdsDigi.h:60
Int_t GetIndex(int i=0) const
Definition: PndSdsDigi.h:63
unsigned int i
Definition: P4_F32vec4.h:21
Int_t GetSensorID() const
Definition: PndSdsDigi.h:59
Int_t GetFE() const
Definition: PndSdsDigi.h:57

Member Data Documentation

◆ fCharge

Double_t PndSdsDigi::fCharge
protected

Definition at line 122 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 118 of file PndSdsDigi.h.

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

◆ fSensorID


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