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

Detailed Description

Definition at line 20 of file TSharc.h.

Public Member Functions

 TSharc ()
 
 TSharc (const TSharc &rhs)
 
 TSharc (TSharc &&) noexcept=default
 
 ~TSharc () override=default
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
virtual void AddHit (TDetectorHit *hit)
 
void BuildHits () override
 
void Clear (Option_t *="") override
 
virtual void ClearTransients ()
 
void Copy (TObject &) const override
 
virtual TDetectorHitGetHit (const int &index) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
virtual Short_t GetMultiplicity () const
 
TSharcHitGetSharcHit (const int &i) const
 
int GetSize () const
 
std::vector< TDetectorHit * > & Hits ()
 
const std::vector< TDetectorHit * > & Hits () const
 
virtual bool NoHits () const
 
TSharcoperator= (const TSharc &rhs)
 
TSharcoperator= (TSharc &&) noexcept=default
 
void Print (Option_t *="") const override
 
void Print (std::ostream &out) const override
 

Static Public Member Functions

static double GetDeadLayerThickness (TSharcHit &hit)
 
static double GetDetectorThickness (TSharcHit &hit, double dist=-1.0)
 
static TVector3 GetOffset ()
 
static double GetPadDeadLayerThickness (TSharcHit &hit)
 
static double GetPadThickness (TSharcHit &hit)
 
static TVector3 GetPosition (int detector, int frontstrip, int backstrip, double X=0.00, double Y=0.00, double Z=0.00)
 
static double GetXOffset ()
 
static double GetYOffset ()
 
static double GetZOffset ()
 
static void SetXYZOffset (const double x, const double y, const double z)
 

Private Member Functions

int CombineHits (TSharcHit *, TSharcHit *, int, int)
 
void RemoveHits (std::vector< TSharcHit > *, std::set< int > *)
 

Private Attributes

std::vector< TFragmentfBackFragments
 
std::vector< TFragmentfFrontFragments
 
std::vector< TDetectorHit * > fHits
 
std::vector< TFragmentfPadFragments
 

Static Private Attributes

static double fPdim = +81.6
 
static double fPminDQ = +6.40
 
static double fPminUQ = +2.00
 
static double fRdim = +32.0
 
static double fRingPitch = TSharc::fRdim / 16.0
 
static double fRmaxDQ = +41.00
 
static double fRmaxUQ = +41.00
 
static double fRminDQ = +9.00
 
static double fRminUQ = +9.00
 
static double fSegmentPitch
 
static double fStripBPitch = TSharc::fZdim / 48.0
 
static double fStripFPitch = TSharc::fYdim / 24.0
 
static double fXdim = +72.0
 
static double fXoffset = +0.00
 
static double fXposDB = +40.5
 
static double fXposUB = +42.5
 
static double fYdim = +72.0
 
static double fYminDB = -36.0
 
static double fYminUB = -36.0
 
static double fYoffset = +0.00
 
static double fZdim = +48.0
 
static double fZminDB = +9.00
 
static double fZminUB = -5.00
 
static double fZoffset = +0.00
 
static double fZposDQ = +74.5
 
static double fZposUQ = -66.5
 
+ Inheritance diagram for TSharc:
+ Collaboration diagram for TSharc:

Constructor & Destructor Documentation

◆ TSharc() [1/3]

TSharc::TSharc ( )

Definition at line 74 of file TSharc.cxx.

References Clear().

◆ TSharc() [2/3]

TSharc::TSharc ( const TSharc & rhs)

Definition at line 79 of file TSharc.cxx.

References Clear(), and Copy().

◆ TSharc() [3/3]

TSharc::TSharc ( TSharc && )
defaultnoexcept

◆ ~TSharc()

TSharc::~TSharc ( )
overridedefault

Member Function Documentation

◆ AddFragment()

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

◆ AddHit()

◆ BuildHits()

void TSharc::BuildHits ( )
overridevirtual

!

Reimplemented from TDetector.

Definition at line 107 of file TSharc.cxx.

References TDetector::AddHit(), fBackFragments, fFrontFragments, fPadFragments, TDetector::Hits(), and TSharcHit::SetFront().

◆ Clear()

void TSharc::Clear ( Option_t * option = "")
override

!

Definition at line 156 of file TSharc.cxx.

References TDetector::Clear(), fBackFragments, fFrontFragments, fPadFragments, fXoffset, fYoffset, and fZoffset.

Referenced by TSharc(), and TSharc().

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

◆ CombineHits()

int TSharc::CombineHits ( TSharcHit * ,
TSharcHit * ,
int ,
int  )
private

!

◆ Copy()

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

!

Definition at line 183 of file TSharc.cxx.

References TDetector::Copy().

Referenced by TSharc().

◆ GetDeadLayerThickness()

double TSharc::GetDeadLayerThickness ( TSharcHit & hit)
static

Definition at line 253 of file TSharc.cxx.

References TDetectorHit::GetDetector(), and GetDetectorThickness().

◆ GetDetectorThickness()

double TSharc::GetDetectorThickness ( TSharcHit & hit,
double dist = -1.0 )
static

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ GetOffset()

static TVector3 TSharc::GetOffset ( )
inlinestatic

Definition at line 41 of file TSharc.h.

References fXoffset, fYoffset, and fZoffset.

◆ GetPadDeadLayerThickness()

double TSharc::GetPadDeadLayerThickness ( TSharcHit & hit)
static

Definition at line 267 of file TSharc.cxx.

References TDetectorHit::GetDetector(), and GetDetectorThickness().

◆ GetPadThickness()

double TSharc::GetPadThickness ( TSharcHit & hit)
static

Definition at line 260 of file TSharc.cxx.

References TDetectorHit::GetDetector(), and GetDetectorThickness().

◆ GetPosition()

TVector3 TSharc::GetPosition ( int detector,
int frontstrip,
int backstrip,
double X = 0.00,
double Y = 0.00,
double Z = 0.00 )
static

◆ GetSharcHit()

TSharcHit * TSharc::GetSharcHit ( const int & i) const
inline

Definition at line 35 of file TSharc.h.

References TDetector::GetHit().

◆ GetSize()

int TSharc::GetSize ( ) const
inline

!

Definition at line 49 of file TSharc.h.

References TDetector::GetMultiplicity().

◆ GetXOffset()

static double TSharc::GetXOffset ( )
inlinestatic

Definition at line 38 of file TSharc.h.

References fXoffset.

Referenced by TSharcHit::GetPosition().

◆ GetYOffset()

static double TSharc::GetYOffset ( )
inlinestatic

Definition at line 39 of file TSharc.h.

References fYoffset.

Referenced by TSharcHit::GetPosition().

◆ GetZOffset()

static double TSharc::GetZOffset ( )
inlinestatic

Definition at line 40 of file TSharc.h.

References fZoffset.

Referenced by TSharcHit::GetPosition().

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

◆ NoHits()

virtual bool TDetector::NoHits ( ) const
inlinevirtualinherited

◆ operator=() [1/2]

TSharc & TSharc::operator= ( const TSharc & rhs)
inline

!

Definition at line 25 of file TSharc.h.

◆ operator=() [2/2]

TSharc & TSharc::operator= ( TSharc && )
defaultnoexcept

◆ Print() [1/2]

void TSharc::Print ( Option_t * = "") const
override

!

Definition at line 171 of file TSharc.cxx.

References Print().

Referenced by Print().

◆ Print() [2/2]

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

!

Reimplemented from TDetector.

Definition at line 176 of file TSharc.cxx.

◆ RemoveHits()

void TSharc::RemoveHits ( std::vector< TSharcHit > * hits,
std::set< int > * to_remove )
private

!

Definition at line 146 of file TSharc.cxx.

◆ SetXYZOffset()

static void TSharc::SetXYZOffset ( const double x,
const double y,
const double z )
inlinestatic

Definition at line 42 of file TSharc.h.

References fXoffset, fYoffset, and fZoffset.

Member Data Documentation

◆ fBackFragments

std::vector<TFragment> TSharc::fBackFragments
private

Definition at line 70 of file TSharc.h.

Referenced by AddFragment(), BuildHits(), and Clear().

◆ fFrontFragments

std::vector<TFragment> TSharc::fFrontFragments
private

Definition at line 69 of file TSharc.h.

Referenced by AddFragment(), BuildHits(), and Clear().

◆ fHits

◆ fPadFragments

std::vector<TFragment> TSharc::fPadFragments
private

Definition at line 71 of file TSharc.h.

Referenced by AddFragment(), BuildHits(), and Clear().

◆ fPdim

double TSharc::fPdim = +81.6
staticprivate

Rmax-Rmin for all QQQs.

Definition at line 89 of file TSharc.h.

◆ fPminDQ

double TSharc::fPminDQ = +6.40
staticprivate

Definition at line 105 of file TSharc.h.

Referenced by GetPosition().

◆ fPminUQ

double TSharc::fPminUQ = +2.00
staticprivate

Definition at line 101 of file TSharc.h.

Referenced by GetPosition().

◆ fRdim

double TSharc::fRdim = +32.0
staticprivate

total Z dimension of all boxes

Definition at line 88 of file TSharc.h.

◆ fRingPitch

double TSharc::fRingPitch = TSharc::fRdim / 16.0
staticprivate

Definition at line 112 of file TSharc.h.

Referenced by GetPosition().

◆ fRmaxDQ

double TSharc::fRmaxDQ = +41.00
staticprivate

Definition at line 103 of file TSharc.h.

Referenced by GetPosition().

◆ fRmaxUQ

double TSharc::fRmaxUQ = +41.00
staticprivate

Definition at line 99 of file TSharc.h.

Referenced by GetPosition().

◆ fRminDQ

double TSharc::fRminDQ = +9.00
staticprivate

Definition at line 104 of file TSharc.h.

◆ fRminUQ

double TSharc::fRminUQ = +9.00
staticprivate

Definition at line 100 of file TSharc.h.

◆ fSegmentPitch

double TSharc::fSegmentPitch
staticprivate
Initial value:
=
static double fPdim
Rmax-Rmin for all QQQs.
Definition TSharc.h:89

Definition at line 113 of file TSharc.h.

Referenced by GetPosition().

◆ fStripBPitch

double TSharc::fStripBPitch = TSharc::fZdim / 48.0
staticprivate

Definition at line 111 of file TSharc.h.

Referenced by GetPosition().

◆ fStripFPitch

double TSharc::fStripFPitch = TSharc::fYdim / 24.0
staticprivate

degrees

Definition at line 110 of file TSharc.h.

Referenced by GetPosition().

◆ fXdim

double TSharc::fXdim = +72.0
staticprivate

Definition at line 85 of file TSharc.h.

◆ fXoffset

double TSharc::fXoffset = +0.00
staticprivate

!

Definition at line 80 of file TSharc.h.

Referenced by Clear(), GetOffset(), GetXOffset(), and SetXYZOffset().

◆ fXposDB

double TSharc::fXposDB = +40.5
staticprivate

Definition at line 94 of file TSharc.h.

Referenced by GetPosition().

◆ fXposUB

double TSharc::fXposUB = +42.5
staticprivate

QQQ quadrant angular range (degrees)

Definition at line 91 of file TSharc.h.

Referenced by GetPosition().

◆ fYdim

double TSharc::fYdim = +72.0
staticprivate

total X dimension of all boxes

Definition at line 86 of file TSharc.h.

◆ fYminDB

double TSharc::fYminDB = -36.0
staticprivate

Definition at line 95 of file TSharc.h.

Referenced by GetPosition().

◆ fYminUB

double TSharc::fYminUB = -36.0
staticprivate

Definition at line 92 of file TSharc.h.

Referenced by GetPosition().

◆ fYoffset

double TSharc::fYoffset = +0.00
staticprivate

!

Definition at line 81 of file TSharc.h.

Referenced by Clear(), GetOffset(), GetYOffset(), and SetXYZOffset().

◆ fZdim

double TSharc::fZdim = +48.0
staticprivate

total Y dimension of all boxes

Definition at line 87 of file TSharc.h.

◆ fZminDB

double TSharc::fZminDB = +9.00
staticprivate

Definition at line 96 of file TSharc.h.

Referenced by GetPosition().

◆ fZminUB

double TSharc::fZminUB = -5.00
staticprivate

Definition at line 93 of file TSharc.h.

Referenced by GetPosition().

◆ fZoffset

double TSharc::fZoffset = +0.00
staticprivate

!

Definition at line 82 of file TSharc.h.

Referenced by Clear(), GetOffset(), GetZOffset(), and SetXYZOffset().

◆ fZposDQ

double TSharc::fZposDQ = +74.5
staticprivate

degrees

Definition at line 102 of file TSharc.h.

Referenced by GetPosition().

◆ fZposUQ

double TSharc::fZposUQ = -66.5
staticprivate

Definition at line 98 of file TSharc.h.

Referenced by GetPosition().