BrLocalTrackTPC
class description - source file - inheritance tree
private:
void CopyTrahit(BrLocalTrack* OldTr, BrLocalTrack* NewTr, Int_t Imod)
void FillHitCMBSelectorr(BrLocalTrack* loctra, BrDataTable* HitCMBSel)
void FitLocalTPCTrack(BrLocalTrack* loctraa, Float_t* sol, Float_t* covar, Float_t* chisq, Int_t* ifail)
void GetClusTPCMod(Int_t irow, Int_t stat, BrDataTable* TPCCluster, BrDataTable* ClusTPCMod)
void GetDigTPCMod(Int_t irow, Int_t padno, Int_t time, BrDataTable* DigitizedTPC, BrDataTable* DigTPCMod)
Int_t GetFreeCluster()
Int_t GetMaxPixel(BrTPCCluster* cluster_ID, Int_t* ixm, Int_t* iym)
void InitCluster()
void ScanMultiHitClusters(BrDataTable* DigitizedTPC, BrDataTable* TPCCluster)
void TPCClusterToHitCMB(BrDataTable* TPCCluster)
void TPCPadCluster(BrEventNode* InputTable)
void TPCPadFindHit(BrDataTable* HitCMBMod, Int_t irow, Float_t* proj, Float_t dx, Float_t dy, Int_t* ncand, Int_t maxcandd, Int_t* iclist)
Int_t TPCPadRecon(BrDataTable* HitCMBMod, Int_t istart, Int_t ilast, Int_t idir, Int_t maxmiss, Float_t dx, Float_t dy)
Int_t TPCPadTrack(Int_t idet, Int_t maxmiss, Float_t dx, Float_t dy)
public:
BrLocalTrackTPC BrLocalTrackTPC(Char_t* Name, Char_t* Title)
BrLocalTrackTPC BrLocalTrackTPC()
BrLocalTrackTPC BrLocalTrackTPC(BrLocalTrackTPC&)
void ~BrLocalTrackTPC()
TClass* Class()
virtual void Event(BrEventNode* InputTable, BrEventNode* OutputTable)
BrDetectorParamsTPC* GetDetectorParamsTPC()
BrDetectorVolume* GetDetectorVolume()
virtual TClass* IsA()
void ListDetectorParameters()
void SetDetectorParamsTPC(BrDetectorParamsTPC* par)
void SetDetectorParamsTPC(BrDetectorParamsTPC& par)
void SetDetectorVolume(BrDetectorVolume* vol)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
private:
BrDetectorParamsTPC* fParams_p
BrDetectorVolume* fVolume_p
TH1F* h_TPCpsig
TH1F* h_TPCtsig
TH2F* h_TPCpsig_tsig
BrLocalTrackTPC:: cluster[200]
BrLocalTrackTPC:: pixels[196][160]
The BrLocalTrackTPC class provides an interface to the BRAHMS TPC
Local Tracking
BrLocalTrackTPC():BrLocalTrackModule()
Default Constructor.
BrLocalTrackTPC(Text_t *Name,Char_t *Title)
:BrLocalTrackModule(Name,Title)
~BrLocalTrackTPC()
Is there a problem with the fact the the fParams_p can point to different kinds
of datastructures i.e. potential memory leak. probably yes since fParams_p is
defined as BrDetectorParams nor BrDetectorParamsTPC.
By second thought it is probably ok. As long as all parameters are defined/set
Using the SetDetectorParamsTPC / DC /BB etc..
void SetDetectorParamsTPC(BrDetectorParamsTPC* par)
Set the TPC parameters with the values of the external parameters
referenced by pointer
Note that no owner ship is transferred. A copy is made.
void SetDetectorParamsTPC(const BrDetectorParamsTPC& par)
Set the TPC parameters with the values of the external parameters.
Note that no owner ship is transferred. A copy is made.
There is no real need for the copy code here. Both Name and Title
will be copied (it seems)
void ListDetectorParameters()
List the current value of the digitization parameters on
standard out.
void Event(BrEventNode* InputTable,BrEventNode* OutputTable)
The routine that is executed event by event.
First local tables are cleared, then the different subroutines are executed
The data path is:
TPCPadCluster:
Get DigitizedTPC from the Input Table
DigitizedTPC table has a list of BrDigTPC
Generate TPCCluster intermediate table with entries of BrTPCClusters
From that information, generate list of CombinedHits
TPCPadTrack
Take CombinedHits and generate LocalTracks in TPCPadRecon
Use LocalTracks to generate VirtualTracks
FillLocalTracks:
Use VirtualTracks generated to minimize on chisq and get list of detector tracks
Int_t TPCPadTrack(Int_t idet,Int_t maxmiss,Float_t dx,Float_t dy)
This routine calls TPCPadRecon in a loop over the number of pads a track is
allowed to miss before throwing away
Then virtual tracks are filled.
Then loop over the number of local tracks previously found, generating
the chisqr
Local tables needed:
CombinedHits
void FitLocalTPCTrack(BrLocalTrack* loctraa,Float_t *sol,Float_t *covar,Float_t *chisq,Int_t *ifail)
FitLocalTPCTrack takes the input Local Track, extracts the combined hits that
make up this track and does a fit to get a chisqr
Input arguments:
BrLocalTrack *loctraa : the local track to be fit
Output arguments:
Float_t *sol : output parameters from the fit
Float_t *covar : covar
Input tables:
None
Output tables:
None
Int_t TPCPadRecon(BrDataTable *HitCMBMod,Int_t istart,Int_t ilast,Int_t idir,Int_t maxmiss,Float_t dx,Float_t dy)
Routine to generate trackhits.
First loop over combined hits selected on istart
Generate local tracks
Loop over local tracks
Input parameters
BrDataTable *HitCMBMod
Int_t istart
Int_t ilast
Int_t idir
Int_t maxmiss : Max number of pads that can be missed before throwing away
Float_t dx
Float_t dy
void TPCPadFindHit(BrDataTable *HitCMBMod,Int_t irow,Float_t *proj,Float_t dx,Float_t dy,Int_t *ncand,Int_t maxcandd,Int_t *iclist)
This routine selects CombinedHits on irow
Loop over selected CombinedHits and take the ones in the list
where (projx - dx < hitcmb_x < projx + dx) and (projy - dy < hitcmb_y < projy + dy)
Input Arguments:
BrDataTable *HitCMBMod : Data table to hold CombinedHits selected on padrow
Int_t irow : the padrow of the TPC
Float_t *proj :
Float_t dx : x-spacing to be accepted as a hit
Float_t dy : y-spacing to be accepted as a hit
Int_t iclist: list of hitcmb's found
Int_t ncand: number of hitcmb's found
void TPCPadCluster(BrEventNode* InputTable)
Input Table
DigitizedTPC : from calling routine
Intermediate Table
TPCCluster : has entries of BrTPCCluster to be used in ScanMultiHitClusters
Int_t GetFreeCluster()
void InitCluster()
void ScanMultiHitClusters(BrDataTable* DigitizedTPC,BrDataTable* TPCCluster)
Int_t GetMaxPixel(BrTPCCluster* cluster_ID,Int_t *ixm,Int_t *iym)
void TPCClusterToHitCMB(BrDataTable* TPCCluster)
Generate BrCombinedHit elements from information in TPCCluster
void GetDigTPCMod(Int_t irow,Int_t padno,Int_t time,BrDataTable* DigTPC,BrDataTable* DigTPCMod)
Generate a list of BrDigTPC elements out of DigTPC table selected on irow, padno and time
void GetClusTPCMod(Int_t irow,Int_t stat,BrDataTable *TPCCluster,BrDataTable *ClusTPCMod)
Get a list of BrTPCCluster elements out of TPCCluster table selected on irow and stat
void FillHitCMBSelectorr( BrLocalTrack* loctra,BrDataTable *HitCMBSel)
void CopyTrahit(BrLocalTrack* OldTr,BrLocalTrack* NewTr,Int_t Imod)
Loop over TrackHits and select BrTrackHit entries Whose TrID matches OldTr
If Imod of that BrTrackHit also matches the input parameter:
1. Get the combined hit associated with that BrTrackHit
2. Set its status to appropriate value
3. Make a new BrTrackHit and add to TrackHits
4. Add this BrTrackHit to NewTr
Arguments:
BrLocalTrack *OldTr :
BrLocalTrack *NewTr :
Int_t Imod :
Input table
TrackHits (modified in this routine)
Inline Functions
BrDetectorParamsTPC* GetDetectorParamsTPC()
BrDetectorVolume* GetDetectorVolume()
void SetDetectorVolume(BrDetectorVolume* vol)
TClass* Class()
TClass* IsA()
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
BrLocalTrackTPC BrLocalTrackTPC(BrLocalTrackTPC&)
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.