*
* See cxx source for full Copyright notice
*/
-/** @file AliFMDParameters.h
- @author Christian Holm Christensen <cholm@nbi.dk>
- @date Mon Mar 27 12:44:43 2006
- @brief Manager of FMD parameters
-*/
//____________________________________________________________________
//
// Singleton class to handle various parameters (not geometry) of the
// FMD
// Should get ata fromm Conditions DB.
//
+/** @file AliFMDParameters.h
+ @author Christian Holm Christensen <cholm@nbi.dk>
+ @date Mon Mar 27 12:44:43 2006
+ @brief Manager of FMD parameters
+*/
#ifndef ROOT_TNamed
# include <TNamed.h>
#endif
class AliFMDCalibSampleRate;
class AliFMDCalibStripRange;
class AliFMDAltroMapping;
+//____________________________________________________________________
+//
+// Singleton class to handle various parameters (not geometry) of the
+// FMD
+// Should get ata fromm Conditions DB.
+//
/** @brief This class is a singleton that handles various parameters
of the FMD detectors.
/** Initialize the manager. This tries to read the parameters from
CDB. If that fails, the class uses the hard-coded parameters.
*/
- void Init();
+ void Init(Bool_t forceReInit=kFALSE);
/** Print all parameters.
@param option Option string */
void Print(Option_t* option="A") const;
+ /** Draw parameters.
+ @param 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
+ */
+ void Draw(Option_t* option="pedestal");
/** @{ */
/** @name Set various `Fixed' parameters */
AliFMDAltroMapping* GetAltroMap() const;
/** @} */
- enum {
- kBaseDDL = 0x1000 // DDL offset for the FMD
- };
- static const char* fgkPulseGain; // Path to PulseGain calib object
- static const char* fgkPedestal; // Path to Pedestal calib object
- static const char* fgkDead; // Path to Dead calib object
- static const char* fgkSampleRate; // Path to SampleRate calib object
- static const char* fgkAltroMap; // Path to AltroMap calib object
- static const char* fgkZeroSuppression; // Path to ZeroSuppression cal object
- static const char* fgkStripRange; // Path to strip range cal object
+ static const char* PulseGainPath() { return fgkPulseGain; }
+ static const char* PedestalPath() { return fgkPedestal; }
+ static const char* DeadPath() { return fgkDead; }
+ static const char* SampleRatePath() { return fgkSampleRate; }
+ static const char* AltroMapPath() { return fgkAltroMap; }
+ static const char* ZeroSuppressionPath() { return fgkZeroSuppression; }
+ static const char* StripRangePath() { return fgkStripRange; }
protected:
/** CTOR */
AliFMDParameters();
+ /** CTOR */
+ AliFMDParameters(const AliFMDParameters& o)
+ : TNamed(o),
+ fIsInit(o.fIsInit),
+ fkSiDeDxMip(o.fkSiDeDxMip),
+ fVA1MipRange(o.fVA1MipRange),
+ fAltroChannelSize(o.fAltroChannelSize),
+ fChannelsPerAltro(o.fChannelsPerAltro),
+ fPedestalFactor(o.fPedestalFactor),
+ fFixedPedestal(o.fFixedPedestal),
+ fFixedPedestalWidth(o.fFixedPedestalWidth),
+ fFixedZeroSuppression(o.fFixedZeroSuppression),
+ fFixedSampleRate(o.fFixedSampleRate),
+ fFixedThreshold(o.fFixedThreshold),
+ fFixedMinStrip(o.fFixedMinStrip),
+ fFixedMaxStrip(o.fFixedMaxStrip),
+ fFixedPulseGain(o.fFixedPulseGain),
+ fEdepMip(o.fEdepMip),
+ fZeroSuppression(o.fZeroSuppression),
+ fSampleRate(o.fSampleRate),
+ fPedestal(o.fPedestal),
+ fPulseGain(o.fPulseGain),
+ fDeadMap(o.fDeadMap),
+ fAltroMap(o.fAltroMap),
+ fStripRange(o.fStripRange)
+ {}
+ /** Assignement operator
+ @return Reference to this */
+ AliFMDParameters& operator=(const AliFMDParameters&) { return *this; }
/** DTOR */
virtual ~AliFMDParameters() {}
/** Singleton instance */
Bool_t fIsInit; // Whether we've been initialised
- const Float_t fSiDeDxMip; // MIP dE/dx in Silicon
+ static const char* fgkPulseGain; // Path to PulseGain calib object
+ static const char* fgkPedestal; // Path to Pedestal calib object
+ static const char* fgkDead; // Path to Dead calib object
+ static const char* fgkSampleRate; // Path to SampleRate calib object
+ static const char* fgkAltroMap; // Path to AltroMap calib object
+ static const char* fgkZeroSuppression; // Path to ZeroSuppression cal object
+ static const char* fgkStripRange; // Path to strip range cal object
+ const Float_t fkSiDeDxMip; // MIP dE/dx in Silicon
UShort_t fVA1MipRange; // # MIPs the pre-amp can do
UShort_t fAltroChannelSize; // Largest # to store in 1 ADC ch.
UShort_t fChannelsPerAltro; // Number of pre-amp. chan/adc chan.
Float_t fFixedPedestalWidth; // Width of pedestal
UShort_t fFixedZeroSuppression; // Threshold for zero-suppression
UShort_t fFixedSampleRate; // Times the ALTRO samples pre-amp.
- Float_t fFixedThreshold; //
- UShort_t fFixedMinStrip;
- UShort_t fFixedMaxStrip;
+ Float_t fFixedThreshold; // Threshold in ADC counts
+ UShort_t fFixedMinStrip; // Minimum strip read-out
+ UShort_t fFixedMaxStrip; // Maximum strip read-out
mutable Float_t fFixedPulseGain; //! Gain (cached)
mutable Float_t fEdepMip; //! Cache of energy loss for a MIP
AliFMDAltroMapping* fAltroMap; // Map of hardware
AliFMDCalibStripRange* fStripRange; // Strip range
- ClassDef(AliFMDParameters,4)
+ ClassDef(AliFMDParameters,5) // Manager of parameters
};
#endif