ROOT logo
AliRoot » FMD » AliFMDParameters

class AliFMDParameters: public TNamed

Function Members (Methods)

public:
voidTObject::AbstractMethod(const char* method) const
static const char*AltroMapPath()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
static const char*DeadPath()
virtual voidTObject::Delete(Option_t* option = "")MENU
Bool_tDetector2Hardware(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t sam, UShort_t& ddl, UShort_t& hwaddr, UShort_t& timebin) const
Bool_tDetector2Hardware(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t sam, UShort_t& ddl, UShort_t& board, UShort_t& altro, UShort_t& channel, UShort_t& timebin) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "pedestal")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
UShort_tGetAltroChannelSize() const
AliFMDAltroMapping*GetAltroMap() const
UShort_tGetChannelsPerAltro() const
static const char*GetConditionsShuttleID()
Float_tGetDACPerMIP() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tGetEdepMip() const
static const char*GetGainShuttleID()
virtual const char*TObject::GetIconName() const
UShort_tGetMaxStrip(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
UShort_tGetMinStrip(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tGetPedestal(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
Float_tGetPedestalFactor() const
static const char*GetPedestalShuttleID()
Float_tGetPedestalWidth(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
UShort_tGetPreSamples(UShort_t, Char_t, UShort_t, UShort_t) const
Float_tGetPulseGain(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
UShort_tGetSampleRate(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
Float_tGetThreshold() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
UShort_tGetVA1MipRange() const
UShort_tGetZeroSuppression(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
UShort_tGetZSPostSamples() const
UShort_tGetZSPreSamples() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHardware2Detector(UShort_t ddl, UShort_t hwaddr, UShort_t timebin, UShort_t& det, Char_t& ring, UShort_t& sec, Short_t& str, UShort_t& sam) const
Bool_tHardware2Detector(UShort_t ddl, UShort_t board, UShort_t altro, UShort_t chan, UShort_t timebin, UShort_t& det, Char_t& ring, UShort_t& sec, Short_t& str, UShort_t& sam) const
Bool_tHasCompleteHeader() const
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
UShort_tInit(Bool_t forceReInit = kFALSE, UInt_t what = kAll)
UShort_tInit(AliFMDPreprocessor* pp, Bool_t forceReInit = kFALSE, UInt_t what = kAll)
UShort_tInit(const char* path, Bool_t forceReInit = kFALSE, UInt_t what = kAll)
virtual voidTObject::Inspect() constMENU
static AliFMDParameters*Instance()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsDead(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tIsZSPedSubtract() const
virtual voidTNamed::ls(Option_t* option = "") const
voidMakeDeadMap(Float_t maxNoise = 10, Float_t minGain = .1, Float_t maxGain = 10)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
static const char*PedestalPath()
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "A") const
static const char*PulseGainPath()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
static const char*SampleRatePath()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAltroChannelSize(UShort_t s = 1024)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetChannelsPerAltro(UShort_t size = 128)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGain(AliFMDCalibGain* g)
voidSetGain(Float_t g = 2)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPedestal(Float_t p = 100)
voidSetPedestal(AliFMDCalibPedestal* p)
voidSetPedestalFactor(Float_t f = 3)
voidSetPedestalWidth(Float_t w = 2)
voidSetSampleRate(UShort_t r = 2)
voidSetSampleRate(AliFMDCalibSampleRate* r)
voidSetStripRange(AliFMDCalibStripRange* r)
voidSetStripRange(UShort_t min = 0, UShort_t max = 127)
voidSetThreshold(Float_t t = 0)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVA1MipRange(UShort_t r = 20)
voidSetZeroSuppression(UShort_t s = 1)
voidSetZSPedSubtract(Bool_t use = kTRUE)
voidSetZSPostSamples(UShort_t n = 1)
voidSetZSPreSamples(UShort_t n = 1)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
static const char*StripRangePath()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUseCompleteHeader(Bool_t yes = kTRUE)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
static const char*ZeroSuppressionPath()
private:
(unknown)()

Data Members

public:
enum What { kPulseGain
kPedestal
kDeadMap
kSampleRate
kZeroSuppression
kAltroMap
kStripRange
};
enum { kAll
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
UShort_tfAltroChannelSizeLargest # to store in 1 ADC ch.
AliFMDAltroMapping*fAltroMapMap of hardware
UShort_tfChannelsPerAltroNumber of pre-amp. chan/adc chan.
AliFMDBoolMap*fDeadMapPulser gain
Float_tfEdepMip! Cache of energy loss for a MIP
UShort_tfFixedMaxStripMaximum strip read-out
UShort_tfFixedMinStripMinimum strip read-out
Float_tfFixedPedestalPedestal to subtract
Float_tfFixedPedestalWidthWidth of pedestal
Float_tfFixedPulseGain! Gain (cached)
UShort_tfFixedSampleRateTimes the ALTRO samples pre-amp.
Float_tfFixedThresholdThreshold in ADC counts
UShort_tfFixedZeroSuppressionThreshold for zero-suppression
Bool_tfHasCompleteHeaderraw data has incomplete data header
Bool_tfIsInitWhether we've been initialised
TStringTNamed::fNameobject identifier
AliFMDCalibPedestal*fPedestalPedestals
Float_tfPedestalFactorNumber of pedestal widths
AliFMDCalibGain*fPulseGainPulser gain
Int_tfRunNoInitialized for this run
AliFMDCalibSampleRate*fSampleRateSample rate from CDB
AliFMDCalibStripRange*fStripRangeStrip range
TStringTNamed::fTitleobject title
UShort_tfVA1MipRange# MIPs the pre-amp can do
Bool_tfZSPedSubtractPedestal subtraction before ZS
UShort_tfZSPostNumber of post-samples in ZS
UShort_tfZSPreNumber of pre-samples in ZS
AliFMDUShortMap*fZeroSuppressionZero suppression from CDB
static AliFMDParameters*fgInstanceStatic singleton instance
static const char*fgkAltroMapPath to AltroMap calib object
static const char*fgkDeadPath to Dead calib object
static const char*fgkPedestalPath to Pedestal calib object
static const char*fgkPulseGainPath to PulseGain calib object
static const char*fgkSampleRatePath to SampleRate calib object
static const char*fgkStripRangePath to strip range cal object
static const char*fgkZeroSuppressionPath to ZeroSuppression cal object
static const char*fkConditionsShuttleIDShuttle/preprocessor ID for conditions
static const char*fkGainShuttleIDShuttle/preprocessor ID for gains
static const char*fkPedestalShuttleIDShuttle/preprocessor ID for pedestals
const Float_tfkSiDeDxMipMIP dE/dx in Silicon

Class Charts

Inheritance Chart:
TNamed
AliFMDParameters

Function documentation

Instance()
 Get static instance

AliFMDParameters()
 Default constructor

CheckForNewRun()
Init(Bool_t forceReInit = kFALSE, UInt_t what = kAll)
 Initialize the manager.  This tries to read the parameters from
 CDB.  If that fails, the class uses the hard-coded parameters.

 Parameters:
    forceReInit Force (re-)initalize flag
    what        What to initialize

Init(AliFMDPreprocessor* pp, Bool_t forceReInit = kFALSE, UInt_t what = kAll)
 Initialize the manager.  This tries to read the parameters from
 CDB.  If that fails, the class uses the hard-coded parameters.

 Parameters:
    pp          Preprocessor
    forceReInit Force (re-)initalize flag
    what        What to initialize

CheckFile(const char* prefix, const char* path, int number, TString& f) const
 Check if the file <i>prefix</i><i>number</i> exists in @a path,
 and write the full path to @a f.

 Parameters:
    prefix  File prefix (cond, peds, gains, ...)
    path    Path to files
    number  Detector number (1, 2, or 3)
    f       On return full path to file (if found)

 Return:
    @c true if file exists and is readable, @c false otherwise

Init(const char* path, Bool_t forceReInit = kFALSE, UInt_t what = kAll)
 Initialize the manager.  This will try to read some calibrations
 (sample rate, strip range, gains, pedestals) from local comma
 separated value (CSV) files in the directory pointed at by @a
 path.  If they are not found, then they will be retrieved from
 OCDB as appropriately.   Other calibrations are always read from
 OCDB.

 The CSV files should be named as

 - Pedestals: <tt>peds</tt><i>det_number</i><tt>.csv</tt>
 - Gains: <tt>gains</tt><i>det_number</i><tt>.csv</tt>
 - Sample Rate: <tt>conditions</tt><i>det_number</i><tt>.csv</tt>
 - Strip Range: <tt>conditions</tt><i>det_number</i><tt>.csv</tt>

 where <i>det_number</i> is the detector number (1, 2, or 3).

 Parameters:
    path        Where to look for the CSV files
    forceReInit Always reinitialise
    what        What calibrations to load.

MakeDeadMap(Float_t maxNoise = 10, Float_t minGain = .1, Float_t maxGain = 10)
 Automatically generate a dead map from the pedestals and gains.
 A channel is marked as dead of the noise is too high (currently
 more than 10 ADC counts), or the gain is unreasonable (currently
 larger than 10, or smaller than 0.1).

 The procedure does not overwrite channels previously marked as
 dead - e.g., channels marked as dead in the calibration loaded
 from OCDB will continue to be marked as dead.  That is, this
 procedure will never make a channel un-dead.

 Parameters:
    maxNoise  Maximum noise value before a channel is marked
 as dead.
    minGain   Minimum value of the calibrated gain before a
 channel is considered dead.
    maxGain   Maximum value of the calibrated gain before a
 channel is considered dead.

Draw(Option_t* option = "pedestal")
 Draw parameters.

 Parameters:
    option What to draw. Should be one of
 - dead	  Dead channels
 - threshold Threshold
 - gain	  Gain
 - pedestal  Pedestal
 - noise	  Noise (or pedestal width)
 - zero	  Zero suppression
 - rate	  Sampling rate (VA1 clock / ALTRO clock)
 - min	  Minimum strip read out
 - max 	  Maximum strip read out
 - map	  hardware address

Print(Option_t* option = "A") const
 Print information.
 If option contains an 'A' then everything is printed.
 If the option contains the string "FMD" the function will search
 for detector, ring, sector, and strip numbers to print, in the
 format

    FMD<detector><ring>[<sector>,<string>]

 The wild card '*' means all of <detector>, <ring>, <sector>, or
 <strip>.
GetEntry(const char* path, AliFMDPreprocessor* pp, Bool_t fatal = kTRUE) const
 Get an entry from either global AliCDBManager or passed
 AliFMDPreprocessor.

 Parameters:
    path  Path to CDB object.
    pp    AliFMDPreprocessor
    fatal If true, raise a fatal flag if we didn't get the entry.
 Return:
    AliCDBEntry if found

InitPulseGain(AliFMDPreprocessor* pp = 0)
 Initialize gains.  Try to get them from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitPedestal(AliFMDPreprocessor* pp = 0)
 Initialize pedestals.  Try to get them from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitDeadMap(AliFMDPreprocessor* pp = 0)
 Initialize dead map.  Try to get it from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitZeroSuppression(AliFMDPreprocessor* pp = 0)
 Initialize zero suppression thresholds.  Try to get them from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitSampleRate(AliFMDPreprocessor* pp = 0)
 Initialize sample rates.  Try to get them from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitAltroMap(AliFMDPreprocessor* pp = 0)
 Initialize hardware map.  Try to get it from CDB

 Parameters:
    pp Pre-processor if called from shuttle

InitStripRange(AliFMDPreprocessor* pp = 0)
 Initialize strip range.  Try to get it from CDB

 Parameters:
    pp Pre-processor if called from shuttle

GetThreshold() const
 Get the threshold in the pulser gain


 Return:
    Threshold from pulser

GetPulseGain(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Gain of pre-amp. for strip, sector, ring, detector

 For simulations this is normally set to

 @f[
  \frac{\mbox{VA1_MIP_Range}{\mbox{ALTRO_channel_size}}\mbox{MIP_Energy_Loss}
 @f]


 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    Gain of pre-amp.

IsDead(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Whether the strip is considered dead

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    @c true if the strip is considered dead, @c false if it's
 OK.

GetZeroSuppression(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 zero suppression threshold (in ADC counts)

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    zero suppression threshold (in ADC counts)

GetSampleRate(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Get the sampling rate

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    The sampling rate

GetMinStrip(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Get the minimum strip in the read-out range

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    Minimum strip

GetMaxStrip(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Get the maximum strip in the read-out range

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    Maximum strip

GetPedestal(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Get mean of pedestal

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    Mean of pedestal

GetPedestalWidth(UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const
 Width of pedestal

 Parameters:
    detector Detector # (1-3)
    ring     Ring ID ('I' or 'O')
    sector   Sector number (0-39)
    strip    Strip number (0-511)

 Return:
    Width of pedestal

GetAltroMap() const
 Get the map that translates hardware to detector coordinates

 Return:
    Get the map that translates hardware to detector
 coordinates

Hardware2Detector(UShort_t ddl, UShort_t hwaddr, UShort_t timebin, UShort_t& det, Char_t& ring, UShort_t& sec, Short_t& str, UShort_t& sam) const
 Map a hardware address into a detector index.

 Parameters:
    ddl        Hardware DDL number
    addr       Hardware address.
    timebin    Timebin
    det        On return, the detector #
    ring       On return, the ring ID
    sec        On return, the sector #
    str        On return, the base of strip #
    sam        On return, the sample number for this strip

 Return:
    @c true on success, false otherwise

Hardware2Detector(UShort_t ddl, UShort_t board, UShort_t altro, UShort_t chan, UShort_t timebin, UShort_t& det, Char_t& ring, UShort_t& sec, Short_t& str, UShort_t& sam) const
 Map a hardware address into a detector index.

 Parameters:
    ddl        Hardware DDL number
    board      FEC number
    altro      ALTRO number
    channel    Channel number
    timebin    Timebin
    det        On return, the detector #
    ring       On return, the ring ID
    sec        On return, the sector #
    str        On return, the base of strip #
    sam        On return, the sample number for this strip

 Return:
    @c true on success, false otherwise

Detector2Hardware(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t sam, UShort_t& ddl, UShort_t& board, UShort_t& altro, UShort_t& channel, UShort_t& timebin) const
 Map a detector index into a hardware address.

 Parameters:
    det         The detector #
    ring        The ring ID
    sec         The sector #
    str         The strip #
    sam         The sample number
    ddl         On return, hardware DDL number
    board       On return, the FEC board address (local to DDL)
    altro       On return, the ALTRO number (local to FEC)
    channel     On return, the channel number (local to ALTRO)
    timebin     On return, the timebin number (local to ALTRO)

 Return:
    @c true on success, false otherwise

Detector2Hardware(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, UShort_t sam, UShort_t& ddl, UShort_t& hwaddr, UShort_t& timebin) const
 Map a detector index into a hardware address.

 Parameters:
    det         The detector #
    ring        The ring ID
    sec         The sector #
    str         The strip #
    sam         The sample number
    ddl         On return, hardware DDL number
    addr      On return, hardware address.
    timebin     On return, the timebin number (local to ALTRO)

 Return:
    @c true on success, false otherwise

GetEdepMip() const
 Return:
    The average energy deposited by one MIP

GetDACPerMIP() const
 This is the conversion from Digital-to-Analog-Converter setting
 to the number of MIPs. The number was measured in the NBI lab during
 August 2008.

 Return:
    The conversion factor from DAC to ADC

SetStripRange(UShort_t min = 0, UShort_t max = 127)
 Set fixed strip range
void SetVA1MipRange(UShort_t r = 20)
 @{ 
 @name Set various `Fixed' parameters 

   * @param r How many MIP signals we can fit in the VA1
   * pre-amps. (default and design is 20)

{ fVA1MipRange = r; }
void SetAltroChannelSize(UShort_t s = 1024)
   * @param s Maximum number of the ADC (ALTRO).  This is a 10 bit
   * ADC so, the maximum number is 1024

void SetChannelsPerAltro(UShort_t size = 128)
   * @param size The number of strips multiplexed into one ALTRO
   * channel. That is, how many strips is connected to one VA1
   * pre-amp.

{ fChannelsPerAltro = size; }
void SetPedestalFactor(Float_t f = 3)
   * @param f Factor to use for accepting a signal.

void SetZSPreSamples(UShort_t n = 1)
   * @param n Number of pre-samples to keep during zero-suppression -
   * only used in simulation.

{ fZSPre = (n & 0x3); }
void SetZSPostSamples(UShort_t n = 1)
   * @param n Number of post-samples to keep during zero-suppression -
   * only used in simulation.

{ fZSPost = (n & 0x3); }
void SetZSPedSubtract(Bool_t use = kTRUE)
   * @param use If true, do pedestal subtraction before zero
   * suppression - only used in simulation

{ fZSPedSubtract = use; }
void SetZeroSuppression(UShort_t s = 1)
 @} 
 @{ 
 @name Set various variable parameter defaults 

   * @param s Zero suppression threshold in ADC counts

void SetSampleRate(UShort_t r = 2)
   * @param r How many times we oversample each strip.

void SetSampleRate(AliFMDCalibSampleRate* r)
   * @param r How many times we oversample each strip.

{ fSampleRate = r; }
void SetPedestal(Float_t p = 100)
   * @param p Pedestal value in ADC counts

void SetPedestal(AliFMDCalibPedestal* p)
   * @param p Pedestal map

{ fPedestal = p; }
void SetPedestalWidth(Float_t w = 2)
   * @param w Pedestal width in ADC counts

void SetThreshold(Float_t t = 0)
   * @param t Threshold used for 1 MIP acceptance.

void SetStripRange(UShort_t min = 0, UShort_t max = 127)
   * Range of strips read out
   *
   * @param min Minimum strip number (0-127).
   * @param max Maximum strip number (0-127).

void UseCompleteHeader(Bool_t yes = kTRUE)
   * Whether raw data has full common data header (8 32bit words) or
   * the older invalid format (7 32bit words with bogus entries)
   *
   * @param yes if true the raw data has complete data header

void SetGain(AliFMDCalibGain* g)
   * @param g Gain map

{ fPulseGain = g; }
void SetGain(Float_t g = 2)
   * @param g Gain map

UShort_t GetVA1MipRange() const
 @} 
 @{ 
 @name Get `Fixed' various parameters 

   * @return Number of MIP signals that fit inside a VA1 channel

{ return fVA1MipRange; }
UShort_t GetAltroChannelSize() const
   * @return The maximum count in the ADC

{ return fAltroChannelSize; }
UShort_t GetChannelsPerAltro() const
   * @return Number of strips muliplexed into one ADC channel

{ return fChannelsPerAltro; }
Float_t GetPedestalFactor()
   * @return The factor used of signal acceptance

{ return fPedestalFactor; }
UShort_t GetZSPreSamples() const
   * @param n Number of pre-samples to keep during zero-suppression -
   * only used in simulation.

{ return fZSPre; }
UShort_t GetZSPostSamples() const
   * @param n Number of post-samples to keep during zero-suppression -
   * only used in simulation.

{ return fZSPost; }
Bool_t IsZSPedSubtract() const
   * @param use If true, do pedestal subtraction before zero
   * suppression - only used in simulation

{ return fZSPedSubtract; }
UShort_t GetPreSamples(UShort_t , Char_t , UShort_t , UShort_t ) const
   * Get the number of pre-samples in ALTRO channels
   *
   * @param detector Detector # (1-3)
   * @param ring     Ring ID ('I' or 'O')
   * @param sector   Sector number (0-39)
   * @param strip    Strip number (0-511)
   *
   * @return Maximum strip

Bool_t HasCompleteHeader() const
   * Whether raw data has full common data header (8 32bit words) or
   * the older invalid format (7 32bit words with bogus entries)
   *
   * @return false if the raw data has incomplete data header

{ return fHasCompleteHeader; }
const char* PulseGainPath()
 @} 
{ return fgkPulseGain; }
const char* PedestalPath()
{ return fgkPedestal; }
const char* DeadPath()
{ return fgkDead; }
const char* SampleRatePath()
{ return fgkSampleRate; }
const char* AltroMapPath()
{ return fgkAltroMap; }
const char* ZeroSuppressionPath()
{ return fgkZeroSuppression; }
const char* StripRangePath()
{ return fgkStripRange; }
const char* GetPedestalShuttleID()
const char* GetGainShuttleID()
{return fkGainShuttleID;}
const char* GetConditionsShuttleID()
AliFMDParameters()
   * CTOR

AliFMDParameters& operator=(const AliFMDParameters& )
   * Assignement operator
   *
   * @return Reference to this

{ return *this; }