Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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

Member Enumeration Documentation

enum TridModelRecoStrip::ERecoStripType
 

Enumeration values:
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(), and UgliStripHandle::GlobalPos().

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, 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

Double_t TridModelRecoStrip::fHalfLength
 

Definition at line 33 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::CreateSketches(), and TridModelRecoStrip().

TVector3 TridModelRecoStrip::fLongitude
 

Definition at line 34 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::CreateSketches(), and TridModelRecoStrip().

TridModel* TridModelRecoStrip::fParent
 

Definition at line 37 of file TridModelRecoStrip.h.

Referenced by Print().

TVector3 TridModelRecoStrip::fPos
 

Definition at line 32 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::CreateSketches(), and TridModelRecoStrip().

PlexStripEndId TridModelRecoStrip::fStrip
 

Definition at line 31 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::CreateSketches(), Print(), and TridModelRecoStrip().

TVector3 TridModelRecoStrip::fTransverse
 

Definition at line 35 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::CreateSketches(), and TridModelRecoStrip().

Int_t TridModelRecoStrip::fType
 

Definition at line 36 of file TridModelRecoStrip.h.

Referenced by TridPageDetector::ModifySketches().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:10:25 2010 for loon by  doxygen 1.3.9.1