AliRoot Core  edcc906 (edcc906)
AliMUONVDigit Class Referenceabstract

ABC of a MUON digit. More...

#include <AliMUONVDigit.h>

Inheritance diagram for AliMUONVDigit:

Public Member Functions

 AliMUONVDigit ()
 
 AliMUONVDigit (Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode)
 
virtual ~AliMUONVDigit ()
 
virtual Bool_t IsEqual (const TObject *object) const
 
virtual Bool_t IsSortable () const
 Advertise that we can be sorted in TCollections. More...
 
virtual Int_t Compare (const TObject *object) const
 
virtual const char * GetName () const
 
virtual Int_t DetElemId () const =0
 The detection element this digit belongs to. More...
 
virtual Int_t PadX () const =0
 The x-index of this digit (>=0) More...
 
virtual Int_t PadY () const =0
 The y-index of this digit (>=0) More...
 
virtual Int_t Cathode () const =0
 Cathode number this digit is on (0 or 1) More...
 
virtual Float_t Charge () const =0
 The charge of this digit, calibrated or not depending on IsCalibrated() More...
 
virtual Int_t ADC () const =0
 Raw ADC value of this digit. More...
 
virtual Int_t ManuId () const =0
 The electronic card id this digit belongs to (manuId for tracker, localboardId for trigger) More...
 
virtual Int_t ManuChannel () const =0
 The channel within ManuId() this digit belongs to (manuChannel for tracker, localBoardChannel for trigger) More...
 
virtual Bool_t IsSaturated () const =0
 Whether the ADC has saturated. More...
 
virtual void Saturated (Bool_t saturated=kTRUE)=0
 Set the saturation status. More...
 
virtual Bool_t IsNoiseOnly () const =0
 Whether this (simulated) digit is purely noise. More...
 
virtual void NoiseOnly (Bool_t=kTRUE)
 Set the noiseOnly status. More...
 
virtual Bool_t IsEfficiencyApplied () const =0
 Whether this (simulated) digit got corrected by chamber efficiency. More...
 
virtual void EfficiencyApplied (Bool_t=kTRUE)
 Set the efficiencyApplied status. More...
 
virtual Bool_t IsCalibrated () const =0
 Whether this digit has been calibrated or not (see note 1 in AliMUONVDigit.cxx) More...
 
virtual void Calibrated (Bool_t value)=0
 Set the calibrated status (see note 1 in AliMUONVDigit.cxx) More...
 
virtual Bool_t IsChargeInFC () const
 Whether this digit has charge in femto coulomb (see note 1 in AliMUONVDigit.cxx) More...
 
virtual void ChargeInFC (Bool_t value=kTRUE)=0
 Set the unit value (see note 1 in AliMUONVDigit.cxx) More...
 
virtual Bool_t IsConverted () const
 Whether or not this digit was obtained from a conversion (e.g. real to simulated) More...
 
virtual Bool_t IsUsed () const =0
 Whether this digit is used somewhere (typically in a cluster) More...
 
virtual void Used (Bool_t value)=0
 Set the used status. More...
 
virtual UInt_t StatusMap () const =0
 A word describing the status of the neighbours of this digit. More...
 
virtual void SetStatusMap (UInt_t statusMap)=0
 Set the statusMap. More...
 
virtual void SetADC (Int_t adc)=0
 Set the ADC value. More...
 
virtual void SetPadXY (Int_t padx, Int_t pady)=0
 Set the ix and iy of this digit. More...
 
virtual void SetCharge (Float_t q)=0
 Set the charge of this digit. More...
 
virtual void AddCharge (Float_t q)
 Add a charge. More...
 
virtual Bool_t MergeWith (const AliMUONVDigit &other)=0
 Merge this with other. More...
 
virtual Bool_t IsTracker () const
 Whether this digit is a tracker digit (false if belongs to trigger) More...
 
virtual Bool_t IsTrigger () const
 
virtual void Print (Option_t *opt="") const
 
virtual Bool_t HasMCInformation () const =0
 Below are methods only relevant for MC digigts. More...
 
virtual Int_t Hit () const
 Hit number that contributed to this simulated digit. More...
 
virtual void SetHit (Int_t)
 Set the hit number. More...
 
virtual Float_t Time () const
 Hit age. More...
 
virtual void SetTime (Float_t)
 Set hit age. More...
 
virtual Int_t Ntracks () const
 Number of tracks contributing to this digit. More...
 
virtual void AddTrack (Int_t, Float_t)
 Add a track (and its charge) to the list of tracks we handle. More...
 
virtual Int_t Track (Int_t) const
 Return the i-th track number. More...
 
virtual Float_t TrackCharge (Int_t) const
 Return the i-th track charge. More...
 
virtual void PatchTracks (Int_t)
 Patch track with a mask. More...
 

Static Public Member Functions

static UInt_t BuildUniqueID (Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode)
 
static void DecodeUniqueID (UInt_t uniqueID, Int_t &detElemId, Int_t &manuId, Int_t &manuChannel, Int_t &cathode)
 
static Int_t DetElemId (UInt_t uniqueID)
 
static Int_t ManuId (UInt_t uniqueID)
 
static Int_t ManuChannel (UInt_t uniqueID)
 
static Int_t Cathode (UInt_t uniqueID)
 
static Int_t LocalBoardNumber (UInt_t uniqueID)
 Return the localBoardNumber from the uniqueID. More...
 
static Int_t LocalBoardChannel (UInt_t uniqueID)
 Return the localBoardChannel from the uniqueID. More...
 

Detailed Description

ABC of a MUON digit.

This is the base class of a MUON digit that most client code should deal with. There should be no reason to have to use a concrete class in most cases.

All digits have basic features, like :

  • a way to identify it : detection element, electronics card and channel, cathode. Note that some static methods exists to compact those 4 informations into a single 4 bytes integer (stored in the fUniqueID data member present in all TObjects).
  • its charge
  • a set of boolean methods to indicate whether the digit has been calibrated, etc...

In addition, if HasMCInformation is true, the digit store also the list of MC tracks that contributed to its charge

Also, if HasGeometryInformation is true, the digit knows the position and the (half) dimensions (in cm) of the pad it corresponds to.

Note 1.

Please note that IsCalibrated and IsChargeInFC are two concepts closely related, but not equivalent, at least for SDigits.

For instance a SDigit can have its charge in fC but not being calibrated.

{ SDigits coming from a simulation are yet to be merged (i.e. the SDigitStore can contain several SDigits objects per channel), so, while their charge is in femto-coulomb, they are not calibrated (e.g. pedestal is not subtracted yet). }

Conversely, a calibrated (s)digit always has its charge in fC.

Author
Laurent Aphecetche, Subatech

Definition at line 18 of file AliMUONVDigit.h.

Constructor & Destructor Documentation

AliMUONVDigit::AliMUONVDigit ( )

Default ctor

Definition at line 80 of file AliMUONVDigit.cxx.

AliMUONVDigit::AliMUONVDigit ( Int_t  detElemId,
Int_t  manuId,
Int_t  manuChannel,
Int_t  cathode 
)

Normal constructor for trigger digits

Definition at line 71 of file AliMUONVDigit.cxx.

AliMUONVDigit::~AliMUONVDigit ( )
virtual

dtor

Definition at line 87 of file AliMUONVDigit.cxx.

Member Function Documentation

virtual void AliMUONVDigit::AddCharge ( Float_t  q)
inlinevirtual

Add a charge.

Definition at line 97 of file AliMUONVDigit.h.

Referenced by AliMUONRealDigit::MergeWith(), and AliMUONDigit::MergeWith().

virtual void AliMUONVDigit::AddTrack ( Int_t  ,
Float_t   
)
inlinevirtual

Add a track (and its charge) to the list of tracks we handle.

Reimplemented in AliMUONDigit.

Definition at line 127 of file AliMUONVDigit.h.

Referenced by AliMUONSDigitizerV2::Digitize().

UInt_t AliMUONVDigit::BuildUniqueID ( Int_t  detElemId,
Int_t  manuId,
Int_t  manuChannel,
Int_t  cathode 
)
static

Build a single integer with id information

Definition at line 163 of file AliMUONVDigit.cxx.

Referenced by AliMUONVTrackReconstructor::ChangeMonoCathodClusterRes(), AliMUONDigit::GetUniqueID(), and PatchTracks().

virtual void AliMUONVDigit::Calibrated ( Bool_t  value)
pure virtual

Set the calibrated status (see note 1 in AliMUONVDigit.cxx)

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by EfficiencyApplied(), AliMUONESDInterface::ESDToMUON(), and MUONRefit().

Int_t AliMUONVDigit::Cathode ( UInt_t  uniqueID)
static

Return the cathode part of the uniqueID

Definition at line 197 of file AliMUONVDigit.cxx.

virtual void AliMUONVDigit::ChargeInFC ( Bool_t  value = kTRUE)
pure virtual

Set the unit value (see note 1 in AliMUONVDigit.cxx)

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by AliMUONSDigitizerV2::Digitize(), and IsChargeInFC().

Int_t AliMUONVDigit::Compare ( const TObject *  object) const
virtual

Compare two digits, trying to get as complete an order as possible. We sort by DE, then by charge, then by manu, etc...

Definition at line 110 of file AliMUONVDigit.cxx.

Referenced by IsSortable().

void AliMUONVDigit::DecodeUniqueID ( UInt_t  uniqueID,
Int_t &  detElemId,
Int_t &  manuId,
Int_t &  manuChannel,
Int_t &  cathode 
)
static

Unpack uniqueID into 4 elements

Definition at line 205 of file AliMUONVDigit.cxx.

Referenced by PatchTracks().

Int_t AliMUONVDigit::DetElemId ( UInt_t  uniqueID)
static

Return detection element id part of the uniqueID

Definition at line 173 of file AliMUONVDigit.cxx.

virtual void AliMUONVDigit::EfficiencyApplied ( Bool_t  = kTRUE)
inlinevirtual

Set the efficiencyApplied status.

Reimplemented in AliMUONDigit.

Definition at line 65 of file AliMUONVDigit.h.

const char * AliMUONVDigit::GetName ( void  ) const
virtual

Return the name of this digit, composed of its id parts.

Definition at line 218 of file AliMUONVDigit.cxx.

Referenced by IsSortable().

virtual Bool_t AliMUONVDigit::HasMCInformation ( ) const
pure virtual

Below are methods only relevant for MC digigts.

Whether we implement MC methods.

Implemented in AliMUONRealDigit, and AliMUONDigit.

Referenced by AliMUONDigitStoreV1::HasMCInformation(), IsTrigger(), and Print().

virtual Int_t AliMUONVDigit::Hit ( ) const
inlinevirtual

Hit number that contributed to this simulated digit.

Reimplemented in AliMUONDigit.

Definition at line 117 of file AliMUONVDigit.h.

Referenced by Print().

virtual Bool_t AliMUONVDigit::IsCalibrated ( ) const
pure virtual

Whether this digit has been calibrated or not (see note 1 in AliMUONVDigit.cxx)

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by EfficiencyApplied(), AliMUONChamberCalibrationTask::Exec(), MUONClusterInfo(), AliMUONESDInterface::MUONToESD(), and Print().

virtual Bool_t AliMUONVDigit::IsChargeInFC ( ) const
inlinevirtual

Whether this digit has charge in femto coulomb (see note 1 in AliMUONVDigit.cxx)

Reimplemented in AliMUONRealDigit, and AliMUONDigit.

Definition at line 73 of file AliMUONVDigit.h.

Referenced by AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), and Print().

virtual Bool_t AliMUONVDigit::IsConverted ( ) const
inlinevirtual

Whether or not this digit was obtained from a conversion (e.g. real to simulated)

Reimplemented in AliMUONDigit.

Definition at line 78 of file AliMUONVDigit.h.

Referenced by Print().

virtual Bool_t AliMUONVDigit::IsEfficiencyApplied ( ) const
pure virtual

Whether this (simulated) digit got corrected by chamber efficiency.

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by NoiseOnly().

Bool_t AliMUONVDigit::IsEqual ( const TObject *  object) const
virtual

Whether we're equal to object. WARNING : only based on our identifiers (de,manu,channel,cathode), not our content (i.e. charge, status...)

Definition at line 94 of file AliMUONVDigit.cxx.

virtual Bool_t AliMUONVDigit::IsNoiseOnly ( ) const
pure virtual

Whether this (simulated) digit is purely noise.

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), IsSortable(), and Print().

virtual Bool_t AliMUONVDigit::IsSaturated ( ) const
pure virtual
virtual Bool_t AliMUONVDigit::IsSortable ( ) const
inlinevirtual

Advertise that we can be sorted in TCollections.

Definition at line 27 of file AliMUONVDigit.h.

virtual Bool_t AliMUONVDigit::IsTracker ( ) const
inlinevirtual

Whether this digit is a tracker digit (false if belongs to trigger)

Definition at line 103 of file AliMUONVDigit.h.

Referenced by AliMUONSimpleClusterServer::UseDigits().

virtual Bool_t AliMUONVDigit::IsTrigger ( ) const
inlinevirtual

FIXME: how to get this information w/o hard-coding, yet being efficient ? Use one fFlags that must be set when creating the digit for instance ?

Definition at line 107 of file AliMUONVDigit.h.

Referenced by IsTracker().

virtual Bool_t AliMUONVDigit::IsUsed ( ) const
pure virtual

Whether this digit is used somewhere (typically in a cluster)

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by IsConverted(), and Print().

static Int_t AliMUONVDigit::LocalBoardChannel ( UInt_t  uniqueID)
inlinestatic

Return the localBoardChannel from the uniqueID.

Definition at line 150 of file AliMUONVDigit.h.

static Int_t AliMUONVDigit::LocalBoardNumber ( UInt_t  uniqueID)
inlinestatic

Return the localBoardNumber from the uniqueID.

Definition at line 148 of file AliMUONVDigit.h.

Int_t AliMUONVDigit::ManuChannel ( UInt_t  uniqueID)
static

Return manuChannel part of the uniqueID

Definition at line 181 of file AliMUONVDigit.cxx.

Int_t AliMUONVDigit::ManuId ( UInt_t  uniqueID)
static

Return manuId part of the uniqueID

Definition at line 189 of file AliMUONVDigit.cxx.

virtual Bool_t AliMUONVDigit::MergeWith ( const AliMUONVDigit other)
pure virtual

Merge this with other.

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by AliMUONDigitStoreVImpl::Add(), AliMUONDigitStoreV1::Add(), and AddCharge().

virtual void AliMUONVDigit::NoiseOnly ( Bool_t  = kTRUE)
inlinevirtual

Set the noiseOnly status.

Reimplemented in AliMUONDigit.

Definition at line 60 of file AliMUONVDigit.h.

Referenced by AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), and AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger().

virtual Int_t AliMUONVDigit::Ntracks ( ) const
inlinevirtual

Number of tracks contributing to this digit.

Reimplemented in AliMUONDigit.

Definition at line 125 of file AliMUONVDigit.h.

Referenced by AliMUONSimpleClusterServer::FindMCLabel(), AliMUONDigit::MergeWith(), and Print().

virtual void AliMUONVDigit::PatchTracks ( Int_t  )
inlinevirtual

Patch track with a mask.

Reimplemented in AliMUONDigit.

Definition at line 133 of file AliMUONVDigit.h.

Referenced by AliMUONDigitizerV3::MergeWithSDigits().

void AliMUONVDigit::Print ( Option_t *  opt = "") const
virtual

Dump to screen.

If opt=="tracks", info on tracks are printed too.

The last part of the printout indicated the status of the digit : (S) means that digit is saturated (C) means that digit has been calibrated [fC] means that digit's charge is in femto-coulombs (fC) (U) means that digit is part of (has been used in) a cluster (+) is noise-only digit (added by the simulation) (X) has the IsConverted flag on (e.g. has been embedded)

Definition at line 227 of file AliMUONVDigit.cxx.

Referenced by IsTrigger().

virtual void AliMUONVDigit::Saturated ( Bool_t  saturated = kTRUE)
pure virtual

Set the saturation status.

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by AliMUONESDInterface::ESDToMUON(), and IsSortable().

virtual void AliMUONVDigit::SetHit ( Int_t  )
inlinevirtual

Set the hit number.

Reimplemented in AliMUONDigit.

Definition at line 119 of file AliMUONVDigit.h.

Referenced by AliMUONSDigitizerV2::Digitize().

virtual void AliMUONVDigit::SetStatusMap ( UInt_t  statusMap)
pure virtual

Set the statusMap.

Implemented in AliMUONRealDigit, and AliMUONDigit.

Referenced by IsConverted().

virtual void AliMUONVDigit::SetTime ( Float_t  )
inlinevirtual

Set hit age.

Reimplemented in AliMUONDigit.

Definition at line 123 of file AliMUONVDigit.h.

Referenced by AliMUONSDigitizerV2::Digitize().

virtual UInt_t AliMUONVDigit::StatusMap ( ) const
pure virtual

A word describing the status of the neighbours of this digit.

Implemented in AliMUONRealDigit, and AliMUONDigit.

Referenced by IsConverted(), and Print().

virtual Float_t AliMUONVDigit::Time ( ) const
inlinevirtual

Hit age.

Reimplemented in AliMUONDigit.

Definition at line 121 of file AliMUONVDigit.h.

virtual Int_t AliMUONVDigit::Track ( Int_t  ) const
inlinevirtual

Return the i-th track number.

Reimplemented in AliMUONDigit.

Definition at line 129 of file AliMUONVDigit.h.

Referenced by AliMUONSimpleClusterServer::FindMCLabel(), AliMUONDigit::MergeWith(), and Print().

virtual Float_t AliMUONVDigit::TrackCharge ( Int_t  ) const
inlinevirtual

Return the i-th track charge.

Reimplemented in AliMUONDigit.

Definition at line 131 of file AliMUONVDigit.h.

Referenced by AliMUONSimpleClusterServer::FindMCLabel(), AliMUONDigit::MergeWith(), and Print().

virtual void AliMUONVDigit::Used ( Bool_t  value)
pure virtual

Set the used status.

Implemented in AliMUONDigit, and AliMUONRealDigit.

Referenced by AliMUONESDInterface::ESDToMUON(), and IsConverted().


The documentation for this class was generated from the following files: