TridModelRecoStrip Class Reference

#include <TridModelRecoStrip.h>

Inheritance diagram for TridModelRecoStrip:
TridModel

List of all members.

Public Types

enum  ERecoStripType { kNone = 0, kTrack = 1, kShower = 2 }

Public Member Functions

 TridModelRecoStrip (UgliStripHandle ustrip, Float_t shw_center_u, Float_t shw_center_v, Float_t shw_width_u, Float_t shw_width_v, Int_t type, TridModel *parent)
virtual ~TridModelRecoStrip ()
virtual void Print (std::ostream &os=std::cout) const

Public Attributes

PlexStripEndId fStrip
TVector3 fPos
Double_t fHalfLength
TVector3 fLongitude
TVector3 fTransverse
Int_t fType
TridModelfParent

Detailed Description

Definition at line 9 of file TridModelRecoStrip.h.


Member Enumeration Documentation

Enumerator:
kNone 
kTrack 
kShower 

Definition at line 12 of file TridModelRecoStrip.h.

00012                       {
00013     kNone  = 0,
00014     kTrack = 1,
00015     kShower = 2
00016   };


Constructor & Destructor Documentation

TridModelRecoStrip::TridModelRecoStrip ( UgliStripHandle  ustrip,
Float_t  shw_center_u,
Float_t  shw_center_v,
Float_t  shw_width_u,
Float_t  shw_width_v,
Int_t  type,
TridModel parent 
)

Definition at line 6 of file TridModelRecoStrip.cxx.

References fHalfLength, fLongitude, fPos, fStrip, fTransverse, PlexPlaneId::GetPlaneView(), UgliStripHandle::GetSEId(), UgliStripHandle::GlobalPos(), PlaneView::kU, kv_u(), and kv_v().

00013   : fType(type),
00014     fParent(parent)
00015 {
00016   fStrip = ustrip.GetSEId();
00017   //std::cout << "Creating reco strip: " << fStrip.AsString() 
00018   //        << "  " << shw_center_u << " " << shw_center_v << " " << shw_width_u << " " << shw_width_v << std::endl;
00019 
00020   Float_t centerl, centert;
00021   Float_t widthl, widtht;
00022   if(fStrip.GetPlaneView()==PlaneView::kU) { // Strip runs along V direction
00023     fLongitude = kv_v;
00024     fTransverse = kv_u;
00025     centerl = shw_center_v;
00026     centert = shw_center_u;
00027     widthl  = shw_width_v;
00028     widtht  = shw_width_u;
00029   } else {
00030     fLongitude = kv_u; // along U
00031     fTransverse = kv_v;
00032     centerl = shw_center_u;
00033     centert = shw_center_v;
00034     widthl  = shw_width_u;
00035     widtht  = shw_width_v;
00036   }
00037   
00038   TVector3 c0 = ustrip.GlobalPos(0);
00039   
00040   // Find the center of the reco strip.
00041   fPos = c0 + fLongitude*( -(c0.Dot(fLongitude)) + centerl );
00042 
00043   // Find position of strip relative to shower center:
00044   double tdist = c0.Dot(fTransverse) - centert;
00045 
00046   // Get the half-length:
00047   fHalfLength = 0;
00048 
00049   double f = tdist*tdist/(widtht*widtht);
00050   if(f<1.0) 
00051     fHalfLength = widthl*sqrt(1.0-tdist*tdist/(widtht*widtht));
00052   if(fHalfLength<0.05) fHalfLength = 0.05;
00053 }

virtual TridModelRecoStrip::~TridModelRecoStrip (  )  [inline, virtual]

Definition at line 25 of file TridModelRecoStrip.h.

00025 {};


Member Function Documentation

void TridModelRecoStrip::Print ( std::ostream &  os = std::cout  )  const [virtual]

Reimplemented from TridModel.

Definition at line 56 of file TridModelRecoStrip.cxx.

References PlexStripEndId::AsString(), fParent, fStrip, fType, kNone, kShower, kTrack, and TridModel::Print().

00057 {
00058   switch(fType) {
00059   case kNone:
00060     os << "Unreconstructed strip: " << std:: endl; break;
00061   case kTrack:
00062     os << "Tracked Strip" << std::endl; break;
00063   case kShower:
00064     os << "Shower Strip" << std:: endl; break;
00065   default:
00066     os << "Unknown strip type" << std::endl; break;
00067   }
00068 
00069   os << "Strip: " << fStrip.AsString("e") << std::endl;
00070 
00071   TridModel::Print(os);
00072   
00073   if(fParent)
00074     fParent->Print(os);
00075 }


Member Data Documentation

Definition at line 33 of file TridModelRecoStrip.h.

Referenced by TridModelRecoStrip().

Definition at line 34 of file TridModelRecoStrip.h.

Referenced by TridModelRecoStrip().

Definition at line 37 of file TridModelRecoStrip.h.

Referenced by Print().

Definition at line 32 of file TridModelRecoStrip.h.

Referenced by TridModelRecoStrip().

Definition at line 31 of file TridModelRecoStrip.h.

Referenced by Print(), and TridModelRecoStrip().

Definition at line 35 of file TridModelRecoStrip.h.

Referenced by TridModelRecoStrip().

Definition at line 36 of file TridModelRecoStrip.h.

Referenced by Print().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1