SteelOutline Class Reference

#include <SteelOutline.h>

List of all members.

Public Member Functions

 SteelOutline (Detector::Detector_t det_type=Detector::kFar)
virtual ~SteelOutline ()
void SetDetector (Detector::Detector_t det)
void SetDetectorType (Detector::Detector_t det_type)
virtual void Draw (Option_t *opt="")

Static Private Member Functions

static TPolyLine * GetCalDetSteelOutline ()
static TPolyLine * GetFarSteelOutline ()
static TPolyLine * GetNearSteelOutline ()

Private Attributes

Detector::Detector_t fDetector

Detailed Description

Id
SteelOutline.h,v 1.2 2007/11/11 07:13:47 rhatcher Exp

Definition at line 25 of file SteelOutline.h.


Constructor & Destructor Documentation

SteelOutline::SteelOutline ( Detector::Detector_t  det_type = Detector::kFar  ) 

Definition at line 11 of file SteelOutline.cxx.

00012     : fDetector(det)
00013 {
00014 }

SteelOutline::~SteelOutline (  )  [virtual]

Definition at line 16 of file SteelOutline.cxx.

00017 {
00018 }


Member Function Documentation

void SteelOutline::Draw ( Option_t *  opt = ""  )  [virtual]

Definition at line 25 of file SteelOutline.cxx.

References fDetector, GetCalDetSteelOutline(), GetFarSteelOutline(), GetNearSteelOutline(), Detector::kCalDet, Detector::kFar, and Detector::kNear.

Referenced by NueDisplayModule::UpdateDisplay(), UserDisplayModule::UpdateDisplay(), and EVD::UpdateView().

00026 {
00027     TPolyLine *outline = 0;
00028     switch (fDetector) {
00029     case (Detector::kFar):
00030         outline = SteelOutline::GetFarSteelOutline();
00031         break;
00032     case (Detector::kNear):
00033         outline = SteelOutline::GetNearSteelOutline();
00034         break;
00035     case (Detector::kCalDet):
00036         outline = SteelOutline::GetCalDetSteelOutline();
00037         break;
00038     default:
00039         return;
00040     }
00041 
00042     // Hard code colors for now.
00043    
00044     
00045     Color_t border = 4;
00046 
00047     outline->SetFillStyle(0);
00048 
00049     outline->SetLineColor(border);
00050     outline->SetLineWidth(2);
00051     outline->Draw("C");
00052         
00053 }

TPolyLine * SteelOutline::GetCalDetSteelOutline (  )  [static, private]

Definition at line 145 of file SteelOutline.cxx.

References Munits::cm.

Referenced by Draw().

00146 {
00147     
00148     // the outline of the far steel
00149     static TPolyLine* caldetSteelOutline = new TPolyLine(5,"");
00150     static bool allinit = false;
00151     
00152     //    if (allinit) return caldetSteelOutline;
00153     
00154     const double caldetBy2 = 50.00 * Munits::cm;
00155     
00156     caldetSteelOutline->SetPoint( 0, -caldetBy2, -caldetBy2);
00157     caldetSteelOutline->SetPoint( 1,  caldetBy2, -caldetBy2);
00158     caldetSteelOutline->SetPoint( 2,  caldetBy2,  caldetBy2);
00159     caldetSteelOutline->SetPoint( 3, -caldetBy2,  caldetBy2);
00160     // repeat first so that "C" loops back
00161     caldetSteelOutline->SetPoint( 4, -caldetBy2, -caldetBy2);
00162     allinit = true;
00163     
00164     return caldetSteelOutline;
00165 }

TPolyLine * SteelOutline::GetFarSteelOutline (  )  [static, private]

Definition at line 97 of file SteelOutline.cxx.

References Munits::cm.

Referenced by Draw().

00098 {
00099     // the outline of the far steel
00100     static TPolyLine* farSteelOutline = new TPolyLine(33,"");
00101     static bool allinit = false;
00102     
00103     //    if (allinit) return farSteelOutline;
00104     
00105     farSteelOutline->SetPoint( 0, 421.8893*Munits::cm,-142.8867*Munits::cm);
00106     farSteelOutline->SetPoint( 1, 421.8893*Munits::cm,-138.3342*Munits::cm);
00107     farSteelOutline->SetPoint( 2, 400.1614*Munits::cm,-115.9855*Munits::cm);
00108     //?? farSteelOutline->SetPoint( 3, 400.7823*Munits::cm,  87.6358*Munits::cm);
00109     farSteelOutline->SetPoint( 3, 400.1614*Munits::cm,  87.6358*Munits::cm);
00110     farSteelOutline->SetPoint( 4, 406.9902*Munits::cm,  94.0507*Munits::cm);
00111     farSteelOutline->SetPoint( 5, 429.1319*Munits::cm, 101.5003*Munits::cm);
00112     farSteelOutline->SetPoint( 6, 447.1350*Munits::cm, 101.5003*Munits::cm);
00113     farSteelOutline->SetPoint( 7, 454.7915*Munits::cm,  94.2577*Munits::cm);
00114     farSteelOutline->SetPoint( 8, 457.6886*Munits::cm,  94.2577*Munits::cm);
00115     farSteelOutline->SetPoint( 9, 457.6886*Munits::cm, 109.3637*Munits::cm);
00116     farSteelOutline->SetPoint(10, 143.7724*Munits::cm, 423.2799*Munits::cm);
00117     farSteelOutline->SetPoint(11, 139.4268*Munits::cm, 423.2799*Munits::cm);
00118     farSteelOutline->SetPoint(12, 117.2850*Munits::cm, 401.1382*Munits::cm);
00119     farSteelOutline->SetPoint(13,-116.9622*Munits::cm, 401.1382*Munits::cm);
00120     farSteelOutline->SetPoint(14,-139.1040*Munits::cm, 423.2799*Munits::cm);
00121     farSteelOutline->SetPoint(15,-143.4496*Munits::cm, 423.2799*Munits::cm);
00122     farSteelOutline->SetPoint(16,-457.3658*Munits::cm, 109.3637*Munits::cm);
00123     farSteelOutline->SetPoint(17,-457.3658*Munits::cm,  94.2577*Munits::cm);
00124     farSteelOutline->SetPoint(18,-454.4687*Munits::cm,  94.2577*Munits::cm);
00125     farSteelOutline->SetPoint(19,-439.9834*Munits::cm, 101.9141*Munits::cm);
00126     farSteelOutline->SetPoint(20,-429.8438*Munits::cm, 101.9141*Munits::cm);
00127     farSteelOutline->SetPoint(21,-406.6674*Munits::cm,  94.2577*Munits::cm);
00128     farSteelOutline->SetPoint(22,-399.8386*Munits::cm,  84.7388*Munits::cm);
00129     farSteelOutline->SetPoint(23,-399.8386*Munits::cm,-115.9855*Munits::cm);
00130     farSteelOutline->SetPoint(24,-421.5665*Munits::cm,-137.7134*Munits::cm);
00131     farSteelOutline->SetPoint(25,-421.5665*Munits::cm,-142.8867*Munits::cm);
00132     farSteelOutline->SetPoint(26,-143.4496*Munits::cm,-421.0036*Munits::cm);
00133     farSteelOutline->SetPoint(27,-139.1040*Munits::cm,-421.0036*Munits::cm);
00134     farSteelOutline->SetPoint(28,-116.9622*Munits::cm,-398.8619*Munits::cm);
00135     farSteelOutline->SetPoint(29, 116.8712*Munits::cm,-398.8619*Munits::cm);
00136     farSteelOutline->SetPoint(30, 139.4268*Munits::cm,-421.0036*Munits::cm);
00137     farSteelOutline->SetPoint(31, 143.7724*Munits::cm,-421.0036*Munits::cm);
00138     // repeat first so that "C" loops back
00139     farSteelOutline->SetPoint(32, 421.8893*Munits::cm,-142.8867*Munits::cm);
00140     allinit = true;
00141     
00142     return farSteelOutline;
00143 }

TPolyLine * SteelOutline::GetNearSteelOutline (  )  [static, private]

Definition at line 55 of file SteelOutline.cxx.

References Munits::cm, and Munits::inch.

Referenced by Draw().

00056 {
00057 
00058     // the outline of the near steel
00059     static TPolyLine* nearSteelOutline = new TPolyLine(23,"");
00060     static bool allinit = false;
00061 
00062     //   if (allinit) return nearSteelOutline;
00063   
00064     // dist coil hole defined as (x,y)=(0,0) to center of plate
00065     // numbers below are steel cutting values relative to plate center
00066     Double_t x0 = 55.78*Munits::cm;
00067 
00068     nearSteelOutline->SetPoint( 0,-121.43*Munits::inch+x0,  0.47*Munits::inch);
00069     nearSteelOutline->SetPoint( 1,-120.25*Munits::inch+x0,  0.47*Munits::inch);
00070     nearSteelOutline->SetPoint( 2,-115.14*Munits::inch+x0,  3.42*Munits::inch);
00071     nearSteelOutline->SetPoint( 3,-110.24*Munits::inch+x0,  3.42*Munits::inch);
00072     nearSteelOutline->SetPoint( 4, -95.24*Munits::inch+x0, -1.48*Munits::inch);
00073     nearSteelOutline->SetPoint( 5, -95.24*Munits::inch+x0,-35.47*Munits::inch);
00074     nearSteelOutline->SetPoint( 6, -69.80*Munits::inch+x0,-60.91*Munits::inch);
00075     nearSteelOutline->SetPoint( 7, -69.80*Munits::inch+x0,-75.04*Munits::inch);
00076     nearSteelOutline->SetPoint( 8,  69.80*Munits::inch+x0,-75.04*Munits::inch);
00077     nearSteelOutline->SetPoint( 9,  69.80*Munits::inch+x0,-60.91*Munits::inch);
00078     nearSteelOutline->SetPoint(10,  95.24*Munits::inch+x0,-35.47*Munits::inch);
00079     nearSteelOutline->SetPoint(11,  95.24*Munits::inch+x0, -1.48*Munits::inch);
00080     nearSteelOutline->SetPoint(12, 110.16*Munits::inch+x0,  3.42*Munits::inch);
00081     nearSteelOutline->SetPoint(13, 117.30*Munits::inch+x0,  3.42*Munits::inch);
00082     nearSteelOutline->SetPoint(14, 120.25*Munits::inch+x0,  0.47*Munits::inch);
00083     nearSteelOutline->SetPoint(15, 121.43*Munits::inch+x0,  0.47*Munits::inch);
00084     nearSteelOutline->SetPoint(16, 121.43*Munits::inch+x0,  9.28*Munits::inch);
00085     nearSteelOutline->SetPoint(17,  69.80*Munits::inch+x0, 60.91*Munits::inch);
00086     nearSteelOutline->SetPoint(18,  69.80*Munits::inch+x0, 75.04*Munits::inch);
00087     nearSteelOutline->SetPoint(19, -69.80*Munits::inch+x0, 75.04*Munits::inch);
00088     nearSteelOutline->SetPoint(20, -69.80*Munits::inch+x0, 60.91*Munits::inch);
00089     nearSteelOutline->SetPoint(21,-121.43*Munits::inch+x0,  9.28*Munits::inch);
00090     // repeat first so that "C" loops back
00091     nearSteelOutline->SetPoint(22,-121.43*Munits::inch+x0,  0.47*Munits::inch);
00092     allinit = true;
00093     
00094     return nearSteelOutline;
00095 }

void SteelOutline::SetDetector ( Detector::Detector_t  det  ) 

Definition at line 20 of file SteelOutline.cxx.

References fDetector.

Referenced by SetDetectorType().

00021 {
00022     fDetector = det_type;
00023 }

void SteelOutline::SetDetectorType ( Detector::Detector_t  det_type  )  [inline]

Definition at line 36 of file SteelOutline.h.

References SetDetector().

00037     { SetDetector(det_type); }


Member Data Documentation

Definition at line 46 of file SteelOutline.h.

Referenced by Draw(), and SetDetector().


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

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1