#ifndef STNTUPLE_TStnSiIsect #define STNTUPLE_TStnSiIsect //----------------------------------------------------------------------------- // This is a definition of the intersection of a track with a silicon // half ladder. // These objects are contained in a TClonesArray in the // TSiIsectBlock. // If you are looping over tracks, then you can use the // correspondance object, TStnTrackLinkBlock, to get access to all // intersections for a given track. You also have immediate access // to all silicon hits for this track for comparison. // To get all the intersections with a certain halfladder, use the ... // // Author: Aaron Dominguez (CDF/LBNL) // Date: June 19 2001 //----------------------------------------------------------------------------- #include "TObject.h" #include "TVector3.h" #include "Stntuple/obj/TStnSiDigiCode.hh" #include "Stntuple/base/TBitset.hh" class TStnSiIsect: public TObject { public: //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ TVector3 fGlobal; // Position of intersection in global CDF coordinates TVector3 fDirection; // Direction of track at intersection point Float_t fStripNumPhi; // Position in intersection strip units Float_t fStripNumZ; // Position in intersection strip units Float_t fLocY; // Position in cm in local y-coordinate Float_t fLocZ; // Position in cm in local z-coordinate TStnSiDigiCode fDigiCode; // The (repacked) SiDigiCode of the detector element TBitset fActiveRegion; // Did the track pass thru the active // region(s) of the detector element? // Bit =1 -> Yes // --- ------------------------------ // 0 Phi area of side 0 // 1 Z area of side 0 // 2 Z area of side 1 // 4 Phi area of side 1 Int_t fCdfTrackId; //! The NON-STREAMED CdfTrack->id() for reference //------------------------------------------------------------------------------ // functions //------------------------------------------------------------------------------ // ****** constructors and destructor TStnSiIsect(); virtual ~TStnSiIsect(); // ****** accessors TVector3* Global() {return &fGlobal;} TVector3* Direction() {return &fDirection;} Float_t StripNumPhi() {return fStripNumPhi;} Float_t StripNumZ() {return fStripNumZ;} Float_t LocY() {return fLocY;} Float_t LocZ() {return fLocZ;} TStnSiDigiCode* DigiCode() {return &fDigiCode;} TBitset* ActiveRegion() {return &fActiveRegion;} void Print(Option_t* option = "") const; ClassDef(TStnSiIsect,4) }; #endif