GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
The TLaBr class defines the observables and algorithms used when analyzing LaBr data. It includes detector positions, etc.
Public Types | |
enum class | ELaBrBits { kIsSuppressed = 1 << 0 , kBit1 = 1 << 1 , kBit2 = 1 << 2 , kBit3 = 1 << 3 , kBit4 = 1 << 4 , kBit5 = 1 << 5 , kBit6 = 1 << 6 , kBit7 = 1 << 7 } |
Public Member Functions | |
TLaBr () | |
TLaBr (const TLaBr &rhs) | |
TLaBr (TLaBr &&) noexcept=default | |
~TLaBr () override | |
virtual bool | AddbackCriterion (const TDetectorHit *, const TDetectorHit *) |
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 | Copy (TObject &rhs) const override |
virtual TDetectorHit * | GetHit (const int &index) 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 |
std::vector< TDetectorHit * > & | Hits () |
const std::vector< TDetectorHit * > & | Hits () const |
bool | IsSuppressed () const |
virtual bool | NoHits () const |
TLaBr & | operator= (const TLaBr &) |
TLaBr & | operator= (TLaBr &&) noexcept=default |
void | Print (Option_t *opt="") const override |
void | Print (std::ostream &out) const override |
void | ResetSuppressed () |
void | SetSuppressed (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) |
Private Member Functions | |
void | ClearStatus () const |
void | SetBitNumber (const ELaBrBits bit, const bool set) const |
Bool_t | TestBitNumber (const ELaBrBits bit) const |
Private Attributes | |
std::vector< TDetectorHit * > | fHits |
TTransientBits< UChar_t > | fLaBrBits |
std::vector< TDetectorHit * > | fSuppressedHits |
Static Private Attributes | |
static std::array< TVector3, 9 > | fPosition |
static std::function< bool(const TDetectorHit *, const TDetectorHit *)> | fSuppressionCriterion = DefaultLaBrSuppression |
|
strong |
|
defaultnoexcept |
|
override |
Definition at line 36 of file TLaBr.cxx.
References fSuppressedHits.
|
inlinevirtualinherited |
Reimplemented in TFipps, TGriffin, and TIfin.
Definition at line 30 of file TSuppressed.h.
Referenced by TSuppressed::CreateAddback(), and TSuppressed::CreateSuppressedAddback().
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 143 of file TLaBr.cxx.
References TDetector::AddHit().
|
inlinevirtualinherited |
Definition at line 63 of file TDetector.h.
References TDetector::fHits.
Referenced by TAries::AddFragment(), TBgo::AddFragment(), TDescant::AddFragment(), TGenericDetector::AddFragment(), AddFragment(), TPaces::AddFragment(), TSceptar::AddFragment(), TSiLi::AddFragment(), TTAC::AddFragment(), TTigress::AddFragment(), TTip::AddFragment(), TTrific::AddFragment(), TZeroDegree::AddFragment(), TEmma::BuildHits(), TSharc2::BuildHits(), and TSharc::BuildHits().
|
inlineoverridevirtual |
|
override |
!
Definition at line 50 of file TLaBr.cxx.
References TSuppressed::Clear(), fLaBrBits, and fSuppressedHits.
Referenced by TLaBr().
|
inlineprivate |
|
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().
|
override |
Definition at line 61 of file TLaBr.cxx.
References TSuppressed::Copy(), fLaBrBits, and fSuppressedHits.
Referenced by TLaBr(), and operator=().
|
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 38 of file TSuppressed.h.
References TSuppressed::AddbackCriterion(), TDetectorHit::kIsEnergySet, and TDetectorHit::kIsTimeSet.
Referenced by TFipps::GetAddbackMultiplicity(), TGriffin::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetAddbackMultiplicity(), and TTdrTigress::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 69 of file TSuppressed.h.
References TDetector::GetHitVector(), and TSuppressed::SuppressionCriterion().
Referenced by TFipps::GetSuppressedMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TGriffin::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), and TTdrTigress::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 94 of file TSuppressed.h.
References TSuppressed::AddbackCriterion(), TDetector::GetHitVector(), TDetectorHit::kIsEnergySet, TDetectorHit::kIsTimeSet, and TSuppressed::SuppressionCriterion().
Referenced by TFipps::GetSuppressedAddbackMultiplicity(), TGriffin::GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), and TTdrTigress::GetSuppressedAddbackMultiplicity().
|
virtualinherited |
Reimplemented in TGriffin.
Definition at line 61 of file TDetector.cxx.
References TDetector::fHits.
Referenced by TSiLi::AddCluster(), TTigress::GetAddbackMultiplicity(), TAries::GetAriesHit(), TBgo::GetBgoHit(), TCSM::GetCSMHit(), TDescant::GetDescantHit(), TEagle::GetEagleHit(), TEmma::GetEmmaHit(), TGenericDetector::GetGenericDetectorHit(), TLaBrBgo::GetLaBrBgoHit(), TFippsLaBr::GetLaBrHit(), GetLaBrHit(), TPaces::GetPacesHit(), TS3::GetS3Hit(), TSceptar::GetSceptarHit(), TSharc2::GetSharc2Hit(), TSharc::GetSharcHit(), TSiLi::GetSiLiHit(), TFippsTAC::GetTACHit(), TTAC::GetTACHit(), TTdrClover::GetTdrCloverHit(), TTdrPlastic::GetTdrPlasticHit(), TTdrSiLi::GetTdrSiLiHit(), TTdrTigress::GetTdrTigressHit(), TTigress::GetTigressHit(), TTip::GetTipHit(), TTrific::GetTrificHit(), TZeroDegree::GetZeroDegreeHit(), MakeAnalysisHistograms(), and TTigress::Print().
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 75 of file TDetector.h.
References TDetector::fHits.
Referenced by TSuppressed::CreateSuppressed(), TSuppressed::CreateSuppressedAddback(), TFipps::FixCrossTalk(), TIfin::FixCrossTalk(), TFipps::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TFipps::GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TFipps::GetSuppressedMultiplicity(), and TIfin::GetSuppressedMultiplicity().
|
inline |
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 73 of file TDetector.h.
References TDetector::fHits.
Referenced by TTigress::AddFragment(), ExampleEventHelper::Exec(), ExampleTreeHelper::Exec(), TimeWalkHelper::Exec(), AngularCorrelationSelector::FillHistograms(), ExampleEventSelector::FillHistograms(), ExampleTreeSelector::FillHistograms(), TimeWalkSelector::FillHistograms(), TSiLi::GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), TGriffin::GetLowGainMultiplicity(), TGriffin::GetMultiplicity(), TSharc::GetSize(), main(), MakeAnalysisHistograms(), TAries::Print(), TBgo::Print(), TDescant::Print(), TEmma::Print(), TFipps::Print(), TIfin::Print(), Print(), TPaces::Print(), TSceptar::Print(), TSiLi::Print(), TTAC::Print(), TTdrClover::Print(), TTdrTigress::Print(), TTigress::Print(), TTip::Print(), TTrific::Print(), and TZeroDegree::Print().
|
inlinestatic |
!
Definition at line 72 of file TLaBr.h.
References fPosition.
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 111 of file TLaBr.cxx.
References TSuppressed::CreateSuppressed(), fSuppressedHits, TDetector::Hits(), IsSuppressed(), TDetector::NoHits(), and SetSuppressed().
|
inline |
Definition at line 56 of file TLaBr.h.
References fSuppressionCriterion.
|
inlineinherited |
Definition at line 78 of file TDetector.h.
References TDetector::fHits.
Referenced by TCSM::BuildHits(), TSharc::BuildHits(), TTigress::BuildHits(), TGriffin::GetHitVector(), TGriffin::GetHitVector(), TSharc2::GetSize(), GetSuppressedMultiplicity(), TGriffin::Print(), and TSiLi::UseFitCharge().
|
inlineinherited |
Definition at line 79 of file TDetector.h.
References TDetector::fHits.
bool TLaBr::IsSuppressed | ( | ) | const |
Definition at line 92 of file TLaBr.cxx.
References kIsSuppressed, and TestBitNumber().
Referenced by GetSuppressedMultiplicity().
|
inlinevirtualinherited |
Definition at line 76 of file TDetector.h.
References TDetector::fHits.
Referenced by TTigress::BuildHits(), TTigress::GetAddbackMultiplicity(), and GetSuppressedMultiplicity().
|
override |
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 85 of file TLaBr.cxx.
References TDetector::GetMultiplicity().
void TLaBr::ResetSuppressed | ( | ) |
Definition at line 102 of file TLaBr.cxx.
References fSuppressedHits, and SetSuppressed().
|
inlineprivate |
Definition at line 85 of file TLaBr.h.
References fLaBrBits, and TTransientBits< T >::SetBit().
Referenced by SetSuppressed().
void TLaBr::SetSuppressed | ( | bool | flag | ) |
Definition at line 97 of file TLaBr.cxx.
References kIsSuppressed, and SetBitNumber().
Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().
|
inline |
Definition at line 52 of file TLaBr.h.
References fSuppressionCriterion.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 58 of file TLaBr.h.
References fSuppressionCriterion.
|
inlineprivate |
Definition at line 86 of file TLaBr.h.
References fLaBrBits, and TTransientBits< T >::TestBit().
Referenced by IsSuppressed().
|
privateinherited |
Definition at line 88 of file TDetector.h.
Referenced by TDetector::~TDetector(), TEagle::AddFragment(), TEaglePulser::AddFragment(), TFipps::AddFragment(), TFippsLaBr::AddFragment(), TFippsPulser::AddFragment(), TFippsTAC::AddFragment(), TIfin::AddFragment(), TTdrClover::AddFragment(), TTdrPlastic::AddFragment(), TTdrSiLi::AddFragment(), TTdrTigress::AddFragment(), TDetector::AddHit(), TDetector::Clear(), TDetector::ClearTransients(), TDetector::Copy(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TDetector::Hits(), TDetector::Hits(), TDetector::NoHits(), TDetector::Print(), TEagle::Print(), TEaglePulser::Print(), TFippsLaBr::Print(), TFippsTAC::Print(), TTdrPlastic::Print(), and TTdrSiLi::Print().
|
mutableprivate |
Definition at line 82 of file TLaBr.h.
Referenced by Clear(), ClearStatus(), Copy(), SetBitNumber(), and TestBitNumber().
|
staticprivate |
! Position of each detectir
Definition at line 17 of file TLaBr.h.
Referenced by GetPosition().
|
private |
Definition at line 78 of file TLaBr.h.
Referenced by ~TLaBr(), Clear(), Copy(), GetSuppressedHit(), GetSuppressedMultiplicity(), and ResetSuppressed().
|
staticprivate |
Definition at line 76 of file TLaBr.h.
Referenced by GetSuppressionCriterion(), SetSuppressionCriterion(), and SuppressionCriterion().