66   Class()->IgnoreTObjectStreamer(kTRUE);
 
 
   73   if(frag == 
nullptr || chan == 
nullptr) {
 
 
   91   std::vector<TFragment>::iterator front;
 
   92   std::vector<TFragment>::iterator back;
 
   93   std::vector<TFragment>::iterator pad;
 
   96      bool front_used = 
false;
 
   97      bool back_used  = 
false;
 
   99         if(front->GetDetector() == back->GetDetector()) {
 
  105      if(front_used && back_used) {
 
 
  120   for(
auto iter = to_remove->rbegin(); iter != to_remove->rend(); ++iter) {
 
  124      hits->erase(hits->begin() + *iter);
 
 
  135   if(strcmp(option, 
"ALL") == 0) {
 
 
  149   std::ostringstream str;
 
  150   str << 
"not yet written..." << std::endl;
 
 
  161   int FrontDet = detector;
 
  162   int FrontStr = frontstrip;
 
  164   int    BackStr = backstrip;
 
  168   TVector3 position_offset;
 
  169   position_offset.SetXYZ(X, Y, Z);
 
  174   if(FrontDet >= 9 && FrontDet <= 12) {   
 
  175      nrots    = FrontDet - 9 + 0.5;       
 
  179      position.SetXYZ(x, y, z);
 
  180      position.RotateZ(TMath::Pi() * nrots / 2.);   
 
  185   else if(FrontDet == 1) {                                      
 
  186      nrots    = (BackStr - 7) + 0.5;                            
 
  190      position.SetXYZ(x, y, z);
 
  192   } 
else if(FrontDet == 16) {                                                                   
 
  193      nrots    = (BackStr - 15) + 0.5;                                                           
 
  197      position.SetXYZ(x, y, z);
 
  201   return (position + position_offset);
 
 
  207   static std::array<double, 16> fDetectorThickness = {50., 0., 0., 0., 0., 0., 0., 0., 999., 999., 1023., 999., 0., 0., 0., 1004.};   
 
  212   double phi_90 = fmod(std::fabs(hit.
GetPosition().Phi()), TMath::Pi() / 2);
 
  213   double phi_45 = phi_90;
 
  214   if(phi_90 > (TMath::Pi() / 4.)) {
 
  215      phi_45 = TMath::Pi() / 2 - phi_90;
 
  219      return dist / (TMath::Sin(hit.
GetPosition().Theta()) * TMath::Cos(phi_45));
 
  221   return std::fabs(dist / (TMath::Cos(hit.
GetPosition().Theta())));
 
 
  229   static std::array<double, 16> fDeadLayerThickness = {0.7, 0., 0., 0., 0., 0., 0., 0., 0.1, 0.1, 0.1, 0.1, 0., 0., 0., 0.7};
 
 
const TMnemonic * GetMnemonic() const
virtual Int_t GetDetector() const
!
void Copy(TObject &) const override
!
void Clear(Option_t *="") override
!
virtual void AddHit(TDetectorHit *hit)
virtual EMnemonic ArraySubPosition() const
virtual EMnemonic CollectedCharge() const
void SetFront(const TFragment &frag)
!
TVector3 GetPosition(Double_t dist) const override
!
void RemoveHits(std::vector< TSharc2Hit > *, std::set< int > *)
!
std::vector< TFragment > fBackFragments
static double fXposUB
total Z dimension of all boxes
void Print(Option_t *="") const override
!
static double fStripFPitch
static double fSectorWidthDS2
static double fStripBPitch
static double fZdim
total Y dimension of all boxes
void BuildHits() override
!
static TVector3 GetPosition(int detector, int frontstrip, int backstrip, double X=0.00, double Y=0.00, double Z=0.00)
!
void Copy(TObject &) const override
!
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
static double GetDetectorThickness(TSharc2Hit &hit, double dist=-1.0)
static double fStripPitchUS2
static double fStripPitchDS2
void Clear(Option_t *="") override
!
static double fYdim
total X dimension of all boxes
static double GetDeadLayerThickness(TSharc2Hit &hit)
static double fSectorWidthUS2
std::vector< TFragment > fFrontFragments