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

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 TDetectorHitGetHit (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>

+ Inheritance diagram for TSuppressed:
+ Collaboration diagram for TSuppressed:

Constructor & Destructor Documentation

◆ TSuppressed()

TSuppressed::TSuppressed ( )
inline

Definition at line 23 of file TSuppressed.h.

◆ ~TSuppressed()

TSuppressed::~TSuppressed ( )
inline

Definition at line 24 of file TSuppressed.h.

Member Function Documentation

◆ AddbackCriterion()

virtual bool TSuppressed::AddbackCriterion ( const TDetectorHit ,
const TDetectorHit  
)
inlinevirtual

Reimplemented in TGriffin, TFipps, and TIfin.

Definition at line 26 of file TSuppressed.h.

Referenced by CreateAddback(), and CreateSuppressedAddback().

◆ AddFragment()

virtual void TDetector::AddFragment ( const std::shared_ptr< const TFragment > &  ,
TChannel  
)
inlinevirtualinherited

◆ BuildHits()

virtual void TDetector::BuildHits ( )
inlinevirtualinherited

◆ Clear()

void TSuppressed::Clear ( Option_t *  opt = "all")
override

◆ 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().

◆ Copy()

void TSuppressed::Copy ( TObject &  ) const
overridevirtual

◆ CreateAddback()

template<class T >
void TSuppressed::CreateAddback ( const std::vector< T *> &  hits,
std::vector< T *> &  addbacks,
std::vector< UShort_t > &  nofFragments 
)
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().

◆ CreateSuppressed()

template<class T >
void TSuppressed::CreateSuppressed ( const TBgo bgo,
const std::vector< T *> &  hits,
std::vector< T *> &  suppressedHits 
)
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().

◆ CreateSuppressedAddback()

template<class T >
void TSuppressed::CreateSuppressedAddback ( const TBgo bgo,
const std::vector< T *> &  hits,
std::vector< T *> &  addbacks,
std::vector< UShort_t > &  nofFragments 
)
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().

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ Print() [1/2]

void TDetector::Print ( Option_t *  opt = "") const
overrideinherited

!

Default print statement for TDetector.

Definition at line 47 of file TDetector.cxx.

◆ Print() [2/2]

void TDetector::Print ( std::ostream &  out) const
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.

◆ SuppressionCriterion()

virtual bool TSuppressed::SuppressionCriterion ( const TDetectorHit ,
const TDetectorHit  
)
inlinevirtual

Reimplemented in TGriffin, TFipps, TIfin, TLaBr, and TFippsLaBr.

Definition at line 27 of file TSuppressed.h.

Referenced by CreateSuppressed(), and CreateSuppressedAddback().

Member Data Documentation

◆ fHits

std::vector<TDetectorHit*> TDetector::fHits
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().