#ifndef __S800ROOTGLOBALS_H
#define __S800ROOTGLOBALS_H 1
#endif
#ifndef __TS800IONCHAMBER_H
#define __TS800IONCHAMBER_H


#ifndef  __S800PACKETS_H
#include "S800Packets.h"
#define  __S8000PACKETS_H
#endif
#ifndef  __S800DEFINE_H
#include "S800define.h"
#define  __S800DEFINE_H
#endif
#ifndef __ROOTDEFINE_H
#include "rootDefine.h"
#define __ROOTDEFINE_H
#endif

#include "TBranch.h"
#include "TObject.h"
#include <TRandom3.h>
#include "TString.h"
#include "TTree.h"

using namespace std;

// Forward class declarations
class TS800;


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TS800                                                                //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TS800IonChamber : public TObject{
 private:
  TRandom3     fRandom;                    //! The class's random number generator.

 public:
  TS800IonChamber *fCon;                          //!
  TS800           *parent;                        //! Parent S800 class.

  UShort_t      raw[TS800_FP_IC_CHANNELS];        //  Raw segment data.
  Double_t      cal[TS800_FP_IC_CHANNELS];        //  Calibrated segment data.
  Double_t      slope[TS800_FP_IC_CHANNELS];      //! Segment slope.
  Double_t      offset[TS800_FP_IC_CHANNELS];     //! Segment offset.
  Double_t      sum;                              //  Sum signal.
  Double_t      de;                               //  
  Double_t      de_slope;                         //!
  Double_t      de_offset;                        //!
  Double_t      IcX1Correction[4];                //!
  Double_t      IcY1Correction[4];                //!
  Double_t      IcX2Correction[4];                //!
  Double_t      IcY2Correction[4];                //!

  Double_t      fPIDShift;                        //!
  
  TString      name;                              //!
  
  TBranch      *b_raw;                            //!
  TBranch      *b_cal;                            //!
  TBranch      *b_sum;                            //!
  TBranch      *b_de;                             //!

  TTree        *fChain;                           //!
  Int_t        fCurrent;                               //! Current Tree number in a TChain
  
 public:
  TS800IonChamber() {fRandom.SetSeed(0);}
  virtual ~TS800IonChamber() {}
  TS800IonChamber(const TS800IonChamber &);       // The copy constructor.

  Int_t     Calculate(Long64_t entry);            //
  Int_t     Calibrate(Long64_t entry);            //
  void      Clear(Option_t *option="");           //
  void      Copy(TObject &ic) const;              // The copy method.
  void      GetEntry(Int_t i);                    //
  void      InitClass(TString iname,TS800 *itop); //
  void      InitTree(TTree *tree);                //
  UShort_t* Unpack(UShort_t *p);                  //

  
  ClassDef(TS800IonChamber,7)     // S800 FP Ion Chamber.
};

#endif

Last change: Sun Dec 21 12:38:56 2008
Last generated: 2008-12-21 12:38

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.