// Author: Andrew M. Rogers, NSCL 07/01/2006
//* Copyright (C) 2006-2008 Andrew M. Rogers

#ifndef __TEPICS_H
#define __TEPICS_H

#include <iostream>

#ifndef  __ROOTDEFINE_H
#define  __ROOTDEFINE_H
#include "rootDefine.h"
#endif

#include <TROOT.h>
#include <TBranch.h>
#include <TTree.h>
#include <TObject.h>

using namespace std;


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TEpics                                                               //
//                                                                      //
// A TEpics class derives from TObject.  This Class provides the        //
// structure for the EPICS system data.                                 //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TEpics : public TObject {
  protected:
  TString      fName;                                  //! Object identifier
  TString      fTitle;                                 //! Object title
	  
 public:
  Float_t     HIRA_Tower0_I;                           //
  Float_t     HIRA_Tower0_Reg;                         //
  Float_t     HIRA_Tower0_TC[5];                       //
  Float_t     HIRA_Tower1_I;                           //
  Float_t     HIRA_Tower1_Reg;                         //
  Float_t     HIRA_Tower1_TC[5];                       //
  Float_t     HIRA_Tower2_I;                           //
  Float_t     HIRA_Tower2_Reg;                         //
  Float_t     HIRA_Tower2_TC[5];                       //
  Float_t     HIRA_Tower3_I;                           //
  Float_t     HIRA_Tower3_Reg;                         //
  Float_t     HIRA_Tower3_TC[5];                       //
  Float_t     HIRA_Tower4_I;                           //
  Float_t     HIRA_Tower4_Reg;                         //
  Float_t     HIRA_Tower4_TC[5];                       //
  Float_t     HIRA_Tower5_I;                           //
  Float_t     HIRA_Tower5_Reg;                         //
  Float_t     HIRA_Tower5_TC[5];                       //
  Float_t     I252IG;                                  //

  Float_t     HIRA_Tower0_I_Up;       
  Float_t     HIRA_Tower0_Reg_Up;       
  Float_t     HIRA_Tower0_TC_Up[5];       
  Float_t     HIRA_Tower1_I_Up;       
  Float_t     HIRA_Tower1_Reg_Up;       
  Float_t     HIRA_Tower1_TC_Up[5];       
  Float_t     HIRA_Tower2_I_Up;       
  Float_t     HIRA_Tower2_Reg_Up;       
  Float_t     HIRA_Tower2_TC_Up[5];       
  Float_t     HIRA_Tower3_I_Up;       
  Float_t     HIRA_Tower3_Reg_Up;       
  Float_t     HIRA_Tower3_TC_Up[5];       
  Float_t     HIRA_Tower4_I_Up;       
  Float_t     HIRA_Tower4_Reg_Up;       
  Float_t     HIRA_Tower4_TC_Up[5];       
  Float_t     HIRA_Tower5_I_Up;       
  Float_t     HIRA_Tower5_Reg_Up;       
  Float_t     HIRA_Tower5_TC_Up[5];   
  Float_t     I252IG_Up;


  TBranch      *b_Epics;                                //! Epics Branch.
  TBranch      *b_HIRA_Tower0_I;                        //!
  TBranch      *b_HIRA_Tower0_Reg;                      //!
  TBranch      *b_HIRA_Tower0_TC;                       //!
  TBranch      *b_HIRA_Tower1_I;                         //!
  TBranch      *b_HIRA_Tower1_Reg;                         //!
  TBranch      *b_HIRA_Tower1_TC;                         //!
  TBranch      *b_HIRA_Tower2_I;                         //!
  TBranch      *b_HIRA_Tower2_Reg;                         //!
  TBranch      *b_HIRA_Tower2_TC;                         //!
  TBranch      *b_HIRA_Tower3_I;                         //!
  TBranch      *b_HIRA_Tower3_Reg;                         //!
  TBranch      *b_HIRA_Tower3_TC;                         //!
  TBranch      *b_HIRA_Tower4_I;                         //!
  TBranch      *b_HIRA_Tower4_Reg;                         //!
  TBranch      *b_HIRA_Tower4_TC;                         //!
  TBranch      *b_HIRA_Tower5_I;                         //!
  TBranch      *b_HIRA_Tower5_Reg;                         //!
  TBranch      *b_HIRA_Tower5_TC;                     //!
  TBranch      *b_I252IG;                  //!

  TBranch      *b_HIRA_Tower0_I_Up;                         //!
  TBranch      *b_HIRA_Tower0_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower0_TC_Up;                         //!
  TBranch      *b_HIRA_Tower1_I_Up;                         //!
  TBranch      *b_HIRA_Tower1_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower1_TC_Up;                         //!
  TBranch      *b_HIRA_Tower2_I_Up;                         //!
  TBranch      *b_HIRA_Tower2_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower2_TC_Up;                         //!
  TBranch      *b_HIRA_Tower3_I_Up;                         //!
  TBranch      *b_HIRA_Tower3_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower3_TC_Up;                         //!
  TBranch      *b_HIRA_Tower4_I_Up;                         //!
  TBranch      *b_HIRA_Tower4_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower4_TC_Up;                         //!
  TBranch      *b_HIRA_Tower5_I_Up;                         //!
  TBranch      *b_HIRA_Tower5_Reg_Up;                         //!
  TBranch      *b_HIRA_Tower5_TC_Up;                     //!
  TBranch      *b_I252IG_Up;                  //!



  TTree        *fChain;                                //! Pointer to the analyzed TTree or TChain
  Int_t        fCurrent;                               //! Current Tree number in a TChain

 public:
  TEpics(): fName(), fTitle() {}
  ~TEpics() {}

  const Char_t  *GetName() const { return fName; }
  const Char_t  *GetTitle() const { return fTitle; }
  void           SetName(const Char_t *name);
  void           SetNameTitle(const Char_t *name, const Char_t *title);
  void           SetTitle(const Char_t *title=""); 

  void           Calculate();                          // Calculate quantities.
  void           Calibrate();                          // Calibrate detector.
  void           Clear(Option_t *option="");           //
  void           InitClass();                          //
  void           InitBranch(TTree *tree);              //
  void           InitTree(TTree *tree);                // Initialize the tree.
  UShort_t*      Unpack(UShort_t *pEvent);             // Unpack EPICS data from buffer.

  
  ClassDef(TEpics,1)                                   // Epics Class.
  
};

#endif

Last change: Tue Dec 16 22:01:05 2008
Last generated: 2008-12-16 22:01

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.