#ifndef Stntuple_obj_TStnTrackLinkBlock_hh #define Stntuple_obj_TStnTrackLinkBlock_hh //----------------------------------------------------------------------------- // definition of the STNTUPLE Track link block // Authors: Aaron Dominguez (LBNL/CDF) // Date: Apr 20, 2001 // // This has simple array of integers to link tracks to their // associated hits. This must be filled AFTER both the TStnTrackBlock // and TSvxDataBlock are both filled. Eg, in StntupleMakerModule::event(). // // Jue 19, 2001: Added links from tracks to TSiIsectBlock. This gives // you access to intersections on silicon halfladders // for a given track. Now must be filled after // TSiIsectBlock is made as well (if you requested it) //----------------------------------------------------------------------------- #include "Stntuple/obj/TStnDataBlock.hh" #include "Stntuple/obj/TStnLinkBlock.hh" class TStnTrackLinkBlock: public TStnDataBlock { friend Int_t StntupleTrackLinkBlockLinks(TStnDataBlock* , AbsEvent* , int); friend Int_t StntupleSiIsectBlockLinks(TStnDataBlock* , AbsEvent* , int); public: //----------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- TStnLinkBlock fSiHitLinkTrk; // # links to hits in the silicon TStnLinkBlock fSiIsectLinkTrk; // # links to track intersections in the silicon //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: // ****** constructors and destructor TStnTrackLinkBlock(); virtual ~TStnTrackLinkBlock(); // ****** accessors TStnLinkBlock* SiHitLinkTrk() { return &fSiHitLinkTrk; } TStnLinkBlock* SiIsectLinkTrk() { return &fSiIsectLinkTrk; } // ****** setters // ****** overloaded functions 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(TStnTrackLinkBlock,1) }; #endif