FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PndGemDigi Class Reference

#include <PndGemDigi.h>

Inheritance diagram for PndGemDigi:

Public Member Functions

 PndGemDigi ()
 
 PndGemDigi (Int_t iDetectorId, Double_t iChannel, Int_t index)
 
 PndGemDigi (Int_t iDetectorId, Double_t iChannel, Int_t index, Double_t signal, Double_t time)
 
virtual ~PndGemDigi ()
 
void SetCharge (Double_t iCharge)
 
void SetCor (Double_t iCor)
 
void AddCharge (Double_t iCharge)
 
Int_t GetDetectorId () const
 
Double_t GetChannelNr () const
 
Int_t GetSystemId () const
 
Int_t GetStationNr () const
 
Int_t GetSensorNr () const
 
Int_t GetSide () const
 
Double_t GetCharge () const
 
Double_t GetCor () const
 
std::vector< Int_t > GetIndices () const
 
Int_t GetNIndices ()
 
Int_t GetIndex (int i=0) const
 
void AddIndex (int index)
 
void AddIndex (std::vector< Int_t > index)
 
virtual bool equal (FairTimeStamp *data)
 
virtual bool operator< (const PndGemDigi &myDigi) const
 
virtual bool operator> (const PndGemDigi &myDigi) const
 
virtual bool operator== (const PndGemDigi &myDigi) const
 

Private Member Functions

 ClassDef (PndGemDigi, 2)
 

Private Attributes

Int_t fDetectorId
 
Double_t fChannelNr
 
Double_t fDigiCharge
 
Double_t fDigiCor
 

Friends

std::ostreamoperator<< (std::ostream &out, PndGemDigi &digi)
 

Detailed Description

PndGemDigi.h

Author
R.Karabowicz r.kar.nosp@m.abow.nosp@m.icz@g.nosp@m.si.d.nosp@m.e
Since
2010

Data class for digital GEM information Data level: RAW

The index of the (first) MCPoint having activated this channel is accessible via GetMcPointIndex().

Definition at line 32 of file PndGemDigi.h.

Constructor & Destructor Documentation

PndGemDigi::PndGemDigi ( )

Default constructor

Definition at line 15 of file PndGemDigi.cxx.

15  :
16  fDetectorId(0),
17  fChannelNr(0),
18  fDigiCharge(0.),
19  fDigiCor(0.0)
20  {}
Int_t fDetectorId
Definition: PndGemDigi.h:142
Double_t fDigiCor
Definition: PndGemDigi.h:146
Double_t fChannelNr
Definition: PndGemDigi.h:143
Double_t fDigiCharge
Definition: PndGemDigi.h:145
PndGemDigi::PndGemDigi ( Int_t  iDetectorId,
Double_t  iChannel,
Int_t  index 
)

Constructor from station number, sector number, front/back side and channel number

Parameters
iStationstation number (0-255)
iSectorsector number (0-32767)
iSide0=front side; 1=back side
iChannelchannel number

Definition at line 26 of file PndGemDigi.cxx.

References AddIndex().

26  :
27  fDetectorId(iDetectorId),
28  fChannelNr(iChannel),
29  fDigiCharge(0.),
30  fDigiCor(0.0)
31 {
32  AddIndex(index);
33 }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Double_t fDigiCor
Definition: PndGemDigi.h:146
Double_t fChannelNr
Definition: PndGemDigi.h:143
void AddIndex(int index)
Definition: PndGemDigi.h:105
Double_t fDigiCharge
Definition: PndGemDigi.h:145
PndGemDigi::PndGemDigi ( Int_t  iDetectorId,
Double_t  iChannel,
Int_t  index,
Double_t  signal,
Double_t  time 
)

Definition at line 37 of file PndGemDigi.cxx.

References AddIndex().

37  :
38  fDetectorId(iDetectorId),
39  fChannelNr(iChannel),
40  fDigiCharge(signal),
41  fDigiCor(0.0)
42 {
43  AddIndex(index);
44  SetTimeStamp(time);
45 }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Double_t fDigiCor
Definition: PndGemDigi.h:146
Double_t fChannelNr
Definition: PndGemDigi.h:143
void AddIndex(int index)
Definition: PndGemDigi.h:105
Double_t fDigiCharge
Definition: PndGemDigi.h:145
PndGemDigi::~PndGemDigi ( )
virtual

Destructor

Definition at line 49 of file PndGemDigi.cxx.

49 { }

Member Function Documentation

void PndGemDigi::AddCharge ( Double_t  iCharge)
inline

Definition at line 76 of file PndGemDigi.h.

References fDigiCharge.

Referenced by PndGemDigitize::ActivateChannel().

76 { fDigiCharge+= iCharge; }
Double_t fDigiCharge
Definition: PndGemDigi.h:145
void PndGemDigi::AddIndex ( int  index)
inline

Definition at line 105 of file PndGemDigi.h.

Referenced by PndGemDigitize::ActivateChannel(), and PndGemDigi().

105  {
106  AddLink(FairLink("GEMPoint", index));
107  }
void PndGemDigi::AddIndex ( std::vector< Int_t >  index)
inline

Definition at line 108 of file PndGemDigi.h.

108  {
109  SetLinks(FairMultiLinkedData("GEMPoint", index));
110  }
PndGemDigi::ClassDef ( PndGemDigi  ,
 
)
private
virtual bool PndGemDigi::equal ( FairTimeStamp *  data)
inlinevirtual

Definition at line 112 of file PndGemDigi.h.

References fDetectorId, and GetDetectorId().

112  {
113  PndGemDigi* myDigi = dynamic_cast <PndGemDigi*> (data);
114  if (myDigi != 0){
115  if (fDetectorId == myDigi->GetDetectorId() )
116  return kTRUE;
117  }
118  return false;
119  }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Int_t GetDetectorId() const
Definition: PndGemDigi.h:79
Double_t PndGemDigi::GetChannelNr ( ) const
inline
Double_t PndGemDigi::GetCharge ( ) const
inline
Double_t PndGemDigi::GetCor ( ) const
inline

Definition at line 92 of file PndGemDigi.h.

References fDigiCor.

92 { return fDigiCor; }
Double_t fDigiCor
Definition: PndGemDigi.h:146
Int_t PndGemDigi::GetDetectorId ( ) const
inline
Int_t PndGemDigi::GetIndex ( int  i = 0) const
inline

Definition at line 103 of file PndGemDigi.h.

References i.

Referenced by PndGemFindHits::FindHits(), PndGemFindHits::FindHits2(), and PndGemFindClustersTB::WriteClusters().

103 { return GetLink(i).GetIndex();}
Int_t i
Definition: run_full.C:25
std::vector<Int_t> PndGemDigi::GetIndices ( ) const
inline

Definition at line 94 of file PndGemDigi.h.

94  {
95  std::vector<Int_t> result;
96  std::set<FairLink> myLinks = GetLinks();
97  for (std::set<FairLink>::iterator it = myLinks.begin(); it != myLinks.end(); it++){
98  result.push_back(it->GetIndex());
99  }
100  return result;
101  }
Int_t PndGemDigi::GetNIndices ( )
inline

Definition at line 102 of file PndGemDigi.h.

Referenced by PndGemFindHits::FindHits(), PndGemFindHits::FindHits2(), and PndGemFindClustersTB::WriteClusters().

102 {return GetNLinks();}
Int_t PndGemDigi::GetSensorNr ( ) const
inline
Int_t PndGemDigi::GetSide ( ) const
inline
Int_t PndGemDigi::GetStationNr ( ) const
inline
Int_t PndGemDigi::GetSystemId ( ) const
inline

Definition at line 82 of file PndGemDigi.h.

References fDetectorId.

82  {
83  return ( ( fDetectorId & ( 31<<27) ) >> 27); }
Int_t fDetectorId
Definition: PndGemDigi.h:142
virtual bool PndGemDigi::operator< ( const PndGemDigi myDigi) const
inlinevirtual

Definition at line 121 of file PndGemDigi.h.

References fChannelNr, fDetectorId, GetChannelNr(), and GetDetectorId().

121  {
122  if (fDetectorId < myDigi.GetDetectorId()) return true; else if (fDetectorId > myDigi.GetDetectorId()) return false;
123  if (fChannelNr < myDigi.GetChannelNr ()) return true; else if (fChannelNr > myDigi.GetChannelNr ()) return false;
124  return false;
125  }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Int_t GetDetectorId() const
Definition: PndGemDigi.h:79
Double_t fChannelNr
Definition: PndGemDigi.h:143
Double_t GetChannelNr() const
Definition: PndGemDigi.h:80
virtual bool PndGemDigi::operator== ( const PndGemDigi myDigi) const
inlinevirtual

Definition at line 133 of file PndGemDigi.h.

References fChannelNr, fDetectorId, GetChannelNr(), and GetDetectorId().

133  {
134  if (fDetectorId == myDigi.GetDetectorId())
135  if (fChannelNr == myDigi.GetChannelNr ())
136  return true;
137  return false;
138  }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Int_t GetDetectorId() const
Definition: PndGemDigi.h:79
Double_t fChannelNr
Definition: PndGemDigi.h:143
Double_t GetChannelNr() const
Definition: PndGemDigi.h:80
virtual bool PndGemDigi::operator> ( const PndGemDigi myDigi) const
inlinevirtual

Definition at line 127 of file PndGemDigi.h.

References fChannelNr, fDetectorId, GetChannelNr(), and GetDetectorId().

127  {
128  if (fDetectorId > myDigi.GetDetectorId()) return true; else if (fDetectorId < myDigi.GetDetectorId()) return false;
129  if (fChannelNr > myDigi.GetChannelNr ()) return true; else if (fChannelNr < myDigi.GetChannelNr ()) return false;
130  return false;
131  }
Int_t fDetectorId
Definition: PndGemDigi.h:142
Int_t GetDetectorId() const
Definition: PndGemDigi.h:79
Double_t fChannelNr
Definition: PndGemDigi.h:143
Double_t GetChannelNr() const
Definition: PndGemDigi.h:80
void PndGemDigi::SetCharge ( Double_t  iCharge)
inline

Definition at line 73 of file PndGemDigi.h.

References fDigiCharge.

73 { fDigiCharge = iCharge; }
Double_t fDigiCharge
Definition: PndGemDigi.h:145
void PndGemDigi::SetCor ( Double_t  iCor)
inline

Definition at line 74 of file PndGemDigi.h.

References fDigiCor.

74 { fDigiCor = iCor; }
Double_t fDigiCor
Definition: PndGemDigi.h:146

Friends And Related Function Documentation

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

Definition at line 34 of file PndGemDigi.h.

34  {
35  out << "PndGemDigi in: " << digi.GetDetectorId()
36  << "( system = " << digi.GetSystemId()
37  << ", station = " << digi.GetStationNr()
38  << ", sensor = " << digi.GetSensorNr()
39  << ", side = " << digi.GetSide()
40  << "), channelNr = " << digi.GetChannelNr()
41  << ", charge = " << digi.GetCharge()
42  << ", cor = " << digi.GetCor()
43  << ", timestamp "<< digi.GetTimeStamp()
44  << ", from Point(s) ";
45  std::vector<Int_t>indices = digi.GetIndices();
46  for (unsigned int i = 0; i < indices.size(); i++){
47  out << indices[i] << " ";
48  }
49  out << std::endl;
50 
51  return out;
52  }
Int_t i
Definition: run_full.C:25
Int_t GetStationNr() const
Definition: PndGemDigi.h:84
Int_t GetDetectorId() const
Definition: PndGemDigi.h:79
Int_t GetSensorNr() const
Definition: PndGemDigi.h:86
Double_t GetChannelNr() const
Definition: PndGemDigi.h:80
TFile * out
Definition: reco_muo.C:20
std::vector< Int_t > GetIndices() const
Definition: PndGemDigi.h:94
Double_t GetCharge() const
Definition: PndGemDigi.h:91
Double_t GetCor() const
Definition: PndGemDigi.h:92
Int_t GetSide() const
Definition: PndGemDigi.h:88
Int_t GetSystemId() const
Definition: PndGemDigi.h:82

Member Data Documentation

Double_t PndGemDigi::fChannelNr
private

Definition at line 143 of file PndGemDigi.h.

Referenced by GetChannelNr(), operator<(), operator==(), and operator>().

Int_t PndGemDigi::fDetectorId
private
Double_t PndGemDigi::fDigiCharge
private

Definition at line 145 of file PndGemDigi.h.

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

Double_t PndGemDigi::fDigiCor
private

Definition at line 146 of file PndGemDigi.h.

Referenced by GetCor(), and SetCor().


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