GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TSiLi Class Reference

Definition at line 15 of file TSiLi.h.

Public Types

enum  ESiLiBits {
  ESiLiBits::kAddbackSet = BIT(0), ESiLiBits::kSiLiBit1 = BIT(1), ESiLiBits::kSiLiBit2 = BIT(2), ESiLiBits::kSiLiBit3 = BIT(3),
  ESiLiBits::kSiLiBit4 = BIT(4), ESiLiBits::kSiLiBit5 = BIT(5), ESiLiBits::kSiLiBit6 = BIT(6), ESiLiBits::kSiLiBit7 = BIT(7)
}
 

Public Member Functions

 TSiLi ()
 
 TSiLi (const TSiLi &)
 
 ~TSiLi () override
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
void BuildHits () override
 
void Clear (Option_t *opt="") override
 
virtual void ClearTransients ()
 
void CoincidenceTime (double time)
 
void Copy (TObject &) const override
 
bool fAddbackCriterion (TSiLiHit *, TSiLiHit *)
 
bool fCoincidenceTime (TSiLiHit *, TSiLiHit *)
 
bool fRejectCriterion (TSiLiHit *, TSiLiHit *)
 
TSiLiHitGetAddbackHit (const Int_t &i=0)
 
Int_t GetAddbackMultiplicity ()
 
virtual TDetectorHitGetHit (const int &) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
virtual Short_t GetMultiplicity () const
 
TSiLiHitGetRejectHit (const Int_t &i=0)
 
Int_t GetRejectMultiplicity ()
 
TSiLiHitGetSiLiHit (const Int_t &i=0) const
 
TSiLioperator= (const TSiLi &)
 
void Print (Option_t *opt="") const override
 
void Print (std::ostream &out) const override
 
void RejectCrosstalk (bool reject=true)
 
void ResetAddback ()
 
void UseFitCharge ()
 

Static Public Member Functions

static Int_t GetPin (Int_t seg)
 
static TVector3 GetPosition (int ring, int sector, bool smear=false)
 
static Int_t GetPreamp (Int_t seg)
 
static Int_t GetRing (Int_t seg)
 
static Int_t GetSector (Int_t seg)
 
static double GetSegmentArea (Int_t seg)
 
static bool MagnetShadow (Int_t seg)
 
static std::vector< TGraph > UpstreamShapes ()
 

Static Public Attributes

static double BaseFreq =4
 
static int FitSiLiShape = 0
 
static bool fRejectPossibleCrosstalk = false
 
static double fSiLiCoincidenceTime = 200
 
static double sili_default_baseline = -4300
 
static double sili_default_decay = 4616.18
 
static double sili_default_rise = 20.90
 
static double sili_noise_fac = 4
 

Protected Attributes

std::vector< TDetectorHit * > fHits
 

Private Member Functions

void AddCluster (std::vector< unsigned > &, bool=false)
 

Private Attributes

std::vector< TSiLiHitfAddbackHits
 
std::vector< unsigned int > fRejectHits
 
TTransientBits< UChar_t > fSiLiBits
 

Static Private Attributes

static double fInnerDiameter = 16.
 
static double fOffsetPhi = -165. * TMath::Pi() / 180.
 
static double fOuterDiameter = 94.
 
static int fRingNumber = 10
 
static int fSectorNumber = 12
 
static double fTargetDistance = -117.8
 

#include <TSiLi.h>

+ Inheritance diagram for TSiLi:
+ Collaboration diagram for TSiLi:

Member Enumeration Documentation

◆ ESiLiBits

enum TSiLi::ESiLiBits
strong
Enumerator
kAddbackSet 
kSiLiBit1 
kSiLiBit2 
kSiLiBit3 
kSiLiBit4 
kSiLiBit5 
kSiLiBit6 
kSiLiBit7 

Definition at line 17 of file TSiLi.h.

Constructor & Destructor Documentation

◆ TSiLi() [1/2]

TSiLi::TSiLi ( )

Definition at line 27 of file TSiLi.cxx.

References Clear().

◆ TSiLi() [2/2]

TSiLi::TSiLi ( const TSiLi rhs)

Definition at line 41 of file TSiLi.cxx.

References Copy().

◆ ~TSiLi()

TSiLi::~TSiLi ( )
overridedefault

Member Function Documentation

◆ AddCluster()

void TSiLi::AddCluster ( std::vector< unsigned > &  cluster,
bool  ContainsReject = false 
)
private

◆ AddFragment()

void TSiLi::AddFragment ( const std::shared_ptr< const TFragment > &  frag,
TChannel chan 
)
overridevirtual

!

Reimplemented from TDetector.

Definition at line 72 of file TSiLi.cxx.

References TDetector::fHits.

◆ BuildHits()

void TSiLi::BuildHits ( )
inlineoverridevirtual

!

Reimplemented from TDetector.

Definition at line 36 of file TSiLi.h.

◆ Clear()

void TSiLi::Clear ( Option_t *  opt = "")
override

Definition at line 46 of file TSiLi.cxx.

References TTransientBits< T >::Clear(), TDetector::Clear(), fAddbackHits, and fSiLiBits.

Referenced by TSiLi().

◆ ClearTransients()

void TDetector::ClearTransients ( )
virtualinherited

!

Reimplemented in TS3, TTigress, TTrific, and TGriffin.

Definition at line 63 of file TDetector.cxx.

References TDetector::fHits.

Referenced by TGriffin::ClearTransients(), TTrific::ClearTransients(), and TTigress::ClearTransients().

◆ CoincidenceTime()

void TSiLi::CoincidenceTime ( double  time)
inline

Definition at line 65 of file TSiLi.h.

References fSiLiCoincidenceTime, and ResetAddback().

◆ Copy()

void TSiLi::Copy ( TObject &  rhs) const
overridevirtual

!

Reimplemented from TDetector.

Definition at line 34 of file TSiLi.cxx.

References TDetector::Copy(), fAddbackHits, and fSiLiBits.

Referenced by operator=(), and TSiLi().

◆ fAddbackCriterion()

bool TSiLi::fAddbackCriterion ( TSiLiHit one,
TSiLiHit two 
)

◆ fCoincidenceTime()

bool TSiLi::fCoincidenceTime ( TSiLiHit one,
TSiLiHit two 
)

◆ fRejectCriterion()

bool TSiLi::fRejectCriterion ( TSiLiHit one,
TSiLiHit two 
)

Definition at line 252 of file TSiLi.cxx.

References fCoincidenceTime(), TSiLiHit::GetPin(), and TSiLiHit::GetPreamp().

Referenced by GetAddbackMultiplicity().

◆ GetAddbackHit()

TSiLiHit * TSiLi::GetAddbackHit ( const Int_t &  i = 0)

Get the ith addback hit. This function calls GetAddbackMultiplicity to check the range of the index. This automatically calculates all addback hits if they haven't been calculated before.

Definition at line 115 of file TSiLi.cxx.

References fAddbackHits, and GetAddbackMultiplicity().

◆ GetAddbackMultiplicity()

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ GetPin()

static Int_t TSiLi::GetPin ( Int_t  seg)
inlinestatic

Definition at line 90 of file TSiLi.h.

References GetRing(), and GetSector().

Referenced by TSiLiHit::GetPin().

◆ GetPosition()

TVector3 TSiLi::GetPosition ( int  ring,
int  sector,
bool  smear = false 
)
static

Definition at line 83 of file TSiLi.cxx.

References fInnerDiameter, fOffsetPhi, fOuterDiameter, fRingNumber, fSectorNumber, and fTargetDistance.

Referenced by TSiLiHit::GetPosition().

◆ GetPreamp()

static Int_t TSiLi::GetPreamp ( Int_t  seg)
inlinestatic

Definition at line 89 of file TSiLi.h.

References GetRing(), and GetSector().

Referenced by TSiLiHit::GetPreamp().

◆ GetRejectHit()

TSiLiHit * TSiLi::GetRejectHit ( const Int_t &  i = 0)

Definition at line 127 of file TSiLi.cxx.

References fRejectHits, GetRejectMultiplicity(), and GetSiLiHit().

◆ GetRejectMultiplicity()

Int_t TSiLi::GetRejectMultiplicity ( )

Definition at line 137 of file TSiLi.cxx.

References fRejectHits, and GetAddbackMultiplicity().

Referenced by GetRejectHit().

◆ GetRing()

static Int_t TSiLi::GetRing ( Int_t  seg)
inlinestatic

Definition at line 87 of file TSiLi.h.

Referenced by GetPin(), GetPreamp(), TSiLiHit::GetRing(), and GetSegmentArea().

◆ GetSector()

static Int_t TSiLi::GetSector ( Int_t  seg)
inlinestatic

Definition at line 88 of file TSiLi.h.

Referenced by GetPin(), GetPreamp(), and TSiLiHit::GetSector().

◆ GetSegmentArea()

double TSiLi::GetSegmentArea ( Int_t  seg)
static

Definition at line 105 of file TSiLi.cxx.

References fInnerDiameter, fOuterDiameter, fRingNumber, fSectorNumber, and GetRing().

◆ GetSiLiHit()

TSiLiHit* TSiLi::GetSiLiHit ( const Int_t &  i = 0) const
inline

Definition at line 45 of file TSiLi.h.

References TDetector::GetHit().

Referenced by AddCluster(), GetAddbackMultiplicity(), and GetRejectHit().

◆ MagnetShadow()

static bool TSiLi::MagnetShadow ( Int_t  seg)
inlinestatic

Definition at line 99 of file TSiLi.h.

Referenced by TSiLiHit::MagnetShadow().

◆ operator=()

TSiLi & TSiLi::operator= ( const TSiLi rhs)

Definition at line 53 of file TSiLi.cxx.

References Copy().

◆ Print() [1/2]

void TSiLi::Print ( Option_t *  opt = "") const
override

Definition at line 59 of file TSiLi.cxx.

◆ Print() [2/2]

void TSiLi::Print ( std::ostream &  out) const
overridevirtual

!

Reimplemented from TDetector.

Definition at line 64 of file TSiLi.cxx.

References fAddbackHits, and TDetector::fHits.

◆ RejectCrosstalk()

void TSiLi::RejectCrosstalk ( bool  reject = true)
inline

Definition at line 71 of file TSiLi.h.

References fRejectPossibleCrosstalk, and ResetAddback().

◆ ResetAddback()

void TSiLi::ResetAddback ( )
inline

Definition at line 52 of file TSiLi.h.

References fAddbackHits, fSiLiBits, kAddbackSet, and TTransientBits< T >::SetBit().

Referenced by CoincidenceTime(), and RejectCrosstalk().

◆ UpstreamShapes()

std::vector< TGraph > TSiLi::UpstreamShapes ( )
static

Definition at line 357 of file TSiLi.cxx.

References fInnerDiameter, fOffsetPhi, fOuterDiameter, fRingNumber, and fSectorNumber.

◆ UseFitCharge()

void TSiLi::UseFitCharge ( )
inline

Definition at line 58 of file TSiLi.h.

References TDetector::fHits.

Member Data Documentation

◆ BaseFreq

double TSiLi::BaseFreq =4
static

!

Definition at line 113 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ fAddbackHits

std::vector<TSiLiHit> TSiLi::fAddbackHits
private

!

Definition at line 116 of file TSiLi.h.

Referenced by AddCluster(), Clear(), Copy(), GetAddbackHit(), GetAddbackMultiplicity(), Print(), and ResetAddback().

◆ fHits

std::vector<TDetectorHit*> TDetector::fHits
protectedinherited

Definition at line 72 of file TDetector.h.

Referenced by AddCluster(), TEaglePulser::AddFragment(), TGenericDetector::AddFragment(), TFippsPulser::AddFragment(), TPaces::AddFragment(), TTdrSiLi::AddFragment(), TBgo::AddFragment(), AddFragment(), TTip::AddFragment(), TSceptar::AddFragment(), TTdrPlastic::AddFragment(), TTAC::AddFragment(), TFippsTAC::AddFragment(), TEagle::AddFragment(), TZeroDegree::AddFragment(), TDescant::AddFragment(), TTdrClover::AddFragment(), TTdrTigress::AddFragment(), TFipps::AddFragment(), TIfin::AddFragment(), TTrific::AddFragment(), TLaBr::AddFragment(), TFippsLaBr::AddFragment(), TTigress::AddFragment(), TEmma::BuildHits(), TCSM::BuildHits(), TSharc::BuildHits(), TTigress::BuildHits(), TSharc::Clear(), TDetector::Clear(), TEmma::Clear(), TTrific::Clear(), TDetector::ClearTransients(), TDetector::Copy(), GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TTrific::GetMultiplicity(), TSharc::GetSize(), TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), Print(), TTdrSiLi::Print(), TTAC::Print(), TFippsTAC::Print(), TPaces::Print(), TTip::Print(), TZeroDegree::Print(), TSceptar::Print(), TTdrPlastic::Print(), TEagle::Print(), TDetector::Print(), TDescant::Print(), TEmma::Print(), TLaBr::Print(), TFippsLaBr::Print(), TTrific::Print(), TTigress::Print(), UseFitCharge(), and TDetector::~TDetector().

◆ fInnerDiameter

double TSiLi::fInnerDiameter = 16.
staticprivate

!

Definition at line 128 of file TSiLi.h.

Referenced by GetPosition(), GetSegmentArea(), and UpstreamShapes().

◆ FitSiLiShape

int TSiLi::FitSiLiShape = 0
static

!

Definition at line 112 of file TSiLi.h.

Referenced by TSiLiHit::SetWavefit().

◆ fOffsetPhi

double TSiLi::fOffsetPhi = -165. * TMath::Pi() / 180.
staticprivate

!

Definition at line 126 of file TSiLi.h.

Referenced by GetPosition(), and UpstreamShapes().

◆ fOuterDiameter

double TSiLi::fOuterDiameter = 94.
staticprivate

!

Definition at line 127 of file TSiLi.h.

Referenced by GetPosition(), GetSegmentArea(), and UpstreamShapes().

◆ fRejectHits

std::vector<unsigned int> TSiLi::fRejectHits
private

!

Definition at line 117 of file TSiLi.h.

Referenced by AddCluster(), GetAddbackMultiplicity(), GetRejectHit(), and GetRejectMultiplicity().

◆ fRejectPossibleCrosstalk

bool TSiLi::fRejectPossibleCrosstalk = false
static

!

Definition at line 133 of file TSiLi.h.

Referenced by AddCluster(), and RejectCrosstalk().

◆ fRingNumber

int TSiLi::fRingNumber = 10
staticprivate

for geometery

!

Definition at line 124 of file TSiLi.h.

Referenced by GetPosition(), GetSegmentArea(), and UpstreamShapes().

◆ fSectorNumber

int TSiLi::fSectorNumber = 12
staticprivate

!

Definition at line 125 of file TSiLi.h.

Referenced by GetPosition(), GetSegmentArea(), and UpstreamShapes().

◆ fSiLiBits

TTransientBits<UChar_t> TSiLi::fSiLiBits
private

Definition at line 119 of file TSiLi.h.

Referenced by Clear(), Copy(), GetAddbackMultiplicity(), and ResetAddback().

◆ fSiLiCoincidenceTime

double TSiLi::fSiLiCoincidenceTime = 200
static

!

Definition at line 132 of file TSiLi.h.

Referenced by CoincidenceTime(), and fCoincidenceTime().

◆ fTargetDistance

double TSiLi::fTargetDistance = -117.8
staticprivate

!

Definition at line 129 of file TSiLi.h.

Referenced by GetPosition().

◆ sili_default_baseline

double TSiLi::sili_default_baseline = -4300
static

Definition at line 85 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ sili_default_decay

double TSiLi::sili_default_decay = 4616.18
static

Definition at line 83 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ sili_default_rise

double TSiLi::sili_default_rise = 20.90
static

Definition at line 84 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ sili_noise_fac

double TSiLi::sili_noise_fac = 4
static

Definition at line 82 of file TSiLi.h.

Referenced by TSiLiHit::FitFrag().