library: libRooFit #include "RooGraphSpring.h"

# RooGraphSpring

class description - source file - inheritance tree (.pdf)

## class RooGraphSpring : public TObject

| Inheritance Chart:
`TObject`
| <- | `RooGraphSpring` |

        public:

                          RooGraphSpring()
                          RooGraphSpring(RooGraphNode* n1, RooGraphNode* n2)
                          RooGraphSpring(const RooGraphSpring&)
                          ~RooGraphSpring()
           static TClass* Class()
                     void Connect(RooGraphNode* n1, RooGraphNode* n2)
            RooGraphNode* GetEnd()
                   double GetGraphLength()
                   double GetInitialDistance()
                   double GetLength()
                   double GetSpringConstant()
                   double GetSpringD2Energy(char m)
                   double GetSpringDEnergy(char m)
                   double GetSpringDxyEnergy()
            RooGraphNode* GetStart()
                   double GetX1()
                   double GetX2()
                   double GetY1()
                   double GetY2()
          virtual TClass* IsA() const
          RooGraphSpring& operator=(const RooGraphSpring&)
                     void print()
                     void read(ifstream& file)
                     void Set1stNode(RooGraphNode* n1)
                     void Set2ndNode(RooGraphNode* n2)
                     void SetGraphLength(double length)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                     void SwitchNodes()

### Data Members

        private:

          RooGraphNode* fn1           nodes the edge
          RooGraphNode* fn2           connects together
                 double fgraphlength

## Class Description

    RooGraphSpring:

    The spring class is a subset of node class and a spring can only be created
    if there are two nodes to connect it to. It is not drawn to the canvas, but
    is used to determine the energy of each node and thus can be used to reduce
    the energy of the node/edge system to its lowest possible value.

RooGraphSpring()

    Default constructor for a spring

RooGraphSpring(RooGraphNode *n1, RooGraphNode *n2)

    Spring standard constructor

void print()

void read(ifstream &/*file*/)

void Set1stNode(RooGraphNode *n1)

    Changes the first node the spring is connected to to the given value

void Set2ndNode(RooGraphNode *n2)

    Changes the second node the spring is connected to to the given value

void Connect(RooGraphNode *n1, RooGraphNode *n2)

    Causes the spring to connect the two given nodes

double GetX1()

    Returns the x value for one endpoint of the node

double GetY1()

    Returns the y value for one endpoint of the node

double GetX2()

    Returns the x value for the other endpoint of the node

double GetY2()

    Returns the y value for the other endpoint fo the node

void SwitchNodes()

    Changes which node is the first and which is second

double GetInitialDistance()

    Returns the length of the string

void SetGraphLength(double length)

double GetLength()

    Returns the spring length used to calculate the energy in the spring

double GetSpringConstant()

    Returns the spring constant for this spring

double GetSpringDEnergy(char m)

    Returns the first derivative of the energy of this spring with respect to
    either x or y, determined by the input parameter m

double GetSpringD2Energy(char m)

    Returns the second derivative of the spring energy with respect to either
    x or y, determined by the input parameter m

double GetSpringDxyEnergy()

    Returns the double derivative of the spring energy with repect to both x&y

### Inline Functions

                       void ~RooGraphSpring()
              RooGraphNode* GetStart()
              RooGraphNode* GetEnd()
                     double GetGraphLength()
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
             RooGraphSpring RooGraphSpring(const RooGraphSpring&)
            RooGraphSpring& operator=(const RooGraphSpring&)

Last update: Tue Jun 28 18:12:56 2005
Copyright (c) 2000-2005, Regents of the University of California *