#ifndef STNTUPLE_TXftBlock #define STNTUPLE_TXftBlock //----------------------------------------------------------------------------- // definition of the XFT block // Author: Richard Hughes (CDF/Ohio State) // Date: April 19 2001 // #include "TClonesArray.h" #include #include #include #include class TXftBlock: public TStnDataBlock { friend Int_t StntupleInitXftBlock(TStnDataBlock* block, AbsEvent* event, int mode); public: //---------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- Int_t fNxftHits; TClonesArray* fXftHitList; Int_t fNxftPixels; TClonesArray* fXftPixelList; Int_t fNxftTracks; TClonesArray* fXftTrackList; Int_t fStorePixels; Int_t fStoreHits; Int_t fStoreTracks; //---------------------------------------------------------------------------- // functions //---------------------------------------------------------------------------- public: // ****** constructors and destructor TXftBlock(); virtual ~TXftBlock(); // ****** accessors Int_t storeHits () { return fStoreHits; } Int_t storePixels () { return fStorePixels; } Int_t storeTracks () { return fStoreTracks; } void SetStorePixels(Int_t use) { fStorePixels = use; } void SetStoreHits(Int_t use) { fStoreHits = use; } void SetStoreTracks(Int_t use) { fStoreTracks = use; } Int_t NxftHits () { return fNxftHits; } TClonesArray* XftHitList () { return fXftHitList; } TXftHit* XftHit(int i) { return (TXftHit*) fXftHitList->UncheckedAt(i); } TXftHit* NewXftHit(int prompt, int delayed, int sl, int abscell, int localcell, int crate, int board, int chip) { return new ((*fXftHitList)[fNxftHits++]) TXftHit(prompt,delayed,sl,abscell,localcell, crate,board,chip); } Int_t NxftPixels () { return fNxftPixels; } TClonesArray* XftPixelList () { return fXftPixelList; } TXftPixel* XftPixel(int i) { return (TXftPixel*) fXftPixelList->UncheckedAt(i); } TXftPixel* NewXftPixel(int sl, int abspix, int crate, int board, int chip, int localpix, int localcell) { return new ((*fXftPixelList)[fNxftPixels++]) TXftPixel(sl,abspix,crate,board, chip,localpix,localcell); } Int_t NxftTracks () { return fNxftTracks; } TClonesArray* XftTrackList () { return fXftTrackList; } TXftTrack* XftTrack(int i) { return (TXftTrack*) fXftTrackList->UncheckedAt(i); } TXftTrack* NewXftTrack(int ptbin, int miniphi, int shortbit, int isolationbit, int linkerchip, int linkerboard, int linkercrate, float absphi, float ptval) { return new ((*fXftTrackList)[fNxftTracks++]) TXftTrack(ptbin,miniphi,shortbit,isolationbit, linkerchip,linkerboard,linkercrate, absphi,ptval); } // ****** overloaded functions of // TObject void Clear(Option_t* opt=""); void Print(Option_t* opt="") const; ClassDef(TXftBlock,1) }; #endif