This is an abstract class that adds basic functionality for Compton suppressed detectors like GRIFFIN.
Definition at line 21 of file TSuppressed.h.
Public Member Functions | |
TSuppressed () | |
~TSuppressed () | |
virtual bool | AddbackCriterion (const TDetectorHit *, const TDetectorHit *) |
virtual void | AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) |
virtual void | BuildHits () |
void | Clear (Option_t *opt="all") override |
virtual void | ClearTransients () |
void | Copy (TObject &) const override |
virtual TDetectorHit * | GetHit (const int &) const |
virtual const std::vector< TDetectorHit * > & | GetHitVector () const |
virtual Short_t | GetMultiplicity () const |
void | Print (Option_t *opt="") const override |
virtual void | Print (std::ostream &out) const |
virtual bool | SuppressionCriterion (const TDetectorHit *, const TDetectorHit *) |
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 |
#include <TSuppressed.h>
|
inline |
Definition at line 23 of file TSuppressed.h.
|
inline |
Definition at line 24 of file TSuppressed.h.
|
inlinevirtual |
Reimplemented in TGriffin, TFipps, and TIfin.
Definition at line 26 of file TSuppressed.h.
Referenced by CreateAddback(), and CreateSuppressedAddback().
|
inlinevirtualinherited |
!
Reimplemented in TTigress, TLaBr, TFippsLaBr, TRF, TSharc, TTrific, TGriffin, TFipps, TIfin, TTdrClover, TTdrTigress, TCSM, TS3, TDescant, TZeroDegree, TTriFoil, TTAC, TEagle, TFippsTAC, TEmma, TSceptar, TTdrPlastic, TTip, TSiLi, TBgo, TPaces, TTdrSiLi, TGenericDetector, TEaglePulser, and TFippsPulser.
Definition at line 50 of file TDetector.h.
|
inlinevirtualinherited |
!
Reimplemented in TTigress, TLaBr, TFippsLaBr, TRF, TSharc, TTrific, TGriffin, TCSM, TS3, TDescant, TZeroDegree, TTriFoil, TTAC, TEagle, TFippsTAC, TEmma, TSceptar, TTip, TSiLi, TBgo, TPaces, TGenericDetector, TEaglePulser, and TFippsPulser.
Definition at line 48 of file TDetector.h.
|
override |
!
Referenced by TFippsLaBr::Clear(), TLaBr::Clear(), TTdrClover::Clear(), TTdrTigress::Clear(), TFipps::Clear(), TIfin::Clear(), and TGriffin::Clear().
|
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.
Reimplemented in TTdrTigress, and TTdrClover.
Referenced by TFippsLaBr::Copy(), TLaBr::Copy(), TTdrClover::Copy(), TTdrTigress::Copy(), TFipps::Copy(), TIfin::Copy(), and TGriffin::Copy().
|
inlineprotected |
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 AddbackCriterion(), TDetectorHit::kIsEnergySet, and TDetectorHit::kIsTimeSet.
Referenced by TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TFipps::GetAddbackMultiplicity(), and TGriffin::GetAddbackMultiplicity().
|
inlineprotected |
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 SuppressionCriterion().
Referenced by TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TFipps::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), and TGriffin::GetSuppressedMultiplicity().
|
inlineprotected |
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 AddbackCriterion(), TDetector::GetHitVector(), TDetectorHit::kIsEnergySet, TDetectorHit::kIsTimeSet, and SuppressionCriterion().
Referenced by TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), TFipps::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(), TLaBr::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 CreateSuppressed(), CreateSuppressedAddback(), TFipps::FixCrossTalk(), TIfin::FixCrossTalk(), TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TFipps::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TFipps::GetSuppressedMultiplicity(), and TIfin::GetSuppressedMultiplicity().
|
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().
|
overrideinherited |
|
virtualinherited |
Print detector to stream out. Iterates over hits and prints them.
Reimplemented in TGriffin, TTigress, TIfin, TFipps, TTdrTigress, TTdrClover, TS3, TTrific, TLaBr, TFippsLaBr, TEmma, TRF, TDescant, TEagle, TSceptar, TTdrPlastic, TZeroDegree, TTip, TSharc, TPaces, TTAC, TFippsTAC, TBgo, TTriFoil, TTdrSiLi, TSiLi, TGenericDetector, TEaglePulser, and TFippsPulser.
Definition at line 53 of file TDetector.cxx.
References TDetector::fHits.
|
inlinevirtual |
Reimplemented in TGriffin, TFipps, TIfin, TLaBr, and TFippsLaBr.
Definition at line 27 of file TSuppressed.h.
Referenced by CreateSuppressed(), and CreateSuppressedAddback().
|
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(), 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(), TSiLi::GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TTrific::GetMultiplicity(), TSharc::GetSize(), TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::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(), TLaBr::Print(), TTrific::Print(), TTigress::Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().