#ifndef STNTUPLE_TSiGeantIsectBlock #define STNTUPLE_TSiGeantIsectBlock //----------------------------------------------------------------------------- // This is a pared down version of PropagatedSiParticleColl. It is just a // TClonesArray of TStnSiGeantIsect objects. // // // Author: Aaron Dominguez (CDF/LBNL) // Date: June 6 2001 //----------------------------------------------------------------------------- #include "Stntuple/obj/TStnDataBlock.hh" #include "Stntuple/obj/TStnSiGeantIsect.hh" #include "Stntuple/obj/TStnSiDigiCode.hh" #include "Stntuple/obj/TStnLinkBlock.hh" #include "TClonesArray.h" #include "TArrayI.h" #include class TSiGeantIsectBlock: public TStnDataBlock { friend Int_t StntupleInitSiGeantIsectBlock(TStnDataBlock* block, AbsEvent* event, int mode); public: //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ Int_t fNSiGeantIsect; // Total number of // Geant intersections. TClonesArray* fSiGeantIsectList; // Flat array of // intersections in // blocks of same OBSP. TStnLinkBlock fIsectLinkObsp; // Link from OBSP // number to // intersections. //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: // ****** constructors and destructor TSiGeantIsectBlock(); virtual ~TSiGeantIsectBlock(); // ****** init methods Int_t InitEvent(Int_t flag=0); // ****** accessors Int_t NSiGeantIsect () { return fNSiGeantIsect; } TClonesArray* SiGeantIsectList() { return fSiGeantIsectList; } TStnSiGeantIsect* SiGeantIsect(int i) const { return (TStnSiGeantIsect*) fSiGeantIsectList->UncheckedAt(i); } TStnLinkBlock* IsectLinkObsp() {return &fIsectLinkObsp;} // ****** modifiers TStnSiGeantIsect* NewSiGeantIsect() { return new ((*fSiGeantIsectList)[fNSiGeantIsect++]) TStnSiGeantIsect(); } // ****** overloaded methods of // TObject void Clear(Option_t* opt=""); #ifndef NO_ROOT_CONST void Print(Option_t* opt="") const; #else void Print(Option_t* opt="") ; #endif ClassDef(TSiGeantIsectBlock,3) }; #endif