|
BrMrsTrackingModuleclass description - source file - inheritance tree class BrMrsTrackingModule : public BrModuleprivate: Data Membersprivate: Class DescriptionBrMrsTrackingModule Tracking module for the MRS. The module will setup the module that combines the local tracks found front and after the D5 magnet. Requires: BrDetectorTracks Table in inputnode of the two tracking TPS TPM1 and TPM2. Note that this new version always get the fields from the database Please use it being aware of this. This may be a real issue when running simulated data - but someone will discover this one day - be forwarned. (fv) BrMrsTrackingModule() // default constructor BrMrsTrackingModule(const Char_t* Name, const Char_t* Title) : BrModule(Name, Title) Normal constructor. This Name & title is informational. ~BrMrsTrackingModule() // default destructor void Init() Clear datastructures request geometry information using the GeometryDbManager. void DefineHistograms() define histograms for modules owned by this 'super module' void SetMagnetField() ---------------------------------------------------- get field information from database update info each time a field is needed (event loop) ---------------------------------------------------- void Begin() Set magnet field and pick up the platform angle this is done at begin time since one might scan sequences from diff. runs with diff. settings (maybe not a good thing to do) void Event(BrEventNode* InputNode, BrEventNode* OutputNode) Normal Event member function for MRS tracking Requires: Two instances of BrDataTable named "DetectorTrack TPM1" and "DetectorTrack TPM2" in either InputNode or OutputNode. These tables have to be filled with instances of BrDetectorTrack from their respective TPCs. Result: BrDataTable "MrsTracks" added to outputnode. The elements of this table are BrMrsTrack. The module has the following steps: a) Combine Front (TPM1) and Back (TPM2) tracks b) Track combined tracks back to nominal vertex c) Check goodness of tracks and perform cleanup of ghost tracks, i.e. cases where the same track are used several times. The tracks are not removed but are marked as 'ghosts'. d) Add tracks to OutputNode (good tracks and potential ghosts if requested). void Finish() Finisn entry method Call combine module finish void TrackToVertex(BrDataTable* tab) This routine will loop over all tracks found using their position in T1 as a starting point for backward tracking. The target Tx ,Ty and Tz are in the IP coordinate system ie at x = 0 Calculate scattering angles from vertex and position in tpm1. This should be considered a first approximation for vertex , and particle theta, phi. It should be redone when checked against vertex positions determined by the vertex modules. It also calculate the partial tracklength from the vertex to TPM1 position. The vertex assumed is that of each individual track not any global vertexing; this should be done later. Some diagnostics plots are also filled. The front back tracks are added to table at this point. void TrackToBbVertex(BrDataTable* tab, BrBbVertex* bbVtx) protected create plane centered on Z0 and normal to TPM1 front plane in global coord.!! (fv) Why! The relevant resolution of the BbVertex is along the Z axis so differences should be measured along this axis. On the normal plane the resolution goes as sigma(z)/sin(mrsangle) Float_t PartialPath(BrMrsTrack* track) Projects to tofw and calculate the length from the track position in TPM1 to the time of flight detector. If the track does not point within any panel A slatNo of 0 isassigned and the position is undefined. Inline FunctionsBrModuleMatchTrack* GetCombineModule() void SetUseDb(Bool_t usedDb = kTRUE) TClass* Class() TClass* IsA() const void ShowMembers(TMemberInspector& insp, char* parent) void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) BrMrsTrackingModule BrMrsTrackingModule(BrMrsTrackingModule&) |
||||||
This page automatically generated by script docBrat by Christian Holm |
Copyright ; 2002 BRAHMS Collaboration
<brahmlib@rcf.rhic.bnl.gov>
|