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

The TFippsLaBr class defines the observables and algorithms used when analyzing LaBr data. It includes detector positions, etc.

Definition at line 28 of file TFippsLaBr.h.

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

 TFippsLaBr ()
 
 TFippsLaBr (const TFippsLaBr &rhs)
 
 ~TFippsLaBr () 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 TDetectorHitGetHit (const int &) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
TFippsLaBrHitGetLaBrHit (const int &i) const
 
virtual Short_t GetMultiplicity () const
 
TFippsLaBrHitGetSuppressedHit (const int &i)
 
Short_t GetSuppressedMultiplicity (const TBgo *fBgo)
 
std::function< bool(const TDetectorHit *, const TDetectorHit *)> GetSuppressionCriterion () const
 
bool IsSuppressed () const
 
TFippsLaBroperator= (const TFippsLaBr &)
 
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 <TFippsLaBr.h>

+ Inheritance diagram for TFippsLaBr:
+ Collaboration diagram for TFippsLaBr:

Member Enumeration Documentation

◆ ELaBrBits

enum TFippsLaBr::ELaBrBits
strong
Enumerator
kIsSuppressed 
kBit1 
kBit2 
kBit3 
kBit4 
kBit5 
kBit6 
kBit7 

Definition at line 30 of file TFippsLaBr.h.

Constructor & Destructor Documentation

◆ TFippsLaBr() [1/2]

TFippsLaBr::TFippsLaBr ( )

Definition at line 34 of file TFippsLaBr.cxx.

References Clear().

◆ ~TFippsLaBr()

TFippsLaBr::~TFippsLaBr ( )
override

Definition at line 43 of file TFippsLaBr.cxx.

References fSuppressedHits.

◆ TFippsLaBr() [2/2]

TFippsLaBr::TFippsLaBr ( const TFippsLaBr rhs)

Definition at line 49 of file TFippsLaBr.cxx.

References Copy().

Member Function Documentation

◆ AddbackCriterion()

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

Reimplemented in TGriffin, TFipps, and TIfin.

Definition at line 26 of file TSuppressed.h.

Referenced by TSuppressed::CreateAddback(), and TSuppressed::CreateSuppressedAddback().

◆ AddFragment()

void TFippsLaBr::AddFragment ( const std::shared_ptr< const TFragment > &  frag,
TChannel  
)
overridevirtual

!

Reimplemented from TDetector.

Definition at line 149 of file TFippsLaBr.cxx.

References TDetector::fHits.

◆ BuildHits()

void TFippsLaBr::BuildHits ( )
inlineoverridevirtual

!

Reimplemented from TDetector.

Definition at line 67 of file TFippsLaBr.h.

◆ Clear()

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

!

Definition at line 58 of file TFippsLaBr.cxx.

References TSuppressed::Clear(), fLaBrBits, and fSuppressedHits.

Referenced by TFippsLaBr().

◆ ClearStatus()

void TFippsLaBr::ClearStatus ( ) const
inlineprivate

!

Definition at line 83 of file TFippsLaBr.h.

References fLaBrBits.

◆ 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 TFippsLaBr::Copy ( TObject &  rhs) const
overridevirtual

!

Reimplemented from TDetector.

Definition at line 67 of file TFippsLaBr.cxx.

References TSuppressed::Copy(), fLaBrBits, and fSuppressedHits.

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

◆ CreateAddback()

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

◆ GetHit()

◆ GetHitVector()

◆ GetLaBrHit()

TFippsLaBrHit* TFippsLaBr::GetLaBrHit ( const int &  i) const
inline

Definition at line 46 of file TFippsLaBr.h.

References TDetector::GetHit().

◆ GetMultiplicity()

◆ GetPosition()

static TVector3 TFippsLaBr::GetPosition ( int  DetNbr)
inlinestatic

!

Definition at line 69 of file TFippsLaBr.h.

References gPosition.

Referenced by TFippsLaBrHit::GetPosition().

◆ GetSuppressedHit()

TFippsLaBrHit * TFippsLaBr::GetSuppressedHit ( const int &  i)

!

Definition at line 138 of file TFippsLaBr.cxx.

References fSuppressedHits.

◆ GetSuppressedMultiplicity()

Short_t TFippsLaBr::GetSuppressedMultiplicity ( const TBgo fBgo)

Automatically builds the suppressed hits using the fSuppressionCriterion and returns the number of suppressed hits

Definition at line 115 of file TFippsLaBr.cxx.

References TSuppressed::CreateSuppressed(), TDetector::fHits, fSuppressedHits, IsSuppressed(), and SetSuppressed().

◆ GetSuppressionCriterion()

std::function<bool(const TDetectorHit*, const TDetectorHit*)> TFippsLaBr::GetSuppressionCriterion ( ) const
inline

Definition at line 53 of file TFippsLaBr.h.

References fSuppressionCriterion.

◆ IsSuppressed()

bool TFippsLaBr::IsSuppressed ( ) const

Definition at line 98 of file TFippsLaBr.cxx.

References kIsSuppressed, and TestBitNumber().

Referenced by GetSuppressedMultiplicity().

◆ operator=()

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

!

Definition at line 79 of file TFippsLaBr.cxx.

References Copy().

◆ Print() [1/2]

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

!

Definition at line 85 of file TFippsLaBr.cxx.

◆ Print() [2/2]

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

Reimplemented from TDetector.

Definition at line 91 of file TFippsLaBr.cxx.

References TDetector::fHits.

◆ ResetSuppressed()

void TFippsLaBr::ResetSuppressed ( )

Definition at line 108 of file TFippsLaBr.cxx.

References fSuppressedHits, and SetSuppressed().

◆ SetBitNumber()

void TFippsLaBr::SetBitNumber ( const ELaBrBits  bit,
const bool  set 
) const
inlineprivate

Definition at line 84 of file TFippsLaBr.h.

References fLaBrBits, and TTransientBits< T >::SetBit().

Referenced by SetSuppressed().

◆ SetSuppressed()

void TFippsLaBr::SetSuppressed ( const bool  flag)

Definition at line 103 of file TFippsLaBr.cxx.

References kIsSuppressed, and SetBitNumber().

Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().

◆ SetSuppressionCriterion()

void TFippsLaBr::SetSuppressionCriterion ( std::function< bool(const TDetectorHit *, const TDetectorHit *)>  criterion)
inline

Definition at line 49 of file TFippsLaBr.h.

References fSuppressionCriterion.

◆ SuppressionCriterion()

bool TFippsLaBr::SuppressionCriterion ( const TDetectorHit hit,
const TDetectorHit bgoHit 
)
inlineoverridevirtual

Reimplemented from TSuppressed.

Definition at line 55 of file TFippsLaBr.h.

References fSuppressionCriterion.

◆ TestBitNumber()

Bool_t TFippsLaBr::TestBitNumber ( const ELaBrBits  bit) const
inlineprivate

Definition at line 85 of file TFippsLaBr.h.

References fLaBrBits, and TTransientBits< T >::TestBit().

Referenced by IsSuppressed().

Member Data Documentation

◆ fHits

std::vector<TDetectorHit*> TDetector::fHits
protectedinherited

Definition at line 72 of file TDetector.h.

Referenced by TSiLi::AddCluster(), TEaglePulser::AddFragment(), TGenericDetector::AddFragment(), TFippsPulser::AddFragment(), TPaces::AddFragment(), TTdrSiLi::AddFragment(), TBgo::AddFragment(), TSiLi::AddFragment(), TTip::AddFragment(), TSceptar::AddFragment(), TTdrPlastic::AddFragment(), TTAC::AddFragment(), TFippsTAC::AddFragment(), TEagle::AddFragment(), TZeroDegree::AddFragment(), TDescant::AddFragment(), TTdrClover::AddFragment(), TTdrTigress::AddFragment(), TFipps::AddFragment(), TIfin::AddFragment(), TTrific::AddFragment(), TLaBr::AddFragment(), 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(), GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TSiLi::Print(), TTdrSiLi::Print(), TTAC::Print(), TFippsTAC::Print(), TPaces::Print(), TTip::Print(), TZeroDegree::Print(), TSceptar::Print(), TTdrPlastic::Print(), TEagle::Print(), TDetector::Print(), TDescant::Print(), TEmma::Print(), TLaBr::Print(), Print(), TTrific::Print(), TTigress::Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().

◆ fLaBrBits

TTransientBits<UChar_t> TFippsLaBr::fLaBrBits
mutableprivate

Definition at line 81 of file TFippsLaBr.h.

Referenced by Clear(), ClearStatus(), Copy(), SetBitNumber(), and TestBitNumber().

◆ fSuppressedHits

std::vector<TDetectorHit*> TFippsLaBr::fSuppressedHits
private

◆ fSuppressionCriterion

std::function< bool(const TDetectorHit *, const TDetectorHit *)> TFippsLaBr::fSuppressionCriterion = DefaultLaBrSuppression
staticprivate

◆ gPosition

TVector3 TFippsLaBr::gPosition
staticprivate
Initial value:
= {
TVector3(0, 0, 1),
TVector3(14.3025, 4.6472, 22.8096),
TVector3(0, 15.0386, 22.8096),
TVector3(-14.3025, 4.6472, 22.8096),
TVector3(-8.8395, -12.1665, 22.8096),
TVector3(8.8395, -12.1665, 22.8096),
TVector3(19.7051, 6.4026, 6.2123),
TVector3(0, 20.7192, 6.2123),
TVector3(-19.7051, 6.4026, 6.2123),
}

! Position of each detectir

Definition at line 79 of file TFippsLaBr.h.

Referenced by GetPosition().