#ifndef __S800ROOTGLOBALS_H
#define __S800ROOTGLOBALS_H 1
#endif
#ifndef __TS800TPPAC_H
#define __TS800TPPAC_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;


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

 public:
  Bool_t       fInterpolate;              //! Use interpolation for badpads.
  Bool_t       fSatFlat;                  //! Flatten pad distribution for nonlinear region.

 public:
  TS800Tppac   *fCon;                     //!

  Short_t      channels;                  //!
  Short_t      tag;                       //!
  Short_t      maxwidth;                  //!
  Short_t      threshold;                 //!
  Short_t      sampleBegin;               //!
  Short_t      sampleWidth;               //!
  bool         debug;                     //!
  Int_t        filled;                    // 
  Short_t      *data;                     //  [filled]
  Short_t      *sample;                   //  [filled]
  Short_t      *channel;                  //  [filled]

 public:
  Float_t      xstrip[64];                //
  Float_t      ystrip[64];                //
  Short_t      badxstrips;                //!
  Short_t      badxstrip[20];             //!
  Short_t      badystrips;                //!
  Short_t      badystrip[20];             //!
  Float_t      x;                         //
  Float_t      y;                         //
  Float_t      xsum;                      //
  Float_t      ysum;                      //
  Int_t        xmult;                     //
  Int_t        ymult;                     //
  Float_t      width;                     //!
  Float_t      xcenter;                   //!
  Float_t      ycenter;                   //!

  TString      name;                      //!
		
  TBranch      *b_data;                   //!
  TBranch      *b_sample;                 //!
  TBranch      *b_channel;                //!
  TBranch      *b_filled;                 //!
  TBranch      *b_xstrip;                 //!
  TBranch      *b_ystrip;                 //!
  TBranch      *b_x;                      //!
  TBranch      *b_y;                      //!
  TBranch      *b_xsum;                   //!
  TBranch      *b_ysum;                   //!
  TBranch      *b_xmult;                  //!
  TBranch      *b_ymult;                  //!

  TTree        *fChain;                            //!
  Int_t         fCurrent;                          //! Current Tree number in a TChain

 private:

 public:
  TS800Tppac() {fRandom.SetSeed(0);}
  virtual ~TS800Tppac() {}
  TS800Tppac(const TS800Tppac &);                                  // The copy constructor.

  void      InitClass(TString iname);                              //
  void      InitTree(TTree *tree);                                 //
  Int_t     Calculate(Long64_t entry);                             //
  Int_t     Calibrate(Long64_t entry);                             //
  void      Clear(Option_t *option="");                            //
  void      Copy(TObject &tppac) const;                            // The copy method.
  void      GetEntry(Int_t i);                                     //
  void      setchannels(Short_t achannels) {channels = achannels;} //
  void      setdebug(Bool_t condition) {debug = condition;}        //
  void      settag(Short_t atag) {tag = atag;}                     //
  UShort_t* Unpack(UShort_t *p, Int_t ID);                         //
  UShort_t* Unpackrawdata(UShort_t *p, Int_t ID);                  //

  ClassDef(TS800Tppac,3)     // S800 Tracking PPAC.
};


#endif

Last change: Sun Dec 21 12:38:58 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.