ROOT logo
#ifndef ALIFMDSDIGIT_H
#define ALIFMDSDIGIT_H
/** @file    AliFMDSDigit.h
    @author  Christian Holm Christensen <cholm@nbi.dk>
    @date    Mon Mar 27 12:37:41 2006
    @brief   Digits for the FMD 
*/
//___________________________________________________________________
//
//  Digits classes for the FMD
//  AliFMDBaseDigit - base class 
//  AliFMDDigit     - Normal (smeared) digit             
//  AliFMDSDigit    - Summable (non-smeared) digit             
//
#ifndef ALIFMDBASEDIGIT_H
# include <AliFMDBaseDigit.h>
#endif
// #ifndef ROOT_TArrayI
// # include <TArrayI.h>
// #endif

//____________________________________________________________________
/** @class AliFMDSDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
    @brief class for summable digits 
    @ingroup FMD_base
 */
class AliFMDSDigit : public AliFMDBaseDigit
{
public:
  /** 
   * CTOR 
   */
  AliFMDSDigit();
  /** 
   * Constrctor 
   *
   * @param detector Detector 
   * @param ring     Ring
   * @param sector   Sector
   * @param strip    Strip 
   * @param edep     Energy deposited 
   * @param count    ADC (first sample)
   * @param count2   ADC (second sample, or -1 if not used)
   * @param count3   ADC (third sample, or -1 if not used) 
   */
  AliFMDSDigit(UShort_t       detector, 
	       Char_t         ring='\0', 
	       UShort_t       sector=0, 
	       UShort_t       strip=0, 
	       Float_t        edep=0,
	       UShort_t       count=0, 
	       Short_t        count2=-1, 
	       Short_t        count3=-1,
	       Short_t        count4=-1,
	       UShort_t       npart=0,
	       UShort_t       nprim=0, 
	       const Int_t*   refs=0);
  /** 
   * DTOR 
   */
  virtual ~AliFMDSDigit() {}
  /** 
   * 
   * @return ADC count (first sample) 
   */
  UShort_t Count1() const { return fCount1;   }
  /** 
   * 
   * @return ADC count (second sample, or -1 if not used) 
   */
  Short_t  Count2() const { return fCount2;   }
  /** 
   * 
   * @return ADC count (third sample, or -1 if not used) 
   */
  Short_t  Count3() const { return fCount3;   }
  /** 
   * 
   * @return ADC count (third sample, or -1 if not used) 
   */
  Short_t  Count4() const { return fCount4;   }
  /** 
   *
   * @return Canonical ADC counts 
   */
  UShort_t Counts() const;
  /** 
   * 
   * @return Energy deposited 
   */
  Float_t  Edep() const { return fEdep;     }
  /** 
   * 
   * @return Number of particles that hit this strip 
   */
  UShort_t NParticles() const { return fNParticles; }
  /** 
   * 
   * @return Number of primary particles that hit this strip 
   */
  UShort_t NPrimaries() const { return fNPrimaries; }
#if 0
  /** @return the track labels */
  const TArrayI& TrackLabels() const { return fLabels; }
#endif
  /** 
   * Print info 
   *
   * @param opt Not used 
   */
  void     Print(Option_t* opt="") const;
  /** 
   * Set the count value 
   * 
   * @param s Sample number 
   * @param c Counts 
   */
  void SetCount(UShort_t s, Short_t c);
protected:
  Float_t  fEdep;       // Energy deposited 
  UShort_t fCount1;     // Digital signal 
  Short_t  fCount2;     // Digital signal (-1 if not used)
  Short_t  fCount3;     // Digital signal (-1 if not used)
  Short_t  fCount4;     // Digital signal (-1 if not used)
  UShort_t fNParticles; // Total number of particles that hit this strip
  UShort_t fNPrimaries; // Number of primary particles that his this strip
#if 0
  TArrayI  fLabels;     // MC-truth track labels
#endif
  ClassDef(AliFMDSDigit,5)     // Summable FMD digit
};
  
inline UShort_t 
AliFMDSDigit::Counts() const 
{
  if (fCount4 >= 0) return fCount3;
  if (fCount3 >= 0) return fCount2;
  if (fCount2 >= 0) return fCount2;
  return fCount1;
}

inline void
AliFMDSDigit::SetCount(UShort_t i, Short_t c)
{
  switch (i) {
  case 0: fCount1 = c; break;
  case 1: fCount2 = c; break;
  case 2: fCount3 = c; break;
  case 3: fCount4 = c; break;
  }
}

#endif
//____________________________________________________________________
//
// Local Variables:
//   mode: C++
// End:
//
//
// EOF
//
 AliFMDSDigit.h:1
 AliFMDSDigit.h:2
 AliFMDSDigit.h:3
 AliFMDSDigit.h:4
 AliFMDSDigit.h:5
 AliFMDSDigit.h:6
 AliFMDSDigit.h:7
 AliFMDSDigit.h:8
 AliFMDSDigit.h:9
 AliFMDSDigit.h:10
 AliFMDSDigit.h:11
 AliFMDSDigit.h:12
 AliFMDSDigit.h:13
 AliFMDSDigit.h:14
 AliFMDSDigit.h:15
 AliFMDSDigit.h:16
 AliFMDSDigit.h:17
 AliFMDSDigit.h:18
 AliFMDSDigit.h:19
 AliFMDSDigit.h:20
 AliFMDSDigit.h:21
 AliFMDSDigit.h:22
 AliFMDSDigit.h:23
 AliFMDSDigit.h:24
 AliFMDSDigit.h:25
 AliFMDSDigit.h:26
 AliFMDSDigit.h:27
 AliFMDSDigit.h:28
 AliFMDSDigit.h:29
 AliFMDSDigit.h:30
 AliFMDSDigit.h:31
 AliFMDSDigit.h:32
 AliFMDSDigit.h:33
 AliFMDSDigit.h:34
 AliFMDSDigit.h:35
 AliFMDSDigit.h:36
 AliFMDSDigit.h:37
 AliFMDSDigit.h:38
 AliFMDSDigit.h:39
 AliFMDSDigit.h:40
 AliFMDSDigit.h:41
 AliFMDSDigit.h:42
 AliFMDSDigit.h:43
 AliFMDSDigit.h:44
 AliFMDSDigit.h:45
 AliFMDSDigit.h:46
 AliFMDSDigit.h:47
 AliFMDSDigit.h:48
 AliFMDSDigit.h:49
 AliFMDSDigit.h:50
 AliFMDSDigit.h:51
 AliFMDSDigit.h:52
 AliFMDSDigit.h:53
 AliFMDSDigit.h:54
 AliFMDSDigit.h:55
 AliFMDSDigit.h:56
 AliFMDSDigit.h:57
 AliFMDSDigit.h:58
 AliFMDSDigit.h:59
 AliFMDSDigit.h:60
 AliFMDSDigit.h:61
 AliFMDSDigit.h:62
 AliFMDSDigit.h:63
 AliFMDSDigit.h:64
 AliFMDSDigit.h:65
 AliFMDSDigit.h:66
 AliFMDSDigit.h:67
 AliFMDSDigit.h:68
 AliFMDSDigit.h:69
 AliFMDSDigit.h:70
 AliFMDSDigit.h:71
 AliFMDSDigit.h:72
 AliFMDSDigit.h:73
 AliFMDSDigit.h:74
 AliFMDSDigit.h:75
 AliFMDSDigit.h:76
 AliFMDSDigit.h:77
 AliFMDSDigit.h:78
 AliFMDSDigit.h:79
 AliFMDSDigit.h:80
 AliFMDSDigit.h:81
 AliFMDSDigit.h:82
 AliFMDSDigit.h:83
 AliFMDSDigit.h:84
 AliFMDSDigit.h:85
 AliFMDSDigit.h:86
 AliFMDSDigit.h:87
 AliFMDSDigit.h:88
 AliFMDSDigit.h:89
 AliFMDSDigit.h:90
 AliFMDSDigit.h:91
 AliFMDSDigit.h:92
 AliFMDSDigit.h:93
 AliFMDSDigit.h:94
 AliFMDSDigit.h:95
 AliFMDSDigit.h:96
 AliFMDSDigit.h:97
 AliFMDSDigit.h:98
 AliFMDSDigit.h:99
 AliFMDSDigit.h:100
 AliFMDSDigit.h:101
 AliFMDSDigit.h:102
 AliFMDSDigit.h:103
 AliFMDSDigit.h:104
 AliFMDSDigit.h:105
 AliFMDSDigit.h:106
 AliFMDSDigit.h:107
 AliFMDSDigit.h:108
 AliFMDSDigit.h:109
 AliFMDSDigit.h:110
 AliFMDSDigit.h:111
 AliFMDSDigit.h:112
 AliFMDSDigit.h:113
 AliFMDSDigit.h:114
 AliFMDSDigit.h:115
 AliFMDSDigit.h:116
 AliFMDSDigit.h:117
 AliFMDSDigit.h:118
 AliFMDSDigit.h:119
 AliFMDSDigit.h:120
 AliFMDSDigit.h:121
 AliFMDSDigit.h:122
 AliFMDSDigit.h:123
 AliFMDSDigit.h:124
 AliFMDSDigit.h:125
 AliFMDSDigit.h:126
 AliFMDSDigit.h:127
 AliFMDSDigit.h:128
 AliFMDSDigit.h:129
 AliFMDSDigit.h:130
 AliFMDSDigit.h:131
 AliFMDSDigit.h:132
 AliFMDSDigit.h:133
 AliFMDSDigit.h:134
 AliFMDSDigit.h:135
 AliFMDSDigit.h:136
 AliFMDSDigit.h:137
 AliFMDSDigit.h:138
 AliFMDSDigit.h:139
 AliFMDSDigit.h:140
 AliFMDSDigit.h:141
 AliFMDSDigit.h:142
 AliFMDSDigit.h:143
 AliFMDSDigit.h:144
 AliFMDSDigit.h:145
 AliFMDSDigit.h:146
 AliFMDSDigit.h:147
 AliFMDSDigit.h:148
 AliFMDSDigit.h:149
 AliFMDSDigit.h:150
 AliFMDSDigit.h:151
 AliFMDSDigit.h:152
 AliFMDSDigit.h:153
 AliFMDSDigit.h:154
 AliFMDSDigit.h:155
 AliFMDSDigit.h:156
 AliFMDSDigit.h:157
 AliFMDSDigit.h:158
 AliFMDSDigit.h:159
 AliFMDSDigit.h:160
 AliFMDSDigit.h:161
 AliFMDSDigit.h:162