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

#include <PndSdsChargeWeightingAlgorithms.h>

Inheritance diagram for PndSdsChargeWeightingAlgorithms:

Public Member Functions

 PndSdsChargeWeightingAlgorithms (TClonesArray *arr)
 
 PndSdsChargeWeightingAlgorithms (PndSdsChargeWeightingAlgorithms &other)
 
virtual ~PndSdsChargeWeightingAlgorithms ()
 
PndSdsChargeWeightingAlgorithmsoperator= (PndSdsChargeWeightingAlgorithms &other)
 
std::pair< Double_t, Double_tCenterOfGravity (const PndSdsCluster *Cluster)
 
std::pair< Double_t, Double_tHeadTail (const PndSdsCluster *Cluster)
 
std::pair< Double_t, Double_tEta (const PndSdsCluster *Cluster, const TH2F *PosVsEta)
 
std::pair< Double_t, Double_tEtaValue (const PndSdsCluster *Cluster, Double_t &stripno, Int_t &NmbOfStrips)
 
std::pair< Double_t, Double_tBinary (const PndSdsCluster *Cluster)
 
std::pair< Double_t, Double_tMedian (const PndSdsCluster *Cluster)
 
std::pair< Double_t, Double_tAutoSelect (const PndSdsCluster *Cluster)
 
void SetDigiArray (TClonesArray *darray)
 
void SetCalcStrip (PndSdsCalcStrip *calc)
 
void SetChargeConverter (PndSdsChargeConversion *ChargeConverter)
 
void SetVerbose (Int_t level=0)
 

Private Member Functions

Double_t DigiCharge (Int_t digiIndex)
 
Double_t DigiChargeError (Int_t digiIndex)
 
Int_t DigiStripno (Int_t digiIndex)
 
Double_t Erfmod (Double_t x, Double_t p0, Double_t p1, Double_t p2, Double_t p3)
 
 ClassDef (PndSdsChargeWeightingAlgorithms, 1)
 

Private Attributes

TClonesArray * fDigiArray
 
PndSdsCalcStripfCalcStrip
 
PndSdsChargeConversionfChargeConverter
 
Int_t fVerbose
 

Detailed Description

Definition at line 15 of file PndSdsChargeWeightingAlgorithms.h.

Member Function Documentation

PndSdsChargeWeightingAlgorithms::ClassDef ( PndSdsChargeWeightingAlgorithms  ,
 
)
private
Double_t PndSdsChargeWeightingAlgorithms::DigiCharge ( Int_t  digiIndex)
private

Definition at line 375 of file PndSdsChargeWeightingAlgorithms.cxx.

References digi, PndSdsChargeConversion::DigiValueToCharge(), Double_t, fChargeConverter, fDigiArray, and PndSdsDigi::GetCharge().

Referenced by Binary(), CenterOfGravity(), DigiChargeError(), Eta(), EtaValue(), and HeadTail().

376 {
377  PndSdsDigiStrip* digi = (PndSdsDigiStrip*)(fDigiArray->At(digiIndex));
379  //Info("DigiCharge","digi=%p chargedigi=%f charge=%f",digi,digi->GetCharge(), charge);
380  //digi->Print();
381  return charge;
382 }
TClonesArray * digi
Class for digitised strip hits.
Double_t GetCharge() const
Definition: PndSdsDigi.h:60
virtual Double_t DigiValueToCharge(Double_t digi)=0
Converts a given digitized charge into charge in electrons.
Double_t
Double_t PndSdsChargeWeightingAlgorithms::DigiChargeError ( Int_t  digiIndex)
private

Definition at line 384 of file PndSdsChargeWeightingAlgorithms.cxx.

References DigiCharge(), Double_t, fChargeConverter, and PndSdsChargeConversion::GetRelativeError().

Referenced by EtaValue().

385 {
386  Double_t cherr = DigiCharge(digiIndex);
387  cherr *= fChargeConverter->GetRelativeError(cherr);
388  return cherr;
389 }
virtual Double_t GetRelativeError(Double_t Charge)=0
Double_t
Int_t PndSdsChargeWeightingAlgorithms::DigiStripno ( Int_t  digiIndex)
private

Definition at line 392 of file PndSdsChargeWeightingAlgorithms.cxx.

References PndSdsCalcStrip::CalcFeChToStrip(), fCalcStrip, fDigiArray, PndSdsDigiStrip::GetChannel(), and PndSdsDigi::GetFE().

Referenced by Binary(), CenterOfGravity(), EtaValue(), and HeadTail().

393 {
394  Int_t strip;
395  SensorSide side;
396  PndSdsDigiStrip* myDigi = (PndSdsDigiStrip*)fDigiArray->At(digiIndex);
397  fCalcStrip->CalcFeChToStrip(myDigi->GetFE(), myDigi->GetChannel(), strip, side);
398  return strip;
399 }
Class for digitised strip hits.
Int_t GetFE() const
Definition: PndSdsDigi.h:57
SensorSide
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const
Int_t GetChannel() const
Double_t PndSdsChargeWeightingAlgorithms::Erfmod ( Double_t  x,
Double_t  p0,
Double_t  p1,
Double_t  p2,
Double_t  p3 
)
private

Definition at line 33 of file PndSdsChargeWeightingAlgorithms.cxx.

34 {
35  return ((TMath::Erf(p0*(x-p1)))*p2+p3);
36 }
TPad * p2
Definition: hist-t7.C:117
Double_t x
TPad * p1
Definition: hist-t7.C:116
void PndSdsChargeWeightingAlgorithms::SetCalcStrip ( PndSdsCalcStrip calc)
inline
void PndSdsChargeWeightingAlgorithms::SetChargeConverter ( PndSdsChargeConversion ChargeConverter)
inline

Definition at line 146 of file PndSdsChargeWeightingAlgorithms.h.

References fChargeConverter.

Referenced by PndSdsStripClusterTask::SetCurrentCalculators().

146 {fChargeConverter = ChargeConverter;};
void PndSdsChargeWeightingAlgorithms::SetDigiArray ( TClonesArray *  darray)
inline
void PndSdsChargeWeightingAlgorithms::SetVerbose ( Int_t  level = 0)
inline

Member Data Documentation

PndSdsCalcStrip* PndSdsChargeWeightingAlgorithms::fCalcStrip
private
PndSdsChargeConversion* PndSdsChargeWeightingAlgorithms::fChargeConverter
private
TClonesArray* PndSdsChargeWeightingAlgorithms::fDigiArray
private
Int_t PndSdsChargeWeightingAlgorithms::fVerbose
private

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