Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

TGrDetector Class Reference

#include <TGrDetector.h>

Inheritance diagram for TGrDetector:

[legend]
Collaboration diagram for TGrDetector:
[legend]
List of all members.

Detailed Description

Gamma-ray detector base-class.

This class is the detector base-class. This contains most of the functionality that is used by the other gamma-ray detector classes.

Author:
JEP.
Version:
1.2.
Date:
April 2004.

Definition at line 19 of file TGrDetector.h.

Public Member Functions

 TGrDetector (const Char_t *="", UInt_t=1)
 TGrDetector (const TGrDetector &)
virtual ~TGrDetector ()
TGrDetectoroperator= (const TGrDetector &)
virtual void Clear (const Char_t *="")
virtual void Print (const Char_t *="") const
virtual void PrintData () const
virtual void SetSignals (const TSubEvent &)
virtual void Calibrate ()
virtual Bool_t PlotEnergies (TH2F *=0, const TCutG *=0, Bool_t=1) const
Bool_t PlotChannels (TH1F *=0, Int_t=0, Int_t=0, Bool_t=1) const
void SetCalibration (const Char_t *=0)
void SetDatabase (const Char_t *)
virtual const Char_t * GetName () const
virtual Bool_t PlotTimes (TH2F *=0, const TCutG *=0, Bool_t=1) const
virtual Bool_t PlotEvT (TH2F *=0, Float_t=0, const TCutG *=0, Bool_t=1) const
virtual void FindHits (vector< THit > *) const
Float_t GetMaxEnergy () const
void SetName (const Char_t *)
void SetChannels (UInt_t)
void SetCoordinates (Float_t, Float_t, Float_t)
UInt_t GetChannels () const
const TVector3 & GetCoordinates () const
const vector< const TDataItem<
Float_t > * > & 
GetEnergies () const
const vector< const TDataItem<
Float_t > * > & 
GetTimes () const
void Hit (Bool_t)
Bool_t IsHit () const
Bool_t IsName (const Char_t *) const

Protected Attributes

vector< const TDataItem< UShort_t > * > fAdcs
vector< const TDataItem< UShort_t > * > fLeTdcs
vector< const TDataItem< UShort_t > * > fCfTdcs
TGrCalibration fCalib
vector< const TDataItem< Float_t > * > fEnergies
vector< const TDataItem< Float_t > * > fTimes
TVector3 fCoordinates
Bool_t fHit


Constructor & Destructor Documentation

TGrDetector const Char_t *  name = "",
UInt_t  channels = 1
 

Default constructor. Reserves space for channels worth of hits for the energy, time, ADC, leading-edge TDC, constant-fraction TDC vectors. By default, TGrDetector::SetCalibration() will use name to try and find a MySQL calibration table with a matching name.

Parameters:
[in] name The name of the detector e.g. BGO12.
[in] channels The number of channels the detector has e.g. 1.

Definition at line 23 of file TGrDetector.cxx.

References fAdcs, fCfTdcs, and fLeTdcs.

TGrDetector const TGrDetector rhs  ) 
 

Copy constructor. Need this because we have pointers in the member list.

Parameters:
[in] rhs The object being copied.

Definition at line 40 of file TGrDetector.cxx.

References fAdcs, fCalib, fCfTdcs, and fLeTdcs.

~TGrDetector  )  [virtual]
 

Default destructor.

Definition at line 52 of file TGrDetector.cxx.


Member Function Documentation

TGrDetector & operator= const TGrDetector rhs  ) 
 

Assignment operator overload. This is needed as some of the DragonRoot classes deal with pointers.

Parameters:
[in] rhs The TGrDetector to be copied.
Returns:
The this pointer.

Definition at line 58 of file TGrDetector.cxx.

References fAdcs, fCalib, fCfTdcs, fLeTdcs, and TDetector::operator=().

Here is the call graph for this function:

void Clear const Char_t *  option = ""  )  [virtual]
 

Clears the detector of all data. Note that this does not delete any of the vector data, just clears the pointers. Deleting the data is taken care of by TDragonEvent.

Parameters:
[in] option The option is currently unimplemented.

Reimplemented from TDetector.

Definition at line 75 of file TGrDetector.cxx.

References TDetector::Clear(), fAdcs, fCfTdcs, and fLeTdcs.

Here is the call graph for this function:

void Print const Char_t *  option = ""  )  const [virtual]
 

Print all the information held in this class. Use PrintData() if you want to print out the data held in this class.

Parameters:
[in] option If the option is 'a' then PrintData is called automatically and the ADC, TDC, energy and time data are also printed.

Reimplemented from TDetector.

Reimplemented in TBgoDetector.

Definition at line 88 of file TGrDetector.cxx.

References fCalib, TGrCalibration::Print(), TDetector::Print(), and PrintData().

Here is the call graph for this function:

void PrintData  )  const [virtual]
 

Prints just the vector data held in the class.

Implements TDetector.

Definition at line 102 of file TGrDetector.cxx.

References fAdcs, fCfTdcs, fLeTdcs, and TGrCalibration::Print().

Here is the call graph for this function:

void SetSignals const TSubEvent subEvent  )  [virtual]
 

Sets the signals in the relevant vectors. This is implemented on a per detector basis.

Parameters:
[in] subEvent The subevent containing ADC and TDC data from the hardware.
Note:
The detector does not own the data set here, it must be deleted elsewhere.

Reimplemented in TBgoDetector.

Definition at line 124 of file TGrDetector.cxx.

void Calibrate  )  [virtual]
 

Calibrates the data held in the vectors set by SetSignals(). This should be called before a call to FindHits() is called.

Implements TDetector.

Definition at line 135 of file TGrDetector.cxx.

References TCalibration::Calibrate(), fAdcs, fCalib, fCfTdcs, fLeTdcs, TGrCalibration::GetAdc(), TGrCalibration::GetCfTdc(), and TGrCalibration::GetLeTdc().

Here is the call graph for this function:

Bool_t PlotEnergies TH2F *  hist = 0,
const TCutG *  cut = 0,
Bool_t  option = 1
const [virtual]
 

Plots the calibrated ADC data (energies) in a histogram. The channel plotted is the histogram-mapped channel so that more than one detector can be plotted on one histogram.

Parameters:
[in] hist The histogram to plot in.
[in] cut The cut to use.
[in] option Whether or not the hit should be plotted if outside the cut. Set true if the hit is not in the cut and you still want to plot it in the histogram hist. Default is true.
Returns:
True if any hits are in the cut, false otherwise.

Reimplemented from TDetector.

Definition at line 146 of file TGrDetector.cxx.

References fCalib, TGrCalibration::GetAdc(), and TCalibration::GetHistogramMap().

Here is the call graph for this function:

Bool_t PlotChannels TH1F *  hist = 0,
Int_t  lower = 0,
Int_t  upper = 0,
Bool_t  option = 1
const
 

Plots which ADC channels fired in the detector in histogram hist. A cut can be placed for the lower and upper bounds (inclusive) for the plotting.

Parameters:
[in] hist The histogram to plot in.
[in] lower The lower cut boundary.
[in] upper The upper cut boundary.
[in] option Whether or not the hit should be plotted if outside the cut. Set true if the hit is not in the cut and you still want to plot it in the histogram hist. Default is true.
Returns:
True if any hits are in the cut, false otherwise.

Definition at line 171 of file TGrDetector.cxx.

References fCalib, TGrCalibration::GetAdc(), and TCalibration::GetHistogramMap().

Here is the call graph for this function:

void SetCalibration const Char_t *  detectorName = 0  )  [inline]
 

Instructs the TGrCalibration to get its information from the database. If no name is given, simply the detector name is used. This method enables the calibration to be changed by just using a different table name. For example, for default:

      TBgoDetector *bgo = new TBgoDetector("BGO12", 1);
      bgo->SetCalibration();
      bgo->Print();
Or, using the calibration table for a different BGO:
      TBgoDetector *bgo = new TBgoDetector("BGO12", 1);
      bgo->SetCalibration("BGO13");
      bgo->Print();
Parameters:
[in] detectorName The name of the detector in the database.

Definition at line 57 of file TGrDetector.h.

References fCalib, TGrCalibration::FindCalibration(), and TDetector::GetName().

Here is the call graph for this function:

void SetDatabase const Char_t *  database  )  [inline]
 

Set the database from where the calibration data is accessed. Just a wrapper to the correct TGrCalibration call.

Parameters:
[in] database The name of the database, for example "mysql://localhost:3306/dragon".

Definition at line 80 of file TGrDetector.h.

References fCalib, and TGrCalibration::SetDatabase().

Here is the call graph for this function:

const Char_t * GetName  )  const [inline, virtual, inherited]
 

Get the detector name.

Returns:
The detector name as a character string.

Definition at line 113 of file TDetector.h.

References TDetector::fName.

Bool_t PlotTimes TH2F *  hist = 0,
const TCutG *  cut = 0,
Bool_t  option = 1
const [virtual, inherited]
 

Plots the calibrated TDC signals (times) in a histogram. The channel plotted is the histogram-mapped channel so that more than one detector can be plotted on one histogram.

Parameters:
[in] hist The histogram to plot in.
[in] cut The cut to use.
[in] option Whether or not the hit should be plotted if outside the cut. Set true if the hit is not in the cut and you still want to plot it in the histogram hist. Default is true.
Returns:
True if any hits are in the cut, false otherwise.

Reimplemented in THiDetector.

Definition at line 144 of file TDetector.cxx.

Bool_t PlotEvT TH2F *  hist = 0,
Float_t  time = 0,
const TCutG *  cut = 0,
Bool_t  option = 1
const [virtual, inherited]
 

Plot energy versus time for a gamma-ray detector. The given time value can be an RF or TAC time for example. If there is more than one energy signal present the time is plotted against each.

Parameters:
[in] hist The histogram to plot in.
[in] time The time value to plot.
[in] cut The cut to use.
[in] option Whether or not the hit should be plotted if outside the cut. Set true if the hit is not in the cut and you still want to plot it in the histogram hist. Default is true.
Returns:
True if any hits are in the cut, false otherwise.

Reimplemented in THiDetector, and TIcDetector.

Definition at line 159 of file TDetector.cxx.

void FindHits vector< THit > *  hits  )  const [virtual, inherited]
 

Virtual method to rebuild the particles that have hit the detector from the energy and time data. This is implemented per detector class because, for example, a BGO will have only 1 ADC channel per particle hit, whereas an MCP detector may have 4 ADC channels per particle hit.

Parameters:
[in] hits The vector to which the hits should be added.

Reimplemented in TBgoDetector, TDsssdDetector, TGeDetector, TIcDetector, TMcpDetector, TNaiDetector, and TSbDetector.

Definition at line 177 of file TDetector.cxx.

Float_t GetMaxEnergy  )  const [inherited]
 

Gets the maximum energy that was in the detector.

Returns:
The maximum value in fEnergies.

Definition at line 188 of file TDetector.cxx.

References TDetector::fEnergies.

void SetName const Char_t *  name  )  [inline, inherited]
 

Set the detector name. This should match the name of the calibration table in the SQL database, otherwise the calibration will not be found.

Parameters:
[in] name The name of the detector e.g. "DSSSD0".

Definition at line 84 of file TDetector.h.

References TDetector::fName.

void SetChannels UInt_t  channels  )  [inline, inherited]
 

Set the number of channels of the detector.

Parameters:
[in] channels The number of detector channels e.g. this would be 32 for a DSSSD or 1 for a BGO.

Definition at line 94 of file TDetector.h.

References TDetector::fChannels.

void SetCoordinates Float_t  x,
Float_t  y,
Float_t  z
[inline, inherited]
 

Set the x,y,z position of the particle.

Parameters:
[in] x The x-position.
[in] y The y-position.
[in] z The z-position.

Definition at line 103 of file TDetector.h.

References TDetector::fCoordinates.

UInt_t GetChannels  )  const [inline, inherited]
 

Get the number of detector channels.

Returns:
The detector channels as an unsigned integer (doesn't make any sense to have negative channels!).

Definition at line 121 of file TDetector.h.

const TVector3 & GetCoordinates  )  const [inline, inherited]
 

Get the coordinates of the detector.

Returns:
The coordinates in as a vector.

Definition at line 130 of file TDetector.h.

const vector< const TDataItem< Float_t > * > & GetEnergies  )  const [inline, inherited]
 

Get the energy signals belonging to this detector.

Returns:
The detector energy signals.

Definition at line 138 of file TDetector.h.

const vector< const TDataItem< Float_t > * > & GetTimes  )  const [inline, inherited]
 

Get the time signals belonging to this detector.

Returns:
The detector time signals.

Definition at line 146 of file TDetector.h.

void Hit Bool_t  status  )  [inline, inherited]
 

Set the status of the fHit parameter.

Parameters:
[in] status This should be set to 1 only if a hit has occured in the particular detector, 0 otherwise.

Definition at line 154 of file TDetector.h.

References TDetector::fHit.

Bool_t IsHit  )  const [inline, inherited]
 

Get the hit status of the detector.

Returns:
True (1) if the detector is hit; false (0) otherwise.

Definition at line 163 of file TDetector.h.

Bool_t IsName const Char_t *  name  )  const [inline, inherited]
 

Check to see if the name of the detector matches name.

Returns:
True (1) if the name is the same; false (0) otherwise.

Definition at line 171 of file TDetector.h.


Member Data Documentation

vector<const TDataItem<UShort_t> *> fAdcs [protected]
 

Data from the gamma-ray ADCs is stored in here. This is contained in a vector due to considerations of speed and ability to manipulate the data within the raw data array.

Definition at line 40 of file TGrDetector.h.

vector<const TDataItem<UShort_t> *> fLeTdcs [protected]
 

Data from the gamma-ray leading-edge TDCs is stored in here. This is contained in a vector due to considerations of speed and ability to manipulate the data within the raw data array.

Definition at line 45 of file TGrDetector.h.

vector<const TDataItem<UShort_t> *> fCfTdcs [protected]
 

Data from the gamma-ray constant-fraction TDCs is stored in here. This is contained in a vector due to considerations of speed and ability to manipulate the data within the raw data array.

Definition at line 51 of file TGrDetector.h.

TGrCalibration fCalib [protected]
 

The gamma-ray electronics calibration.

Definition at line 54 of file TGrDetector.h.

vector<const TDataItem<Float_t> *> fEnergies [protected, inherited]
 

Calibrated data from the heavy-ion ADCs is stored in here i.e. this vector would be filled after a call to TDetector::Calibrate(). This data is then manipulated to build the correct energies for each particle that could have hit the detector.

Definition at line 60 of file TDetector.h.

vector<const TDataItem<Float_t> *> fTimes [protected, inherited]
 

Calibrated data from the heavy-ion TDCs is stored in here i.e. this vector would be filled after a call to TDetector::Calibrate(). This data is then manipulated to build the correct energies for each particle that could have hit the detector.

Definition at line 67 of file TDetector.h.

TVector3 fCoordinates [protected, inherited]
 

The detector coordinates.

Definition at line 70 of file TDetector.h.

Bool_t fHit [protected, inherited]
 

Boolean to keep track of whether the detector has been hit.

Definition at line 73 of file TDetector.h.


The documentation for this class was generated from the following files:
Generated on Mon Jan 8 11:54:35 2007 for DragonRoot by  doxygen 1.3.9.1