#ifndef __TTELE_H
#define __TTELE_H
#include <iostream>
#include <TROOT.h>
#include <TBranch.h>
#include <TTree.h>
#include <TObject.h>
#include <TRandom3.h>
#include <TVector3.h>
#ifndef __ROOTDEFINE_H
#include "rootDefine.h"
#define __ROOTDEFINE_H
#endif
#ifndef __THIRAASIC_H
#include "THiRAAsic.h"
#define __THIRAASIC_H
#endif
#ifndef __TDELTA_H
#include "TDelta.h"
#define __TDELTA_H
#endif
#ifndef __TFRONT_H
#include "TFront.h"
#define __TFRONT_H
#endif
#ifndef __TBACK_H
#include "TBack.h"
#define __TBACK_H
#endif
#ifndef __TCSI_H
#include "TCsI.h"
#define __TCSI_H
#endif
#ifndef __THIRAPIXEL_H
#include "THiRAPixel.h"
#define __THIRAPIXEL_H
#endif
class THiRA;
class TDelta;
class TFront;
class TBack;
class TCsI;
class THiRAPixel;
using namespace std;
class TTele : public TObject {
private:
TRandom3 fRandom;
protected:
TString fName;
TString fTitle;
Double_t fThicknessDE;
Double_t fDeadLayerDE;
Double_t fThicknessE;
Double_t fDeadLayerE;
static const Double_t fCoverThickness = 0.19;
static const Double_t fCsIMylarThickness = 0.19;
private:
Int_t teleNum;
Int_t teleID;
TString name;
public:
TTele *fCon;
THiRA *parent;
Int_t fHits;
TDelta DE;
TFront EF;
TBack EB;
TCsI CsI;
Double_t DE_Eslope[THIRA_SI_CHANNELS];
Double_t EF_Eslope[THIRA_SI_CHANNELS];
Double_t EB_Eslope[THIRA_SI_CHANNELS];
Double_t CsI_Eslope[THIRA_CSI_CHANNELS];
Double_t CsI_E2slope[THIRA_CSI_CHANNELS];
Double_t DE_Tslope[THIRA_SI_CHANNELS];
Double_t EF_Tslope[THIRA_SI_CHANNELS];
Double_t EB_Tslope[THIRA_SI_CHANNELS];
Double_t DE_Eoffset[THIRA_SI_CHANNELS];
Double_t EF_Eoffset[THIRA_SI_CHANNELS];
Double_t EB_Eoffset[THIRA_SI_CHANNELS];
Double_t CsI_Eoffset[THIRA_CSI_CHANNELS];
Double_t CsI_E2offset[THIRA_CSI_CHANNELS];
Double_t DE_Toffset[THIRA_SI_CHANNELS];
Double_t EF_Toffset[THIRA_SI_CHANNELS];
Double_t EB_Toffset[THIRA_SI_CHANNELS];
Double_t CsI_Vcoeff[THIRA_CSI_CHANNELS][5];
Double_t DE_Shift[THIRA_SI_CHANNELS][2][5];
Double_t EF_Shift[THIRA_SI_CHANNELS][2][5];
Double_t EB_Shift[THIRA_SI_CHANNELS][2][5];
TVector3 pixelMatrix[THIRA_SI_CHANNELS][THIRA_SI_CHANNELS];
TBranch *b_fHits;
TBranch *b_DE;
TBranch *b_EF;
TBranch *b_EB;
TBranch *b_CsI;
TTree *fChain;
TTree *fClone;
Int_t fCurrent;
public:
TTele(): fName(), fTitle() {fRandom.SetSeed(0);}
~TTele() {}
TTele(const TTele &);
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="");
Int_t Calibrate(Long64_t entry);
void Calculate();
void Clear(Option_t *option="");
void Copy(TObject &tele) const;
Int_t GetEntry(Long64_t entry=0,Int_t getall=0);
Int_t GetTeleID(){return teleID;}
const Double_t GetSiThickness(Char_t *type);
const Double_t GetSiDeadLayer(Char_t *type);
const Double_t GetSiCoverThickness(){return fCoverThickness;}
const Double_t GetCsIMylarThickness(){return fCsIMylarThickness;}
void InitChain(TTree *chain){fChain = chain;}
void InitClass(THiRA *top,TString iName,
Int_t iNum, Int_t idNum);
void InitClone(TTree *clone){fClone = clone;}
void InitTree(TTree *tree);
void SetBad(Int_t **strips);
void SetBad(Int_t *segments);
void SetSiThickness(Char_t *type,Double_t thickness);
void SetSiDeadLayer(Char_t *type,Double_t deadLayer);
ClassDef(TTele,11)
};
#endif
Last change: Sun Dec 21 12:39:00 2008
Last generated: 2008-12-21 12:39
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.