GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TTdrClover Class Reference

Detailed Description

Definition at line 26 of file TTdrClover.h.

Public Types

enum class  ETdrCloverBits {
  kIsAddbackSet = 1<<0 , kIsCrossTalkSet = 1<<1 , kIsSuppressedSet = 1<<2 , kIsSupprAddbSet = 1<<3 ,
  kBit4 = 1<<4 , kBit5 = 1<<5 , kBit6 = 1<<6 , kBit7 = 1<<7
}
 

Public Member Functions

 TTdrClover ()
 
 TTdrClover (const TTdrClover &)
 
 ~TTdrClover () override
 
virtual bool AddbackCriterion (const TDetectorHit *, const TDetectorHit *)
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
virtual void AddHit (TDetectorHit *hit)
 
virtual void BuildHits ()
 
void Clear (Option_t *opt="all") override
 
virtual void ClearTransients ()
 
void Copy (TObject &) const override
 
std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> GetAddbackCriterion () const
 
TDetectorHitGetAddbackHit (const int &i)
 
Int_t GetAddbackMultiplicity ()
 
virtual TDetectorHitGetHit (const int &index) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
virtual Short_t GetMultiplicity () const
 
UShort_t GetNAddbackFrags (const size_t &idx)
 
UShort_t GetNSuppressedAddbackFrags (const size_t &idx)
 
TDetectorHitGetSuppressedAddbackHit (const int &i)
 
Int_t GetSuppressedAddbackMultiplicity (TBgo *)
 
TDetectorHitGetSuppressedHit (const int &i)
 
Int_t GetSuppressedMultiplicity (TBgo *)
 
std::function< bool(TTdrCloverHit *, TBgoHit *)> GetSuppressionCriterion () const
 
TTdrCloverHitGetTdrCloverHit (const Int_t &i) const
 
std::vector< TDetectorHit * > & Hits ()
 
const std::vector< TDetectorHit * > & Hits () const
 
bool IsAddbackSet () const
 
bool IsSuppressedAddbackSet () const
 
bool IsSuppressedSet () const
 
virtual bool NoHits () const
 
TTdrCloveroperator= (const TTdrClover &)
 
void Print (Option_t *opt="") const override
 
void Print (std::ostream &out) const override
 
void ResetAddback ()
 
void ResetFlags () const
 
void ResetSuppressed ()
 
void ResetSuppressedAddback ()
 
void SetAddbackCriterion (std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> criterion)
 
void SetSuppressionCriterion (std::function< bool(TTdrCloverHit *, TBgoHit *)> criterion)
 
virtual bool SuppressionCriterion (const TDetectorHit *, const TDetectorHit *)
 

Static Public Member Functions

static const char * GetColorFromNumber (Int_t number)
 
static TVector3 GetPosition (int DetNbr, int CryNbr=5, double dist=110.0)
 
static bool SetCoreWave ()
 

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
 
std::vector< UShort_t > & GetAddbackFragVector ()
 
std::vector< TDetectorHit * > & GetAddbackVector ()
 
std::vector< UShort_t > & GetSuppressedAddbackFragVector ()
 
std::vector< TDetectorHit * > & GetSuppressedAddbackVector ()
 
std::vector< TDetectorHit * > & GetSuppressedVector ()
 
void SetAddback (bool flag=true) const
 
void SetBitNumber (ETdrCloverBits bit, Bool_t set) const
 
void SetSuppressed (bool flag=true) const
 
void SetSuppressedAddback (bool flag=true) const
 
Bool_t TestBitNumber (ETdrCloverBits bit) const
 

Private Attributes

std::vector< UShort_t > fAddbackFrags
 
std::vector< TDetectorHit * > fAddbackHits
 
long fCycleStart
 
std::vector< TDetectorHit * > fHits
 
std::vector< UShort_t > fSuppressedAddbackFrags
 
std::vector< TDetectorHit * > fSuppressedAddbackHits
 
std::vector< TDetectorHit * > fSuppressedHits
 
TTransientBits< UChar_t > fTdrCloverBits
 

Static Private Attributes

static std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> fAddbackCriterion = DefaultAddback
 
static std::map< int, TSpline * > fEnergyResiduals
 
static bool fSetCoreWave = false
 
static std::function< bool(TTdrCloverHit *, TBgoHit *)> fSuppressionCriterion = DefaultSuppression
 
static TVector3 gCloverPosition [17]
 
+ Inheritance diagram for TTdrClover:
+ Collaboration diagram for TTdrClover:

Member Enumeration Documentation

◆ ETdrCloverBits

enum class TTdrClover::ETdrCloverBits
strong
Enumerator
kIsAddbackSet 
kIsCrossTalkSet 
kIsSuppressedSet 
kIsSupprAddbSet 
kBit4 
kBit5 
kBit6 
kBit7 

Definition at line 28 of file TTdrClover.h.

Constructor & Destructor Documentation

◆ TTdrClover() [1/2]

TTdrClover::TTdrClover ( )

Definition at line 117 of file TTdrClover.cxx.

References Clear().

◆ TTdrClover() [2/2]

TTdrClover::TTdrClover ( const TTdrClover & rhs)

Definition at line 126 of file TTdrClover.cxx.

References Copy().

◆ ~TTdrClover()

TTdrClover::~TTdrClover ( )
override

Definition at line 150 of file TTdrClover.cxx.

Member Function Documentation

◆ AddbackCriterion()

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

Reimplemented in TFipps, TGriffin, and TIfin.

Definition at line 30 of file TSuppressed.h.

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

◆ AddFragment()

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

!

Reimplemented from TDetector.

Definition at line 365 of file TTdrClover.cxx.

References TDetector::fHits.

◆ AddHit()

◆ BuildHits()

virtual void TDetector::BuildHits ( )
inlinevirtualinherited

◆ Clear()

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

◆ ClearStatus()

void TTdrClover::ClearStatus ( ) const
inlineprivate

!

Definition at line 106 of file TTdrClover.h.

References fTdrCloverBits.

Referenced by Clear().

◆ ClearTransients()

void TDetector::ClearTransients ( )
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().

◆ Copy()

void TTdrClover::Copy ( TObject & rhs) const
override

◆ 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 38 of file TSuppressed.h.

References TSuppressed::AddbackCriterion(), TDetectorHit::kIsEnergySet, and TDetectorHit::kIsTimeSet.

Referenced by TFipps::GetAddbackMultiplicity(), TGriffin::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), GetAddbackMultiplicity(), and TTdrTigress::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 69 of file TSuppressed.h.

References TDetector::GetHitVector(), and TSuppressed::SuppressionCriterion().

Referenced by TFipps::GetSuppressedMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TGriffin::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), and TTdrTigress::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 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(), GetSuppressedAddbackMultiplicity(), and TTdrTigress::GetSuppressedAddbackMultiplicity().

◆ GetAddbackCriterion()

std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> TTdrClover::GetAddbackCriterion ( ) const
inline

Definition at line 60 of file TTdrClover.h.

References fAddbackCriterion.

◆ GetAddbackFragVector()

std::vector< UShort_t > & TTdrClover::GetAddbackFragVector ( )
private

!

Definition at line 213 of file TTdrClover.cxx.

References fAddbackFrags.

Referenced by GetAddbackMultiplicity(), GetNAddbackFrags(), and ResetAddback().

◆ GetAddbackHit()

TDetectorHit * TTdrClover::GetAddbackHit ( const int & i)

Definition at line 286 of file TTdrClover.cxx.

References GetAddbackMultiplicity(), and GetAddbackVector().

◆ GetAddbackMultiplicity()

Int_t TTdrClover::GetAddbackMultiplicity ( )

Automatically builds the addback hits using the fAddbackCriterion (if the size of the fAddbackHits vector is zero) and returns the number of addback hits.

Definition at line 263 of file TTdrClover.cxx.

References TSuppressed::CreateAddback(), GetAddbackFragVector(), GetAddbackVector(), TDetector::GetHitVector(), IsAddbackSet(), and SetAddback().

Referenced by GetAddbackHit().

◆ GetAddbackVector()

std::vector< TDetectorHit * > & TTdrClover::GetAddbackVector ( )
private

!

Definition at line 208 of file TTdrClover.cxx.

References fAddbackHits.

Referenced by GetAddbackHit(), GetAddbackMultiplicity(), and ResetAddback().

◆ GetColorFromNumber()

const char * TTdrClover::GetColorFromNumber ( Int_t number)
static

Definition at line 464 of file TTdrClover.cxx.

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ GetNAddbackFrags()

UShort_t TTdrClover::GetNAddbackFrags ( const size_t & idx)

Definition at line 421 of file TTdrClover.cxx.

References GetAddbackFragVector().

◆ GetNSuppressedAddbackFrags()

UShort_t TTdrClover::GetNSuppressedAddbackFrags ( const size_t & idx)

Definition at line 444 of file TTdrClover.cxx.

References GetSuppressedAddbackFragVector().

◆ GetPosition()

TVector3 TTdrClover::GetPosition ( int DetNbr,
int CryNbr = 5,
double dist = 110.0 )
static

!

Definition at line 377 of file TTdrClover.cxx.

References gCloverPosition.

Referenced by TTdrCloverHit::GetPosition().

◆ GetSuppressedAddbackFragVector()

std::vector< UShort_t > & TTdrClover::GetSuppressedAddbackFragVector ( )
private

◆ GetSuppressedAddbackHit()

TDetectorHit * TTdrClover::GetSuppressedAddbackHit ( const int & i)

Definition at line 352 of file TTdrClover.cxx.

References GetSuppressedAddbackVector().

◆ GetSuppressedAddbackMultiplicity()

Int_t TTdrClover::GetSuppressedAddbackMultiplicity ( TBgo * bgo)

Automatically builds the suppressed addback hits using the fAddbackCriterion and fSuppressionriterion (if the size of the fSuppressedAddbackHits vector is zero) and returns the number of suppressed addback hits.

Definition at line 328 of file TTdrClover.cxx.

References TSuppressed::CreateSuppressedAddback(), TDetector::GetHitVector(), GetSuppressedAddbackFragVector(), GetSuppressedAddbackVector(), IsSuppressedAddbackSet(), and SetSuppressedAddback().

◆ GetSuppressedAddbackVector()

std::vector< TDetectorHit * > & TTdrClover::GetSuppressedAddbackVector ( )
private

◆ GetSuppressedHit()

TDetectorHit * TTdrClover::GetSuppressedHit ( const int & i)

Definition at line 315 of file TTdrClover.cxx.

References GetSuppressedVector().

◆ GetSuppressedMultiplicity()

Int_t TTdrClover::GetSuppressedMultiplicity ( TBgo * bgo)

Automatically builds the suppressed hits using the fSuppressedCriterion (if the size of the fSuppressedHits vector is zero) and return the number of suppressed hits.

Definition at line 296 of file TTdrClover.cxx.

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

◆ GetSuppressedVector()

std::vector< TDetectorHit * > & TTdrClover::GetSuppressedVector ( )
private

!

Definition at line 228 of file TTdrClover.cxx.

References fSuppressedHits.

Referenced by GetSuppressedHit(), and ResetSuppressed().

◆ GetSuppressionCriterion()

std::function< bool(TTdrCloverHit *, TBgoHit *)> TTdrClover::GetSuppressionCriterion ( ) const
inline

Definition at line 65 of file TTdrClover.h.

References fSuppressionCriterion.

◆ GetTdrCloverHit()

TTdrCloverHit * TTdrClover::GetTdrCloverHit ( const Int_t & i) const
inline

Definition at line 44 of file TTdrClover.h.

References TDetector::GetHit().

◆ Hits() [1/2]

◆ Hits() [2/2]

const std::vector< TDetectorHit * > & TDetector::Hits ( ) const
inlineinherited

Definition at line 79 of file TDetector.h.

References TDetector::fHits.

◆ IsAddbackSet()

bool TTdrClover::IsAddbackSet ( ) const

Definition at line 218 of file TTdrClover.cxx.

References kIsAddbackSet, and TestBitNumber().

Referenced by GetAddbackMultiplicity(), and Print().

◆ IsSuppressedAddbackSet()

bool TTdrClover::IsSuppressedAddbackSet ( ) const

Definition at line 253 of file TTdrClover.cxx.

References kIsSupprAddbSet, and TestBitNumber().

Referenced by GetSuppressedAddbackMultiplicity(), and Print().

◆ IsSuppressedSet()

bool TTdrClover::IsSuppressedSet ( ) const

Definition at line 233 of file TTdrClover.cxx.

References kIsSuppressedSet, and TestBitNumber().

Referenced by GetSuppressedMultiplicity(), and Print().

◆ NoHits()

virtual bool TDetector::NoHits ( ) const
inlinevirtualinherited

◆ operator=()

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

!

Definition at line 202 of file TTdrClover.cxx.

References Copy().

◆ Print() [1/2]

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

!

Definition at line 169 of file TTdrClover.cxx.

References Print().

Referenced by Print().

◆ Print() [2/2]

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

◆ ResetAddback()

void TTdrClover::ResetAddback ( )

Definition at line 414 of file TTdrClover.cxx.

References GetAddbackFragVector(), GetAddbackVector(), and SetAddback().

◆ ResetFlags()

void TTdrClover::ResetFlags ( ) const

Definition at line 409 of file TTdrClover.cxx.

References fTdrCloverBits.

◆ ResetSuppressed()

void TTdrClover::ResetSuppressed ( )

Definition at line 431 of file TTdrClover.cxx.

References GetSuppressedVector(), and SetSuppressed().

◆ ResetSuppressedAddback()

void TTdrClover::ResetSuppressedAddback ( )

◆ SetAddback()

void TTdrClover::SetAddback ( bool flag = true) const
private

Definition at line 223 of file TTdrClover.cxx.

References kIsAddbackSet, and SetBitNumber().

Referenced by GetAddbackMultiplicity(), and ResetAddback().

◆ SetAddbackCriterion()

void TTdrClover::SetAddbackCriterion ( std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> criterion)
inline

Definition at line 56 of file TTdrClover.h.

References fAddbackCriterion.

◆ SetBitNumber()

void TTdrClover::SetBitNumber ( ETdrCloverBits bit,
Bool_t set ) const
private

Definition at line 454 of file TTdrClover.cxx.

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

Referenced by SetAddback(), SetSuppressed(), and SetSuppressedAddback().

◆ SetCoreWave()

static bool TTdrClover::SetCoreWave ( )
inlinestatic

!

Definition at line 102 of file TTdrClover.h.

References fSetCoreWave.

◆ SetSuppressed()

void TTdrClover::SetSuppressed ( bool flag = true) const
private

Definition at line 238 of file TTdrClover.cxx.

References kIsSuppressedSet, and SetBitNumber().

Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().

◆ SetSuppressedAddback()

void TTdrClover::SetSuppressedAddback ( bool flag = true) const
private

Definition at line 258 of file TTdrClover.cxx.

References kIsSupprAddbSet, and SetBitNumber().

Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().

◆ SetSuppressionCriterion()

void TTdrClover::SetSuppressionCriterion ( std::function< bool(TTdrCloverHit *, TBgoHit *)> criterion)
inline

Definition at line 61 of file TTdrClover.h.

References fSuppressionCriterion.

◆ SuppressionCriterion()

virtual bool TSuppressed::SuppressionCriterion ( const TDetectorHit * ,
const TDetectorHit *  )
inlinevirtualinherited

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

Definition at line 31 of file TSuppressed.h.

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

◆ TestBitNumber()

Bool_t TTdrClover::TestBitNumber ( ETdrCloverBits bit) const
inlineprivate

Member Data Documentation

◆ fAddbackCriterion

std::function< bool(TTdrCloverHit *, TTdrCloverHit *)> TTdrClover::fAddbackCriterion = DefaultAddback
staticprivate

Definition at line 87 of file TTdrClover.h.

Referenced by GetAddbackCriterion(), and SetAddbackCriterion().

◆ fAddbackFrags

std::vector<UShort_t> TTdrClover::fAddbackFrags
mutableprivate

! Number of crystals involved in creating in the addback hit

Definition at line 96 of file TTdrClover.h.

Referenced by Clear(), Copy(), and GetAddbackFragVector().

◆ fAddbackHits

std::vector<TDetectorHit*> TTdrClover::fAddbackHits
mutableprivate

! Used to create addback hits on the fly

Definition at line 95 of file TTdrClover.h.

Referenced by Clear(), Copy(), GetAddbackVector(), and Print().

◆ fCycleStart

long TTdrClover::fCycleStart
private

! The start of the cycle

Definition at line 92 of file TTdrClover.h.

Referenced by Clear(), Copy(), and Print().

◆ fEnergyResiduals

std::map< int, TSpline * > TTdrClover::fEnergyResiduals
staticprivate

!

Definition at line 110 of file TTdrClover.h.

◆ fHits

◆ fSetCoreWave

bool TTdrClover::fSetCoreWave = false
staticprivate

! Flag for Waveforms ON/OFF

Definition at line 90 of file TTdrClover.h.

Referenced by Copy(), and SetCoreWave().

◆ fSuppressedAddbackFrags

std::vector<UShort_t> TTdrClover::fSuppressedAddbackFrags
mutableprivate

! Number of crystals involved in creating in the suppressed addback hit

Definition at line 100 of file TTdrClover.h.

Referenced by Clear(), Copy(), and GetSuppressedAddbackFragVector().

◆ fSuppressedAddbackHits

std::vector<TDetectorHit*> TTdrClover::fSuppressedAddbackHits
mutableprivate

! Used to create suppressed addback hits on the fly

Definition at line 99 of file TTdrClover.h.

Referenced by Clear(), Copy(), GetSuppressedAddbackVector(), and Print().

◆ fSuppressedHits

std::vector<TDetectorHit*> TTdrClover::fSuppressedHits
mutableprivate

! Used to create suppressed hits on the fly

Definition at line 98 of file TTdrClover.h.

Referenced by Clear(), Copy(), GetSuppressedMultiplicity(), GetSuppressedVector(), and Print().

◆ fSuppressionCriterion

std::function< bool(TTdrCloverHit *, TBgoHit *)> TTdrClover::fSuppressionCriterion = DefaultSuppression
staticprivate

Definition at line 88 of file TTdrClover.h.

Referenced by GetSuppressionCriterion(), and SetSuppressionCriterion().

◆ fTdrCloverBits

TTransientBits<UChar_t> TTdrClover::fTdrCloverBits
mutableprivate

Definition at line 93 of file TTdrClover.h.

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

◆ gCloverPosition

TVector3 TTdrClover::gCloverPosition
staticprivate

! Position of each HPGe Clover

Definition at line 59 of file TTdrClover.h.

Referenced by GetPosition().