Public Member Functions | |
TCSM () | |
~TCSM () override | |
void | AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override |
void | BuildHits () override |
void | Clear (Option_t *="") override |
virtual void | ClearTransients () |
virtual void | Copy (TObject &) const override |
TCSMHit * | GetCSMHit (const int &i) const |
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 |
Static Public Member Functions | |
static TVector3 | GetPosition (int detector, char pos, int horizontalstrip, int verticalstrip, double X=0.00, double Y=0.00, double Z=0.00) |
Protected Attributes | |
std::vector< TDetectorHit * > | fHits |
Private Member Functions | |
bool | AlmostEqual (int, int) |
bool | AlmostEqual (double, double) |
void | BuilddEE (std::vector< std::vector< TDetectorHit *>> &, std::vector< TDetectorHit *> &) |
void | BuildVH (std::vector< std::vector< std::pair< TFragment, TGRSIMnemonic >>> &, std::vector< TDetectorHit *> &) |
TCSMHit * | CombineHits (TDetectorHit *, TDetectorHit *) |
void | MakedEE (std::vector< TDetectorHit *> &DHitVec, std::vector< TDetectorHit *> &EHitVec, std::vector< TDetectorHit *> &BuiltHits) |
TCSMHit * | MakeHit (std::pair< TFragment, TGRSIMnemonic > &, std::pair< TFragment, TGRSIMnemonic > &) |
TCSMHit * | MakeHit (std::vector< std::pair< TFragment, TGRSIMnemonic >> &, std::vector< std::pair< TFragment, TGRSIMnemonic >> &) |
void | OldBuilddEE (std::vector< TDetectorHit *> &, std::vector< TDetectorHit *> &, std::vector< TDetectorHit *> &) |
void | RecoverHit (char, std::pair< TFragment, TGRSIMnemonic > &, std::vector< TDetectorHit *> &) |
Private Attributes | |
double | fAlmostEqualWindow |
std::map< int16_t, std::vector< std::vector< std::vector< std::pair< TFragment, TGRSIMnemonic > > > > > | fFragments |
Static Private Attributes | |
static int | fCfdBuildDiff = 5 |
#include <TCSM.h>
TCSM::TCSM | ( | ) |
Definition at line 12 of file TCSM.cxx.
References fAlmostEqualWindow.
|
overridedefault |
|
overridevirtual |
!
This function just stores the fragments and mnemonics in vectors, separated by detector number and type (horizontal/vertical strip or pad). The hits themselves are built in the BuildHits function because the way we build them depends on the number of hits.
Reimplemented from TDetector.
Definition at line 23 of file TCSM.cxx.
References TMnemonic::ArrayPosition(), TMnemonic::ArraySubPositionString(), TMnemonic::CollectedChargeString(), fFragments, and TChannel::GetMnemonic().
|
private |
Definition at line 627 of file TCSM.cxx.
References fAlmostEqualWindow.
Referenced by BuildVH(), and OldBuilddEE().
|
private |
Definition at line 635 of file TCSM.cxx.
References fAlmostEqualWindow.
|
private |
|
overridevirtual |
!
This function takes the fragments that were stored in the successive AddFragment calls and builds hits out of them
Reimplemented from TDetector.
Definition at line 61 of file TCSM.cxx.
References BuilddEE(), BuildVH(), fFragments, and TDetector::fHits.
|
private |
Build hits from horizontal (index = 0) and vertical (index = 1) strips into the hitVector
Definition at line 131 of file TCSM.cxx.
References AlmostEqual(), MakeHit(), RecoverHit(), and SUMHITS.
Referenced by BuildHits().
|
inlineoverrideinherited |
!
Definition at line 57 of file TDetector.h.
References TDetector::fHits.
Referenced by TSiLi::Clear(), TTdrSiLi::Clear(), TTriFoil::Clear(), TBgo::Clear(), TSharc::Clear(), TTdrPlastic::Clear(), TEagle::Clear(), TDescant::Clear(), TEmma::Clear(), TTrific::Clear(), TS3::Clear(), TTigress::Clear(), TPaces::TPaces(), TSceptar::TSceptar(), and TZeroDegree::TZeroDegree().
|
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().
|
private |
Definition at line 599 of file TCSM.cxx.
References TCSMHit::SetEHorizontalStrip().
Referenced by MakedEE(), and OldBuilddEE().
|
overridevirtualinherited |
!
Reimplemented in TGriffin, TTigress, TIfin, TFipps, TTdrTigress, TTdrClover, TS3, TTrific, TEmma, TRF, TDescant, TEagle, TLaBr, TTriFoil, TFippsLaBr, TPaces, TSharc, TBgo, TTdrSiLi, TSiLi, and TSuppressed.
Definition at line 34 of file TDetector.cxx.
References TDetector::fHits.
Referenced by ClassImp(), TSiLi::Copy(), TTdrSiLi::Copy(), TBgo::Copy(), TSharc::Copy(), TPaces::Copy(), TTriFoil::Copy(), TEagle::Copy(), TDescant::Copy(), TRF::Copy(), TEmma::Copy(), TTrific::Copy(), TS3::Copy(), TTigress::Copy(), TFippsPulser::operator=(), TEaglePulser::operator=(), TGenericDetector::operator=(), TTip::operator=(), TDetector::operator=(), TFippsTAC::operator=(), TTAC::operator=(), TTdrPlastic::operator=(), TSceptar::operator=(), TZeroDegree::operator=(), TDetector::TDetector(), TEaglePulser::TEaglePulser(), TFippsPulser::TFippsPulser(), TFippsTAC::TFippsTAC(), TGenericDetector::TGenericDetector(), TSceptar::TSceptar(), TTAC::TTAC(), TTdrPlastic::TTdrPlastic(), TTip::TTip(), and TZeroDegree::TZeroDegree().
|
inline |
Definition at line 42 of file TCSM.h.
References TDetector::GetHit().
|
virtualinherited |
Definition at line 70 of file TDetector.cxx.
References TDetector::fHits.
Referenced by exAnalysis(), TBgo::GetBgoHit(), 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 TSuppressed::CreateSuppressed(), TSuppressed::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().
|
static |
Definition at line 78 of file TCSM.cxx.
Referenced by MakeHit(), and RecoverHit().
|
private |
|
private |
Definition at line 197 of file TCSM.cxx.
References GetPosition(), TCSMHit::SetDetectorNumber(), TCSMHit::SetDHorizontalCFD(), TCSMHit::SetDHorizontalCharge(), TCSMHit::SetDHorizontalEnergy(), TCSMHit::SetDHorizontalStrip(), TCSMHit::SetDHorizontalTime(), TCSMHit::SetDPosition(), TCSMHit::SetDVerticalCFD(), TCSMHit::SetDVerticalCharge(), TCSMHit::SetDVerticalEnergy(), TCSMHit::SetDVerticalStrip(), TCSMHit::SetDVerticalTime(), TCSMHit::SetEHorizontalCFD(), TCSMHit::SetEHorizontalCharge(), TCSMHit::SetEHorizontalEnergy(), TCSMHit::SetEHorizontalStrip(), TCSMHit::SetEHorizontalTime(), TCSMHit::SetEPosition(), TCSMHit::SetEVerticalCFD(), TCSMHit::SetEVerticalCharge(), TCSMHit::SetEVerticalEnergy(), TCSMHit::SetEVerticalStrip(), and TCSMHit::SetEVerticalTime().
Referenced by BuildVH().
|
private |
Definition at line 241 of file TCSM.cxx.
References TDetectorHit::GetCharge(), GetPosition(), TCSMHit::SetDetectorNumber(), TCSMHit::SetDHorizontalCFD(), TCSMHit::SetDHorizontalCharge(), TCSMHit::SetDHorizontalEnergy(), TCSMHit::SetDHorizontalStrip(), TCSMHit::SetDHorizontalTime(), TCSMHit::SetDPosition(), TCSMHit::SetDVerticalCFD(), TCSMHit::SetDVerticalCharge(), TCSMHit::SetDVerticalEnergy(), TCSMHit::SetDVerticalStrip(), TCSMHit::SetDVerticalTime(), TCSMHit::SetEHorizontalCFD(), TCSMHit::SetEHorizontalCharge(), TCSMHit::SetEHorizontalEnergy(), TCSMHit::SetEHorizontalStrip(), TCSMHit::SetEHorizontalTime(), TCSMHit::SetEPosition(), TCSMHit::SetEVerticalCFD(), TCSMHit::SetEVerticalCharge(), TCSMHit::SetEVerticalEnergy(), TCSMHit::SetEVerticalStrip(), and TCSMHit::SetEVerticalTime().
|
private |
Definition at line 449 of file TCSM.cxx.
References AlmostEqual(), CombineHits(), DGREEN, and RESET_COLOR.
|
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.
|
private |
Definition at line 521 of file TCSM.cxx.
References GetPosition(), TCSMHit::IsEmpty(), RECOVERHITS, TCSMHit::SetDetectorNumber(), TCSMHit::SetDHorizontalCFD(), TCSMHit::SetDHorizontalCharge(), TCSMHit::SetDHorizontalEnergy(), TCSMHit::SetDHorizontalStrip(), TCSMHit::SetDHorizontalTime(), TCSMHit::SetDPosition(), TCSMHit::SetDVerticalCFD(), TCSMHit::SetDVerticalCharge(), TCSMHit::SetDVerticalEnergy(), TCSMHit::SetDVerticalStrip(), and TCSMHit::SetDVerticalTime().
Referenced by BuildVH().
|
private |
Definition at line 54 of file TCSM.h.
Referenced by AlmostEqual(), and TCSM().
|
staticprivate |
|
private |
|
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(), TFippsLaBr::AddFragment(), TTigress::AddFragment(), TEmma::BuildHits(), 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(), 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(), TFippsLaBr::Print(), TTrific::Print(), TTigress::Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().