CMS 3D CMS Logo

IgSoSiStrips Class Reference

Represents a single-sided silicon strip detector. More...

#include <Iguana/Inventor/interface/IgSoSiStrips.h>

Inheritance diagram for IgSoSiStrips:

IgSoShapeKit

List of all members.

Public Member Functions

 IgSoSiStrips (void)

Static Public Member Functions

static void initClass (void)

Public Attributes

SoMFShort adc
SoSFFloat gain
SoSFFloat length
SoSFFloat offset
SoSFFloat pitch
SoMFShort strip
SoSFFloat thickness
SoSFFloat width

Protected Member Functions

virtual void refresh (void)

Private Member Functions

 SO_KIT_CATALOG_ENTRY_HEADER (pulses)
 SO_KIT_CATALOG_ENTRY_HEADER (translation)
 SO_KIT_HEADER (IgSoSiStrips)


Detailed Description

Represents a single-sided silicon strip detector.

Author:
Joe Boudreau
Date:
Nov 11 1996

Definition at line 27 of file IgSoSiStrips.h.


Constructor & Destructor Documentation

IgSoSiStrips::IgSoSiStrips ( void   ) 

Definition at line 25 of file IgSoSiStrips.cc.

References adc, FALSE, gain, length, offset, pitch, IgSoShapeKit::setUpConnections(), strip, thickness, TRUE, and width.

00026 {
00027     SO_KIT_CONSTRUCTOR (IgSoSiStrips);
00028     SO_KIT_ADD_FIELD (thickness, (0.03));
00029     SO_KIT_ADD_FIELD (width,     (1.28));
00030     SO_KIT_ADD_FIELD (length,    (8.0));
00031     SO_KIT_ADD_FIELD (pitch,     (0.005));
00032     SO_KIT_ADD_FIELD (offset,    (0.000));
00033     SO_KIT_ADD_FIELD (strip,     (0));
00034     SO_KIT_ADD_FIELD (adc,       (0));
00035     SO_KIT_ADD_FIELD (gain,      (0.001));
00036     SO_KIT_ADD_CATALOG_ENTRY (translation, SoTranslation, FALSE, separator,\x0, TRUE);
00037     SO_KIT_ADD_CATALOG_ENTRY (pulses, SoSeparator, FALSE, separator,\x0, TRUE);
00038     SO_KIT_INIT_INSTANCE ();
00039     setUpConnections (true, true);
00040 }


Member Function Documentation

void IgSoSiStrips::initClass ( void   )  [static]

Reimplemented from IgSoShapeKit.

Definition at line 22 of file IgSoSiStrips.cc.

Referenced by initNodes(), and initShapes().

00023 { SO_KIT_INIT_CLASS (IgSoSiStrips, IgSoShapeKit, "IgSoShapeKit"); }

void IgSoSiStrips::refresh ( void   )  [protected, virtual]

Reimplemented from IgSoShapeKit.

Definition at line 43 of file IgSoSiStrips.cc.

References adc, gain, i, length, NULL, offset, pitch, strip, thickness, and width.

00044 {
00045     if (strip.getNum () != adc.getNum ()) 
00046     {
00047         setPart ("translation", NULL);
00048         setPart ("pulses", NULL);
00049 
00050         return;
00051     }
00052     
00053 
00054     SoTranslation       *translation = new SoTranslation;
00055     SoSeparator         *pulses = new SoSeparator;
00056 
00057     translation->translation = SbVec3f (0, -width.getValue ()/2 + offset.getValue (), 0);
00058 
00059     for (int i = 0; i < strip.getNum (); i++)
00060     {
00061         SoSeparator     *pulse = new SoSeparator;
00062         SoTranslation   *inc = new SoTranslation;
00063         SoCube          *hit = new SoCube;
00064 
00065         inc->translation = SbVec3f (0, pitch.getValue () * strip[i], 0);
00066         hit->width  = thickness.getValue () + adc[i] * gain.getValue ();
00067         hit->height = pitch.getValue ();
00068         hit->depth  = length.getValue () - pitch.getValue ();
00069 
00070         pulse->addChild (inc);
00071         pulse->addChild (hit);
00072         pulses->addChild (pulse);
00073     }
00074 
00075     setPart ("translation", translation);
00076     setPart ("pulses", pulses);
00077 }

IgSoSiStrips::SO_KIT_CATALOG_ENTRY_HEADER ( pulses   )  [private]

IgSoSiStrips::SO_KIT_CATALOG_ENTRY_HEADER ( translation   )  [private]

IgSoSiStrips::SO_KIT_HEADER ( IgSoSiStrips   )  [private]


Member Data Documentation

SoMFShort IgSoSiStrips::adc

Definition at line 43 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::gain

Definition at line 44 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::length

Definition at line 37 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::offset

Definition at line 41 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::pitch

Definition at line 40 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoMFShort IgSoSiStrips::strip

Definition at line 42 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::thickness

Definition at line 39 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().

SoSFFloat IgSoSiStrips::width

Definition at line 38 of file IgSoSiStrips.h.

Referenced by IgSoSiStrips(), and refresh().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:25:44 2009 for CMSSW by  doxygen 1.5.4