![]() |
AliRoot Core
da88d91 (da88d91)
|
ABC of a MUON digit. More...
#include <AliMUONVDigit.h>
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... | |
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 :
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.
Definition at line 18 of file AliMUONVDigit.h.
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.
|
virtual |
dtor
Definition at line 87 of file AliMUONVDigit.cxx.
|
pure virtual |
Raw ADC value of this digit.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONRawWriter::Digits2BusPatchMap(), AliMUONChamberCalibrationTask::Exec(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), MUONClusterInfo(), MUONRefit(), AliMUONESDInterface::MUONToESD(), and Print().
|
inlinevirtual |
Add a charge.
Definition at line 97 of file AliMUONVDigit.h.
Referenced by AliMUONRealDigit::MergeWith(), and AliMUONDigit::MergeWith().
|
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().
|
static |
Build a single integer with id information
Definition at line 163 of file AliMUONVDigit.cxx.
Referenced by AliMUONVTrackReconstructor::ChangeMonoCathodClusterRes(), and AliMUONDigit::GetUniqueID().
|
pure virtual |
Set the calibrated status (see note 1 in AliMUONVDigit.cxx)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONESDInterface::ESDToMUON(), and MUONRefit().
|
pure virtual |
Cathode number this digit is on (0 or 1)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), AliMUONRealDigit::Cathode(), DecodeUniqueID(), AliMUONTriggerGUIbdmap::DrawDigits(), AliMUONTriggerGUIdimap::DrawMaps(), AliMUONChamberCalibrationTask::Exec(), AliMUONDigitStoreVImpl::Find(), AliMUONDigitStoreV1::Find(), AliMUONDigitStoreVImpl::FindIndex(), AliMUONDigitStoreV1::FindIndex(), AliMUONDigitStoreVImpl::FindObject(), AliMUONVDigitStore::FindObject(), GetName(), AliMUONTriggerUtilities::Init(), IsEqual(), AliMUONTriggerUtilities::IsMasked(), AliMUONRealDigit::MergeWith(), AliMUONDigit::MergeWith(), MUONClusterInfo(), AliMUONDigitStoreVImplIterator::Next(), AliMUONDigitStoreV1Iterator::Next(), Print(), AliMUONTriggerGUI::PrintDigitStore(), AliMUONDigitStoreV1::Remove(), TestRecPoints(), AliMUONDigitStoreVImpl::UpdateIndex(), and AliMUONSimpleClusterServer::UseDigits().
|
static |
Return the cathode part of the uniqueID
Definition at line 197 of file AliMUONVDigit.cxx.
|
pure virtual |
The charge of this digit, calibrated or not depending on IsCalibrated()
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AddCharge(), AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), Compare(), AliMUONSDigitizerV2::Digitize(), AliMUONChamberCalibrationTask::Exec(), AliMUONRealDigit::MergeWith(), AliMUONDigit::MergeWith(), MUONClusterInfo(), AliMUONESDInterface::MUONToESD(), Print(), TestRecPoints(), and AliMUONSimpleClusterServer::UseDigits().
|
pure virtual |
Set the unit value (see note 1 in AliMUONVDigit.cxx)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONSDigitizerV2::Digitize().
|
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.
|
static |
Unpack uniqueID into 4 elements
Definition at line 205 of file AliMUONVDigit.cxx.
|
pure virtual |
The detection element this digit belongs to.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), ClusterSize(), Compare(), DecodeUniqueID(), AliMUONRealDigit::DetElemId(), AliMUONChamberCalibrationTask::Exec(), AliMUONDigitStoreVImpl::Find(), AliMUONDigitStoreV1::Find(), AliMUONDigitStoreVImpl::FindIndex(), AliMUONDigitStoreV1::FindIndex(), AliMUONDigitStoreVImpl::FindObject(), AliMUONVDigitStore::FindObject(), AliMUONTrackHitPattern::FindPadMatchingTrack(), AliMUONTrackHitPattern::FindPadMatchingTrig(), AliMUONRawWriter::GetBusPatch(), GetName(), AliMUONPainterPadStore::GetPadGeometry(), IsEqual(), AliMUONTriggerUtilities::IsMasked(), IsTrigger(), AliMUONRealDigit::MergeWith(), AliMUONDigit::MergeWith(), MUONClusterInfo(), AliMUONDigitStoreV1Iterator::Next(), Print(), AliMUONPainterPadStore::PrintPads(), AliMUONDigitStoreV1::Remove(), TestRecPoints(), AliMUONDigitStoreVImpl::UpdateIndex(), and AliMUONSimpleClusterServer::UseDigits().
|
static |
Return detection element id part of the uniqueID
Definition at line 173 of file AliMUONVDigit.cxx.
|
inlinevirtual |
Set the efficiencyApplied status.
Reimplemented in AliMUONDigit.
Definition at line 65 of file AliMUONVDigit.h.
|
virtual |
Return the name of this digit, composed of its id parts.
Definition at line 218 of file AliMUONVDigit.cxx.
|
pure virtual |
Below are methods only relevant for MC digigts.
Whether we implement MC methods.
Implemented in AliMUONRealDigit, and AliMUONDigit.
Referenced by AliMUONDigitStoreV1::HasMCInformation(), and Print().
|
inlinevirtual |
Hit number that contributed to this simulated digit.
Reimplemented in AliMUONDigit.
Definition at line 117 of file AliMUONVDigit.h.
Referenced by Print().
|
pure virtual |
Whether this digit has been calibrated or not (see note 1 in AliMUONVDigit.cxx)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONChamberCalibrationTask::Exec(), MUONClusterInfo(), AliMUONESDInterface::MUONToESD(), and Print().
|
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().
|
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().
|
pure virtual |
Whether this (simulated) digit got corrected by chamber efficiency.
Implemented in AliMUONDigit, and AliMUONRealDigit.
|
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.
|
pure virtual |
Whether this (simulated) digit is purely noise.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), and Print().
|
pure virtual |
Whether the ADC has saturated.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONChamberCalibrationTask::Exec(), MUONClusterInfo(), AliMUONESDInterface::MUONToESD(), Print(), and AliMUONSimpleClusterServer::UseDigits().
|
inlinevirtual |
Advertise that we can be sorted in TCollections.
Definition at line 27 of file AliMUONVDigit.h.
|
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().
|
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().
|
pure virtual |
Whether this digit is used somewhere (typically in a cluster)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by Print().
|
inlinestatic |
Return the localBoardChannel from the uniqueID.
Definition at line 150 of file AliMUONVDigit.h.
|
inlinestatic |
Return the localBoardNumber from the uniqueID.
Definition at line 148 of file AliMUONVDigit.h.
|
pure virtual |
The channel within ManuId() this digit belongs to (manuChannel for tracker, localBoardChannel for trigger)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), Compare(), DecodeUniqueID(), AliMUONChamberCalibrationTask::Exec(), AliMUONDigitStoreVImpl::Find(), AliMUONDigitStoreV1::Find(), AliMUONDigitStoreVImpl::FindIndex(), AliMUONDigitStoreV1::FindIndex(), AliMUONDigitStoreVImpl::FindObject(), AliMUONVDigitStore::FindObject(), GetName(), AliMUONPainterPadStore::GetPadGeometry(), IsEqual(), AliMUONTriggerUtilities::IsMasked(), LocalBoardChannel(), AliMUONTrackerQADataMakerRec::MakeRecPoints(), AliMUONRealDigit::ManuChannel(), MUONClusterInfo(), Print(), AliMUONPainterPadStore::PrintPads(), AliMUONDigitStoreV1::Remove(), and AliMUONDigitStoreVImpl::UpdateIndex().
|
static |
Return manuChannel part of the uniqueID
Definition at line 181 of file AliMUONVDigit.cxx.
|
pure virtual |
The electronic card id this digit belongs to (manuId for tracker, localboardId for trigger)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), Compare(), DecodeUniqueID(), AliMUONChamberCalibrationTask::Exec(), AliMUONDigitStoreVImpl::Find(), AliMUONDigitStoreV1::Find(), AliMUONDigitStoreVImpl::FindIndex(), AliMUONDigitStoreV1::FindIndex(), AliMUONDigitStoreVImpl::FindObject(), AliMUONVDigitStore::FindObject(), AliMUONRawWriter::GetBusPatch(), AliMUONQAMappingCheck::GetClusterLocation(), GetName(), AliMUONPainterPadStore::GetPadGeometry(), IsEqual(), AliMUONTriggerUtilities::IsMasked(), LocalBoardNumber(), AliMUONTrackerQADataMakerRec::MakeRecPoints(), AliMUONRealDigit::ManuId(), MUONClusterInfo(), Print(), AliMUONPainterPadStore::PrintPads(), AliMUONDigitStoreV1::Remove(), and AliMUONDigitStoreVImpl::UpdateIndex().
|
static |
Return manuId part of the uniqueID
Definition at line 189 of file AliMUONVDigit.cxx.
|
pure virtual |
Merge this with other.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreVImpl::Add(), and AliMUONDigitStoreV1::Add().
|
inlinevirtual |
Set the noiseOnly status.
Reimplemented in AliMUONDigit.
Definition at line 60 of file AliMUONVDigit.h.
Referenced by AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), and AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger().
|
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().
|
pure virtual |
The x-index of this digit (>=0)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), ClusterSize(), AliMUONChamberCalibrationTask::Exec(), AliMUONRealDigit::MergeWith(), AliMUONDigit::MergeWith(), MUONClusterInfo(), Print(), and AliMUONSimpleClusterServer::UseDigits().
|
pure virtual |
The y-index of this digit (>=0)
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONDigitStoreV2S::AddConcreteDigit(), ClusterSize(), AliMUONChamberCalibrationTask::Exec(), AliMUONRealDigit::MergeWith(), AliMUONDigit::MergeWith(), MUONClusterInfo(), Print(), and AliMUONSimpleClusterServer::UseDigits().
|
inlinevirtual |
Patch track with a mask.
Reimplemented in AliMUONDigit.
Definition at line 133 of file AliMUONVDigit.h.
Referenced by AliMUONDigitizerV3::MergeWithSDigits().
|
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.
|
pure virtual |
Set the saturation status.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONESDInterface::ESDToMUON().
|
pure virtual |
Set the ADC value.
Implemented in AliMUONRealDigit, and AliMUONDigit.
Referenced by AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), AliMUONESDInterface::ESDToMUON(), AliMUONPedestalEventGenerator::GenerateDigits(), and AliMUONDigitMaker::ReadTrackerDDL().
|
pure virtual |
Set the charge of this digit.
Implemented in AliMUONRealDigit, and AliMUONDigit.
Referenced by AddCharge(), AliMUONDigitizerV3::ApplyResponseToTrackerDigit(), AliMUONDigitizerV3::ApplyResponseToTriggerDigit(), AliMUONTriggerGUI::CreateDigitStore(), AliMUONESDInterface::ESDToMUON(), AliMUONPedestalEventGenerator::GenerateDigits(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(), MakeSDigits(), AliMUONRecoCheck::MakeTriggerableTracks(), MUONRefit(), and AliMUONDigitMaker::TriggerDigits().
|
inlinevirtual |
Set the hit number.
Reimplemented in AliMUONDigit.
Definition at line 119 of file AliMUONVDigit.h.
Referenced by AliMUONSDigitizerV2::Digitize().
|
pure virtual |
Set the ix and iy of this digit.
Implemented in AliMUONRealDigit, and AliMUONDigit.
Referenced by AliMUONTriggerGUI::CreateDigitStore(), AliMUONESDInterface::ESDToMUON(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(), AliMUONRecoCheck::MakeTriggerableTracks(), AliMUONDigitMaker::ReadTrackerDDL(), and AliMUONDigitMaker::TriggerDigits().
|
pure virtual |
Set the statusMap.
Implemented in AliMUONRealDigit, and AliMUONDigit.
|
inlinevirtual |
Set hit age.
Reimplemented in AliMUONDigit.
Definition at line 123 of file AliMUONVDigit.h.
Referenced by AliMUONSDigitizerV2::Digitize().
|
pure virtual |
A word describing the status of the neighbours of this digit.
Implemented in AliMUONRealDigit, and AliMUONDigit.
Referenced by Print().
|
inlinevirtual |
|
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().
|
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().
|
pure virtual |
Set the used status.
Implemented in AliMUONDigit, and AliMUONRealDigit.
Referenced by AliMUONESDInterface::ESDToMUON().