ROOT logo
#ifndef ALIFMDCALIBSAMPLERATE_H
#define ALIFMDCALIBSAMPLERATE_H
/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights
 * reserved. 
 *
 * See cxx source for full Copyright notice                               
 */
//____________________________________________________________________
//                                                                          
// This class stores the sample rate (that is, how many times the
// ATLRO's sample each VA1 channel).  In principle these can be
// controlled per half ring, but in real life it's most likely that
// this value will be the same for all detectors.  This value must be
// retrived from DCS or the like. 
//
/** @file    AliFMDCalibSampleRate.h
    @author  Christian Holm Christensen <cholm@nbi.dk>
    @date    Sun Mar 26 18:32:14 2006
    @brief   Per digitizer card pulser calibration
    @ingroup FMD_base    
*/

#include <iosfwd>
#ifndef ROOT_TObject
# include <TObject.h>
#endif
#ifndef ALIFMDUSHORTMAP_H
# include "AliFMDUShortMap.h"
#endif
#ifndef ROOT_TArrayI
# include <TArrayI.h>
#endif
//____________________________________________________________________
/** @brief Per digitizer card pulser calibration
    @ingroup FMD_base
*/
class AliFMDCalibSampleRate : public TObject
{
public:
  /** CTOR */
  AliFMDCalibSampleRate();
  /** 
   * Copy CTOR
   *
   * @param o Object to copy from  
   */
  AliFMDCalibSampleRate(const AliFMDCalibSampleRate& o);
  /** 
   * Assignment operator 
   *
   * @param o Object to assign from 
   *
   * @return Reference to this object 
   */
  AliFMDCalibSampleRate& operator=(const AliFMDCalibSampleRate& o);
  /** 
   * Set sample for a sector
   *
   * @param det   Detector #
   * @param ring  Ring ID 
   * @param sec   Sector # 
   * @param str   Strip number (not used)
   * @param rate  Sample rate 
   */
  void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, 
	   UShort_t rate);
  /** 
   * Get sample rate for a sector
   *
   * @param det  Detector #
   * @param ring Ring ID 
   * @param sec  Sector # 
   * @param str  Strip number (not used)
   *
   * @return Sample rate 
   */
  UShort_t Rate(UShort_t det, Char_t ring, UShort_t sec, UShort_t str=0) const;
  /** 
   * Write stored samplerates to file
   *
   * @param outFile Output file stream
   */
  void WriteToFile(std::ostream & outFile, Bool_t* detectors=0);
  /** 
   * Read information from file and set sample rates
   *
   * @param inFile input file stream
   */
  void ReadFromFile(std::istream & inFile);

  const AliFMDUShortMap& Rates() const { return fRates; }
protected:
  // TArrayI fRates; // Sample rates 
  AliFMDUShortMap fRates; // Sample rates
  ClassDef(AliFMDCalibSampleRate,2); // Sample rates 
};

#endif
//____________________________________________________________________
//
// Local Variables:
//   mode: C++
// End:
//


 AliFMDCalibSampleRate.h:1
 AliFMDCalibSampleRate.h:2
 AliFMDCalibSampleRate.h:3
 AliFMDCalibSampleRate.h:4
 AliFMDCalibSampleRate.h:5
 AliFMDCalibSampleRate.h:6
 AliFMDCalibSampleRate.h:7
 AliFMDCalibSampleRate.h:8
 AliFMDCalibSampleRate.h:9
 AliFMDCalibSampleRate.h:10
 AliFMDCalibSampleRate.h:11
 AliFMDCalibSampleRate.h:12
 AliFMDCalibSampleRate.h:13
 AliFMDCalibSampleRate.h:14
 AliFMDCalibSampleRate.h:15
 AliFMDCalibSampleRate.h:16
 AliFMDCalibSampleRate.h:17
 AliFMDCalibSampleRate.h:18
 AliFMDCalibSampleRate.h:19
 AliFMDCalibSampleRate.h:20
 AliFMDCalibSampleRate.h:21
 AliFMDCalibSampleRate.h:22
 AliFMDCalibSampleRate.h:23
 AliFMDCalibSampleRate.h:24
 AliFMDCalibSampleRate.h:25
 AliFMDCalibSampleRate.h:26
 AliFMDCalibSampleRate.h:27
 AliFMDCalibSampleRate.h:28
 AliFMDCalibSampleRate.h:29
 AliFMDCalibSampleRate.h:30
 AliFMDCalibSampleRate.h:31
 AliFMDCalibSampleRate.h:32
 AliFMDCalibSampleRate.h:33
 AliFMDCalibSampleRate.h:34
 AliFMDCalibSampleRate.h:35
 AliFMDCalibSampleRate.h:36
 AliFMDCalibSampleRate.h:37
 AliFMDCalibSampleRate.h:38
 AliFMDCalibSampleRate.h:39
 AliFMDCalibSampleRate.h:40
 AliFMDCalibSampleRate.h:41
 AliFMDCalibSampleRate.h:42
 AliFMDCalibSampleRate.h:43
 AliFMDCalibSampleRate.h:44
 AliFMDCalibSampleRate.h:45
 AliFMDCalibSampleRate.h:46
 AliFMDCalibSampleRate.h:47
 AliFMDCalibSampleRate.h:48
 AliFMDCalibSampleRate.h:49
 AliFMDCalibSampleRate.h:50
 AliFMDCalibSampleRate.h:51
 AliFMDCalibSampleRate.h:52
 AliFMDCalibSampleRate.h:53
 AliFMDCalibSampleRate.h:54
 AliFMDCalibSampleRate.h:55
 AliFMDCalibSampleRate.h:56
 AliFMDCalibSampleRate.h:57
 AliFMDCalibSampleRate.h:58
 AliFMDCalibSampleRate.h:59
 AliFMDCalibSampleRate.h:60
 AliFMDCalibSampleRate.h:61
 AliFMDCalibSampleRate.h:62
 AliFMDCalibSampleRate.h:63
 AliFMDCalibSampleRate.h:64
 AliFMDCalibSampleRate.h:65
 AliFMDCalibSampleRate.h:66
 AliFMDCalibSampleRate.h:67
 AliFMDCalibSampleRate.h:68
 AliFMDCalibSampleRate.h:69
 AliFMDCalibSampleRate.h:70
 AliFMDCalibSampleRate.h:71
 AliFMDCalibSampleRate.h:72
 AliFMDCalibSampleRate.h:73
 AliFMDCalibSampleRate.h:74
 AliFMDCalibSampleRate.h:75
 AliFMDCalibSampleRate.h:76
 AliFMDCalibSampleRate.h:77
 AliFMDCalibSampleRate.h:78
 AliFMDCalibSampleRate.h:79
 AliFMDCalibSampleRate.h:80
 AliFMDCalibSampleRate.h:81
 AliFMDCalibSampleRate.h:82
 AliFMDCalibSampleRate.h:83
 AliFMDCalibSampleRate.h:84
 AliFMDCalibSampleRate.h:85
 AliFMDCalibSampleRate.h:86
 AliFMDCalibSampleRate.h:87
 AliFMDCalibSampleRate.h:88
 AliFMDCalibSampleRate.h:89
 AliFMDCalibSampleRate.h:90
 AliFMDCalibSampleRate.h:91
 AliFMDCalibSampleRate.h:92
 AliFMDCalibSampleRate.h:93
 AliFMDCalibSampleRate.h:94
 AliFMDCalibSampleRate.h:95
 AliFMDCalibSampleRate.h:96
 AliFMDCalibSampleRate.h:97
 AliFMDCalibSampleRate.h:98
 AliFMDCalibSampleRate.h:99
 AliFMDCalibSampleRate.h:100
 AliFMDCalibSampleRate.h:101
 AliFMDCalibSampleRate.h:102
 AliFMDCalibSampleRate.h:103
 AliFMDCalibSampleRate.h:104
 AliFMDCalibSampleRate.h:105
 AliFMDCalibSampleRate.h:106