BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrDigitizeTPC


class description - source file - inheritance tree

class BrDigitizeTPC : public BrModule


    public:
BrDigitizeTPC BrDigitizeTPC() BrDigitizeTPC BrDigitizeTPC(const Char_t* Name, const Char_t* Title) BrDigitizeTPC BrDigitizeTPC(BrDigitizeTPC&) virtual void ~BrDigitizeTPC() static TClass* Class() virtual void DefineHistograms() void DrawGeantHits() virtual void Event(BrEventNode* InputTable, BrEventNode* OutputTable) Float_t GetAbsorp() const Float_t GetAdcCut() const Float_t GetDedxToNeff() const BrDetectorParamsTPC* GetDetectorParamsTPC() BrDetectorVolume* GetDetectorVolume() const Int_t GetMinNbins() const Float_t GetN0_pad_to_tot() const Float_t GetNoise() const Float_t GetTauScale() const Float_t GetTshift() const Bool_t GetUseGongTimeResp() const Bool_t GetUseHyperbolic() const virtual void Init() virtual TClass* IsA() const void ListDetectorParameters() virtual void ListEventStatistics() void SetAbsorp(Float_t value) void SetAdcCut(Float_t value) void SetDedxToNeff(Float_t value) void SetMinNbins(Int_t value) void SetN0_pad_to_tot(Float_t value) void SetNoise(Float_t value) void SetTauScale(Float_t value) void SetTshift(Float_t value) void SetUseGongTimeResp(Bool_t value) void SetUseHyperbolic(Bool_t value) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TH1F* hNGeantHits number of Geant hits per event TH1F* hNSequences number of TPC sequences per event TH1F* hNTimebins number of timebins per sequence TH1F* hAdcDist ADC distribution TH1F* hAdcSumDist ADC sum distribution, per sequence TH1F* hN0Dist number of electrons per cluster TH1F* hSigmaTDist distribution of transverse cluster widths TH1F* hSigmaLDist distribution of longitudinal cluster widths TH1F* hSigmaLTotDist distribution of longitudinal cluster widths TH1F* hSigmaTRes distribution of transverse "residual" TH1F* hSigmaLRes distribution of longitudinal "residual" TH1F* hPadCentroid distribution of pad centroids TH1F* hSequenceCentroid distribution of sequence centroids TH1F* hSequenceCentroidDecimal distribution of sequence centroids TH1F* hYmiss difference in time between cluster and sequence TH1F* hXDistToHit difference in X between hit and pad centroid TH1F* hYDistToHit difference in Y between hit and time centroid TProfile* hPadShape profile of cluster, in pad direction TProfile* hShapeResp shaper response TH2F* hTimeCluster2D time shape of original cluster TH2F* hTimeShape2D time shape of folded cluster TH2F* hPadShape2D time shape of pad TProfile* hSequenceShape profile of sequence, in timebins TH2F* hSequenceShapeY2D profile of sequence vs driftlength TH2F* hSequenceShapeYsl2D profile of sequence vs driftlength TProfile* hSigmaTVsY transverse cluster width vs drift length TProfile* hSigmaTVsXsl transverse cluster width vs X slope TProfile* hSigmaLVsY longitudinal cluster width vs drift length TProfile* hSigmaLTotVsY shaped longitudinal cluster width vs driftlength TH2F* hSigmaLTotVsY2D 2D hist of longitudinal cluster width vs driftlength TProfile* hSigmaLTotVsYsl shaped longitudinal cluster width vs Y slope TH2F* hSigmaLTotVsYsl2D 2D hist of longitudinal cluster width vs Y slope TProfile* hSigmaTResVsY transverse "residual" vs Y TProfile* hSigmaLResVsY longitudinal "residual" vs Y TProfile* hSigmaTResVsXsl transverse "residual" vs Xslope TProfile* hSigmaLResVsYsl longitudinal "residual" vs Yslope TProfile* hSigmaTResVsN0 trans res vs cluster charge TProfile* hSigmaLResVsN0 long res vs cluster charge BrDetectorParamsTPC* fParams_p BrDetectorVolume* fVolumeParams_p DetectorVolume BrDataTable* fGeantHits ! geanthits used for Display purposes Int_t fNumDigHits BrDetectorTPC* fDetectorNode Float_t fAdcCut cut value in accepting a time bin adc-value Float_t fNoise noise added following digitization Int_t fNpads Number of pads. Set in Init() from BrDetectorParamsTPC Int_t fNbuckets Number of Time buckets. Set in Init() from BrDetectorParamsTPC Float_t fDedxTon0 Conversion of dedx to effective number of electron clusters Bool_t fUseGongTimeResp use realistic time response Bool_t fUseHyperbolic use hyperbolic pad response Float_t fTauScale use if fUseGongTimeResp set to kTRUE Float_t fTshift use if fUseGongTimeResp set to kTRUE Float_t fN0_pad_to_tot ratio of tot.no.e- / e- per pad Float_t fAbsorp absorption in the gas Int_t fMinNbins Minimum number of bins in sequence Float_t** fAdcVal ! internal storage of 2D array. Float_t* fDiffused_array Float_t* fShaped_array Float_t* fFinal_array Float_t* fShaper_lookup_array

Class Description

 The BRDigitize TPC is the digitization module for the
 pad TPC's. The module performs a slow digitization using the
 geant hit information. The output is in tables of the BrTPCsequence
 i.e. a structure that very closely resembles the output from the
 TPC front ends.

 The Detector geometry comes from two sources
 BrDetectorVolume which is set using the BrGeometryDbManager
 and from the BrDetectorParamsTPC

 The method has the standard Module entry points implemented

 Init()
 Event()
 DefineHistograms() (called from Book()

 Note Init() must be called explicitely (Nov 2000). It has been removed from the
 constructor.

 December 1999
  The conversion between intrincis (Geant coordinates) and Pad Time
  etc are now done through a set of BrDetectorParamsTPC methods. This
  hides all explicit references to geometry in this code, and makes it much
  more aminable to introduction of dabatbase calls.

 January 2000
  Modifications made to deal with dynamic allocation of adc value rather than fixed
  size. A compile flag DYNAMIC is used to enable this feature.

  All direct references to intrinsic to pad,bucket now removed. All is
  converted through calls to BrDetectorParamsTPC methods.
  Note that the drift now goes towards positive Y values (up), and that
  the pads are counted from the postive X towards lower values.

  August 2000
  The non dynamic code is scheduled to be removed soon


BrDigitizeTPC()
 Default Constructor. Should only be used by ROOT internal. Use
 BrDigitize(Title,name) instead.

BrDigitizeTPC(const Char_t *Name, const Char_t *Title) : BrModule(Name, Title)
  Constructor to call from user code.


void ListDetectorParameters()
 List the current value of the digitization parameters on
 standard out.

ListEventStatistics()

~BrDigitizeTPC()

void Init()
 The init member function/method is used. Intended to be used for setting
 up internals that cannot be done at the time of module construction or
 after parameters has been modified.
 Job-level initialisation

void DefineHistograms()
 Book histograms (called from BrModule::Book)


void Event(BrEventNode* InputTable, BrEventNode* OutputTable)
 Event method to be called once per event.
 This performes the actual slow simulation of the hits on the TPC.




 The code has been changed (Feb 99) to be able to create sequences of
 TPC data. The algorithm does not complete mimic the one presently
 implemented in the
 readout board. The conditions to create an adc cluster is
 - #consequtive bins with AdcValue above fAdcCut must be two
 - once a single bins goes below the cut the sequence is generated.
   This later condition is strciter than the readoutboard which requires
   2 (3?) bins below the cut.


void DrawGeantHits()




Inline Functions


        BrDetectorParamsTPC* GetDetectorParamsTPC()
           BrDetectorVolume* GetDetectorVolume() const
                        void SetNoise(Float_t value)
                     Float_t GetNoise() const
                        void SetAdcCut(Float_t value)
                     Float_t GetAdcCut() const
                        void SetDedxToNeff(Float_t value)
                     Float_t GetDedxToNeff() const
                        void SetUseGongTimeResp(Bool_t value)
                      Bool_t GetUseGongTimeResp() const
                        void SetUseHyperbolic(Bool_t value)
                      Bool_t GetUseHyperbolic() const
                        void SetTauScale(Float_t value)
                     Float_t GetTauScale() const
                        void SetTshift(Float_t value)
                     Float_t GetTshift() const
                        void SetN0_pad_to_tot(Float_t value)
                     Float_t GetN0_pad_to_tot() const
                        void SetAbsorp(Float_t value)
                     Float_t GetAbsorp() const
                        void SetMinNbins(Int_t value)
                       Int_t GetMinNbins() const
                     TClass* Class()
                     TClass* IsA() const
                        void ShowMembers(TMemberInspector& insp, char* parent)
                        void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
               BrDigitizeTPC BrDigitizeTPC(BrDigitizeTPC&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2001/11/13 21:11:24 $ by trulsml $

Validate HTML
Validate CSS