GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TSiLi Class Reference

Detailed Description

Definition at line 15 of file TSiLi.h.

Public Types

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

Public Member Functions

 TSiLi ()
 
 TSiLi (const TSiLi &)
 
 TSiLi (TSiLi &&) noexcept=default
 
 ~TSiLi () override=default
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
virtual void AddHit (TDetectorHit *hit)
 
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 &index) 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
 
std::vector< TDetectorHit * > & Hits ()
 
const std::vector< TDetectorHit * > & Hits () const
 
virtual bool NoHits () const
 
TSiLioperator= (const TSiLi &)
 
TSiLioperator= (TSiLi &&) noexcept=default
 
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 fBaseFreq = 4
 
static int fFitSiLiShape = 0
 
static bool fRejectPossibleCrosstalk = false
 
static double fSiLiCoincidenceTime = 200
 
static double fSiLiDefaultBaseline = -4300
 
static double fSiLiDefaultDecay = 4616.18
 
static double fSiLiDefaultRise = 20.90
 
static double fSiLiNoiseFac = 4
 

Private Member Functions

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

Private Attributes

std::vector< TSiLiHitfAddbackHits
 
std::vector< TDetectorHit * > fHits
 
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
 
+ Inheritance diagram for TSiLi:
+ Collaboration diagram for TSiLi:

Member Enumeration Documentation

◆ ESiLiBits

enum class 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/3]

TSiLi::TSiLi ( )

Definition at line 23 of file TSiLi.cxx.

References Clear().

◆ TSiLi() [2/3]

TSiLi::TSiLi ( const TSiLi & rhs)

Definition at line 35 of file TSiLi.cxx.

References Copy().

◆ TSiLi() [3/3]

TSiLi::TSiLi ( TSiLi && )
defaultnoexcept

◆ ~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 66 of file TSiLi.cxx.

References TDetector::AddHit().

◆ AddHit()

◆ BuildHits()

void TSiLi::BuildHits ( )
inlineoverridevirtual

!

Reimplemented from TDetector.

Definition at line 38 of file TSiLi.h.

◆ Clear()

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

Definition at line 40 of file TSiLi.cxx.

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

Referenced by TSiLi().

◆ ClearTransients()

void TDetector::ClearTransients ( )
virtualinherited

!

Reimplemented in TGriffin, TS3, TTigress, and TTrific.

Definition at line 54 of file TDetector.cxx.

References TDetector::fHits.

Referenced by TGriffin::ClearTransients(), TTigress::ClearTransients(), and TTrific::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
override

Definition at line 28 of file TSiLi.cxx.

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

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

◆ 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 245 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 110 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 89 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 77 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 88 of file TSiLi.h.

References GetRing(), and GetSector().

Referenced by TSiLiHit::GetPreamp().

◆ GetRejectHit()

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

Definition at line 122 of file TSiLi.cxx.

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

◆ GetRejectMultiplicity()

Int_t TSiLi::GetRejectMultiplicity ( )

Definition at line 132 of file TSiLi.cxx.

References fRejectHits, and GetAddbackMultiplicity().

Referenced by GetRejectHit().

◆ GetRing()

static Int_t TSiLi::GetRing ( Int_t seg)
inlinestatic

Definition at line 86 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 87 of file TSiLi.h.

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

◆ GetSegmentArea()

double TSiLi::GetSegmentArea ( Int_t seg)
static

Definition at line 100 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().

◆ Hits() [1/2]

◆ Hits() [2/2]

const std::vector< TDetectorHit * > & TDetector::Hits ( ) const
inlineinherited

Definition at line 79 of file TDetector.h.

References TDetector::fHits.

◆ MagnetShadow()

static bool TSiLi::MagnetShadow ( Int_t seg)
inlinestatic

Definition at line 102 of file TSiLi.h.

Referenced by TSiLiHit::MagnetShadow().

◆ NoHits()

virtual bool TDetector::NoHits ( ) const
inlinevirtualinherited

◆ operator=() [1/2]

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

Definition at line 47 of file TSiLi.cxx.

References Copy().

◆ operator=() [2/2]

TSiLi & TSiLi::operator= ( TSiLi && )
defaultnoexcept

◆ Print() [1/2]

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

Definition at line 53 of file TSiLi.cxx.

References Print().

Referenced by Print().

◆ Print() [2/2]

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

!

Reimplemented from TDetector.

Definition at line 58 of file TSiLi.cxx.

References fAddbackHits, and TDetector::GetMultiplicity().

◆ 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 351 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::Hits(), and UseFitCharge().

Referenced by UseFitCharge().

Member Data Documentation

◆ fAddbackHits

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

!

Definition at line 119 of file TSiLi.h.

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

◆ fBaseFreq

double TSiLi::fBaseFreq = 4
static

!

Definition at line 116 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ fFitSiLiShape

int TSiLi::fFitSiLiShape = 0
static

!

Definition at line 115 of file TSiLi.h.

Referenced by TSiLiHit::SetWavefit().

◆ fHits

◆ fInnerDiameter

double TSiLi::fInnerDiameter = 16.
staticprivate

!

Definition at line 131 of file TSiLi.h.

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

◆ fOffsetPhi

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

!

Definition at line 129 of file TSiLi.h.

Referenced by GetPosition(), and UpstreamShapes().

◆ fOuterDiameter

double TSiLi::fOuterDiameter = 94.
staticprivate

!

Definition at line 130 of file TSiLi.h.

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

◆ fRejectHits

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

!

Definition at line 120 of file TSiLi.h.

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

◆ fRejectPossibleCrosstalk

bool TSiLi::fRejectPossibleCrosstalk = false
static

!

Definition at line 136 of file TSiLi.h.

Referenced by AddCluster(), and RejectCrosstalk().

◆ fRingNumber

int TSiLi::fRingNumber = 10
staticprivate

for geometery

!

Definition at line 127 of file TSiLi.h.

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

◆ fSectorNumber

int TSiLi::fSectorNumber = 12
staticprivate

!

Definition at line 128 of file TSiLi.h.

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

◆ fSiLiBits

TTransientBits<UChar_t> TSiLi::fSiLiBits
private

Definition at line 122 of file TSiLi.h.

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

◆ fSiLiCoincidenceTime

double TSiLi::fSiLiCoincidenceTime = 200
static

!

Definition at line 135 of file TSiLi.h.

Referenced by CoincidenceTime(), and fCoincidenceTime().

◆ fSiLiDefaultBaseline

double TSiLi::fSiLiDefaultBaseline = -4300
static

Definition at line 84 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ fSiLiDefaultDecay

double TSiLi::fSiLiDefaultDecay = 4616.18
static

Definition at line 82 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ fSiLiDefaultRise

double TSiLi::fSiLiDefaultRise = 20.90
static

Definition at line 83 of file TSiLi.h.

Referenced by TSiLiHit::FitPulseAnalyzer().

◆ fSiLiNoiseFac

double TSiLi::fSiLiNoiseFac = 4
static

Definition at line 81 of file TSiLi.h.

Referenced by TSiLiHit::FitFrag().

◆ fTargetDistance

double TSiLi::fTargetDistance = -117.8
staticprivate

!

Definition at line 132 of file TSiLi.h.

Referenced by GetPosition().