The TLaBr class defines the observables and algorithms used when analyzing LaBr data. It includes detector positions, etc.
Public Types | |
enum | ELaBrBits { ELaBrBits::kIsSuppressed = 1<<0, ELaBrBits::kBit1 = 1<<1, ELaBrBits::kBit2 = 1<<2, ELaBrBits::kBit3 = 1<<3, ELaBrBits::kBit4 = 1<<4, ELaBrBits::kBit5 = 1<<5, ELaBrBits::kBit6 = 1<<6, ELaBrBits::kBit7 = 1<<7 } |
Public Member Functions | |
TLaBr () | |
TLaBr (const TLaBr &rhs) | |
~TLaBr () override | |
virtual bool | AddbackCriterion (const TDetectorHit *, const TDetectorHit *) |
void | AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override |
void | BuildHits () override |
void | Clear (Option_t *opt="") override |
virtual void | ClearTransients () |
void | Copy (TObject &rhs) const override |
virtual TDetectorHit * | GetHit (const int &) const |
virtual const std::vector< TDetectorHit * > & | GetHitVector () const |
TLaBrHit * | GetLaBrHit (const int &i) const |
virtual Short_t | GetMultiplicity () const |
TLaBrHit * | GetSuppressedHit (const int &i) |
Short_t | GetSuppressedMultiplicity (const TBgo *fBgo) |
std::function< bool(const TDetectorHit *, const TDetectorHit *)> | GetSuppressionCriterion () const |
bool | IsSuppressed () const |
TLaBr & | operator= (const TLaBr &) |
void | Print (Option_t *opt="") const override |
void | Print (std::ostream &out) const override |
void | ResetSuppressed () |
void | SetSuppressed (const bool flag) |
void | SetSuppressionCriterion (std::function< bool(const TDetectorHit *, const TDetectorHit *)> criterion) |
bool | SuppressionCriterion (const TDetectorHit *hit, const TDetectorHit *bgoHit) override |
Static Public Member Functions | |
static TVector3 | GetPosition (int DetNbr) |
Protected Member Functions | |
template<class T > | |
void | CreateAddback (const std::vector< T *> &hits, std::vector< T *> &addbacks, std::vector< UShort_t > &nofFragments) |
template<class T > | |
void | CreateSuppressed (const TBgo *bgo, const std::vector< T *> &hits, std::vector< T *> &suppressedHits) |
template<class T > | |
void | CreateSuppressedAddback (const TBgo *bgo, const std::vector< T *> &hits, std::vector< T *> &addbacks, std::vector< UShort_t > &nofFragments) |
Protected Attributes | |
std::vector< TDetectorHit * > | fHits |
Private Member Functions | |
void | ClearStatus () const |
void | SetBitNumber (const ELaBrBits bit, const bool set) const |
Bool_t | TestBitNumber (const ELaBrBits bit) const |
Private Attributes | |
TTransientBits< UChar_t > | fLaBrBits |
std::vector< TDetectorHit * > | fSuppressedHits |
Static Private Attributes | |
static std::function< bool(const TDetectorHit *, const TDetectorHit *)> | fSuppressionCriterion = DefaultLaBrSuppression |
static TVector3 | gPosition [9] |
#include <TLaBr.h>
|
strong |
|
override |
Definition at line 43 of file TLaBr.cxx.
References fSuppressedHits.
|
inlinevirtualinherited |
Reimplemented in TGriffin, TFipps, and TIfin.
Definition at line 26 of file TSuppressed.h.
Referenced by TSuppressed::CreateAddback(), and TSuppressed::CreateSuppressedAddback().
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 153 of file TLaBr.cxx.
References TDetector::fHits.
|
inlineoverridevirtual |
|
override |
!
Definition at line 60 of file TLaBr.cxx.
References TSuppressed::Clear(), fLaBrBits, and fSuppressedHits.
Referenced by TLaBr().
|
inlineprivate |
|
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().
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 71 of file TLaBr.cxx.
References TSuppressed::Copy(), fLaBrBits, and fSuppressedHits.
Referenced by operator=(), and TLaBr().
|
inlineprotectedinherited |
This funxtion always(!) re-creates the vectors of addback hits and number of fragments per addback hit based on the provided vector of hits
Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().
Definition at line 34 of file TSuppressed.h.
References TSuppressed::AddbackCriterion(), TDetectorHit::kIsEnergySet, and TDetectorHit::kIsTimeSet.
Referenced by TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TFipps::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), and TGriffin::GetAddbackMultiplicity().
|
inlineprotectedinherited |
This function always(!) re-creates the vector of suppressed hits based on the provided TBgo and vector of hits
Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().
Definition at line 65 of file TSuppressed.h.
References TDetector::GetHitVector(), and TSuppressed::SuppressionCriterion().
Referenced by TFippsLaBr::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), TFipps::GetSuppressedMultiplicity(), and TGriffin::GetSuppressedMultiplicity().
|
inlineprotectedinherited |
This funxtion always(!) re-creates the vectors of suppressed addback hits and number of fragments per suppressed addback hit based on the provided TBgo and vector of hits
Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().
Definition at line 90 of file TSuppressed.h.
References TSuppressed::AddbackCriterion(), TDetector::GetHitVector(), TDetectorHit::kIsEnergySet, TDetectorHit::kIsTimeSet, and TSuppressed::SuppressionCriterion().
Referenced by TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TFipps::GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), and TGriffin::GetSuppressedAddbackMultiplicity().
|
virtualinherited |
Definition at line 70 of file TDetector.cxx.
References TDetector::fHits.
Referenced by exAnalysis(), TBgo::GetBgoHit(), TCSM::GetCSMHit(), TDescant::GetDescantHit(), TEagle::GetEagleHit(), TEmma::GetEmmaHit(), TGenericDetector::GetGenericDetectorHit(), TLaBrBgo::GetLaBrBgoHit(), TFippsLaBr::GetLaBrHit(), GetLaBrHit(), TPaces::GetPacesHit(), TS3::GetS3Hit(), TSceptar::GetSceptarHit(), TSharc::GetSharcHit(), TSiLi::GetSiLiHit(), TTAC::GetTACHit(), TFippsTAC::GetTACHit(), TTdrClover::GetTdrCloverHit(), TTdrPlastic::GetTdrPlasticHit(), TTdrSiLi::GetTdrSiLiHit(), TTdrTigress::GetTdrTigressHit(), TTigress::GetTigressHit(), TTip::GetTipHit(), TTrific::GetTrificHit(), TZeroDegree::GetZeroDegreeHit(), and MakeAnalysisHistograms().
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 64 of file TDetector.h.
References TDetector::fHits.
Referenced by TSuppressed::CreateSuppressed(), TSuppressed::CreateSuppressedAddback(), TFipps::FixCrossTalk(), TIfin::FixCrossTalk(), TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TFipps::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TFipps::GetSuppressedMultiplicity(), and TIfin::GetSuppressedMultiplicity().
|
inline |
|
inlinevirtualinherited |
Reimplemented in TTrific, and TGriffin.
Definition at line 62 of file TDetector.h.
References TDetector::fHits.
Referenced by exAnalysis(), TimeWalkSelector::FillHistograms(), ExampleEventSelector::FillHistograms(), ExampleTreeSelector::FillHistograms(), AngularCorrelationSelector::FillHistograms(), main(), MakeAnalysisHistograms(), TBgo::Print(), TTdrClover::Print(), TTdrTigress::Print(), TFipps::Print(), TIfin::Print(), and TTigress::Print().
|
inlinestatic |
!
Definition at line 69 of file TLaBr.h.
References gPosition.
Referenced by TLaBrHit::GetPosition().
TLaBrHit * TLaBr::GetSuppressedHit | ( | const int & | i | ) |
Short_t TLaBr::GetSuppressedMultiplicity | ( | const TBgo * | fBgo | ) |
Automatically builds the suppressed hits using the fSuppressionCriterion and returns the number of suppressed hits
Definition at line 121 of file TLaBr.cxx.
References TSuppressed::CreateSuppressed(), TDetector::fHits, fSuppressedHits, IsSuppressed(), and SetSuppressed().
|
inline |
Definition at line 53 of file TLaBr.h.
References fSuppressionCriterion.
bool TLaBr::IsSuppressed | ( | ) | const |
Definition at line 102 of file TLaBr.cxx.
References kIsSuppressed, and TestBitNumber().
Referenced by GetSuppressedMultiplicity().
|
override |
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 95 of file TLaBr.cxx.
References TDetector::fHits.
void TLaBr::ResetSuppressed | ( | ) |
Definition at line 112 of file TLaBr.cxx.
References fSuppressedHits, and SetSuppressed().
|
inlineprivate |
Definition at line 84 of file TLaBr.h.
References fLaBrBits, and TTransientBits< T >::SetBit().
Referenced by SetSuppressed().
void TLaBr::SetSuppressed | ( | const bool | flag | ) |
Definition at line 107 of file TLaBr.cxx.
References kIsSuppressed, and SetBitNumber().
Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().
|
inline |
Definition at line 49 of file TLaBr.h.
References fSuppressionCriterion.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 55 of file TLaBr.h.
References fSuppressionCriterion.
|
inlineprivate |
Definition at line 85 of file TLaBr.h.
References fLaBrBits, and TTransientBits< T >::TestBit().
Referenced by IsSuppressed().
|
protectedinherited |
Definition at line 72 of file TDetector.h.
Referenced by TSiLi::AddCluster(), TEaglePulser::AddFragment(), TFippsPulser::AddFragment(), TGenericDetector::AddFragment(), TPaces::AddFragment(), TTdrSiLi::AddFragment(), TBgo::AddFragment(), TSiLi::AddFragment(), TTip::AddFragment(), TSceptar::AddFragment(), TTdrPlastic::AddFragment(), TTAC::AddFragment(), TFippsTAC::AddFragment(), TEagle::AddFragment(), TDescant::AddFragment(), TZeroDegree::AddFragment(), TTdrClover::AddFragment(), TTdrTigress::AddFragment(), TFipps::AddFragment(), TIfin::AddFragment(), TTrific::AddFragment(), 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(), TSiLi::GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TTrific::GetMultiplicity(), TSharc::GetSize(), TFippsLaBr::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TSiLi::Print(), TTdrSiLi::Print(), TTAC::Print(), TPaces::Print(), TFippsTAC::Print(), TTip::Print(), TZeroDegree::Print(), TTdrPlastic::Print(), TSceptar::Print(), TEagle::Print(), TDetector::Print(), TDescant::Print(), TEmma::Print(), TFippsLaBr::Print(), Print(), TTrific::Print(), TTigress::Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().
|
mutableprivate |
Definition at line 81 of file TLaBr.h.
Referenced by Clear(), ClearStatus(), Copy(), SetBitNumber(), and TestBitNumber().
|
private |
Definition at line 77 of file TLaBr.h.
Referenced by Clear(), Copy(), GetSuppressedHit(), GetSuppressedMultiplicity(), ResetSuppressed(), and ~TLaBr().
|
staticprivate |
Definition at line 75 of file TLaBr.h.
Referenced by GetSuppressionCriterion(), SetSuppressionCriterion(), and SuppressionCriterion().
|
staticprivate |
! Position of each detectir
Definition at line 79 of file TLaBr.h.
Referenced by GetPosition().