13const std::array<double, 12>
TTrific::fXmm = {-33, -27, -21, -15, -9, -3, 3, 9, 15, 21, 27, 33};
14const std::array<double, 12>
TTrific::fYmm = {42, 36, 28, 20, 12, 4, -4, -12, -20, -28, -36, -42};
61 std::ostringstream str;
140 if(24 < detectorNumber || 1 > detectorNumber) {
return {1., -1., -1. * abs(detectorNumber)}; }
146 if(TVector3(-100, -100, -100) == vec) {
return vec; }
152 zCart += zCart * vec.Y() / (TMath::Sqrt(3) - vec.Y());
155 return {zCart * vec.X(), zCart * vec.Y(), zCart};
180 double xEngTotal = 0.0;
182 std::vector<int> hitXDets;
185 Int_t seg = hit->GetSegment();
187 if(3 > hit->GetEnergy()) {
continue; }
189 xMean +=
fXmm[seg] * hit->GetEnergy();
190 xEngTotal += hit->GetEnergy();
192 hitXDets.push_back(seg);
197 if(hitXDets.empty()) {
209 std::sort(hitXDets.begin(), hitXDets.end());
211 for(
unsigned int i = 1; i < hitXDets.size(); i++) {
212 if(hitXDets[i] != hitXDets[i - 1] + 1) {
224 double yEngTotal = 0.0;
226 std::vector<int> hitYDets;
230 Int_t seg = hit->GetSegment();
232 if(3 > hit->GetEnergy()) {
continue; }
234 yMean +=
fYmm[seg] * hit->GetEnergy();
235 yEngTotal += hit->GetEnergy();
237 hitYDets.push_back(seg);
242 if(hitYDets.empty()) {
250 std::sort(hitYDets.begin(), hitYDets.end());
253 for(
unsigned int i = 1; i < hitYDets.size(); i++) {
254 if(hitYDets[i] != hitYDets[i - 1] + 1) {
264 double yCart = yMean * TMath::Sin(
fAngle);
268 double tanX = xMean / zXCart;
269 double tanY = yCart / zYCart;
299 if(hit->GetDetector() >
fRange) {
fRange = hit->GetDetector(); }
const TMnemonic * GetMnemonic() const
virtual Int_t GetDetector() const
!
void Copy(TObject &) const override
!
virtual Short_t GetMultiplicity() const
void Clear(Option_t *="") override
!
virtual void AddHit(TDetectorHit *hit)
virtual EMnemonic ArraySubPosition() const
void SetBit(T bit, Bool_t flag)
Bool_t TestBit(T bit) const
TTransientBits< UShort_t > fTrificBits
void Copy(TObject &) const override
!
std::vector< TTrificHit * > fXFragments
void Clear(Option_t *="") override
!
static const double fAngle
static double fTargetToWindowCart
static const std::array< double, 12 > fYmm
std::vector< TTrificHit * > fYFragments
static const std::array< double, 12 > fXmm
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *chan) override
!
std::vector< TTrificHit * > fSingFragments
static bool fSetCoreWave
! Flag for Waveforms ON/OFF
void Print(Option_t *opt="") const override
!
static const double fInitialSpacingCart
static const TVector3 fNormalGridVec
static const double fSpacingCart
TTrific & operator=(const TTrific &)
!