Added ITS Alignment interface to MillePede2 and related supermodule class
[u/mrichter/AliRoot.git] / FMD / AliFMDDigit.cxx
CommitLineData
4347b38f 1/**************************************************************************
2 * Copyright(c) 2004, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
4347b38f 15/* $Id$ */
c2fc1258 16/** @file AliFMDDigit.cxx
17 @author Christian Holm Christensen <cholm@nbi.dk>
18 @date Mon Mar 27 12:37:41 2006
19 @brief Digits for the FMD
20*/
4347b38f 21//////////////////////////////////////////////////////////////////////
22//
23// Digits classes for the FMD
24//
25// Digits consists of
26// - Detector #
27// - Ring ID
28// - Sector #
29// - Strip #
30// - ADC count in this channel
31//
32// Digits consists of
33// - Detector #
34// - Ring ID
35// - Sector #
36// - Strip #
37// - Total energy deposited in the strip
38// - ADC count in this channel
39//
40// As the Digits and SDigits have so much in common, the classes
41// AliFMDDigit and AliFMDSDigit are implemented via a base
42// class AliFMDBaseDigit.
43///
44// +-----------------+
45// | AliFMDBaseDigit |
46// +-----------------+
47// ^
48// |
49// +------------+
50// | |
51// +-------------+ +--------------+
52// | AliFMDDigit | | AliFMDSDigit |
53// +-------------+ +--------------+
54//
55// (Note, that I'd really would have liked to implement AliFMDHit as a
56// derived class from some base class - say AliFMDStrip, and the Digit
57// classes would (eventually) have derived from that as well.
58// However, ROOT doesn't do well with multiple inheritance, so I chose
59// not to anyway).
60//
61// Latest changes by Christian Holm Christensen
62//
63//////////////////////////////////////////////////////////////////////
64
e802be3e 65#include "AliFMDDigit.h" // ALIFMDDIGIT_H
66#include "Riostream.h" // ROOT_Riostream
8f6ee336 67#include <TString.h>
4347b38f 68
69//====================================================================
925e6570 70ClassImp(AliFMDDigit)
2aeec17d 71#if 0
72; // Here to make Emacs happy
73#endif
4347b38f 74
75//____________________________________________________________________
76AliFMDDigit::AliFMDDigit()
77 : fCount1(0),
78 fCount2(-1),
2aeec17d 79 fCount3(-1),
80 fCount4(-1)
02a27b50 81{
82 // CTOR
83}
4347b38f 84
85//____________________________________________________________________
86AliFMDDigit::AliFMDDigit(UShort_t detector,
87 Char_t ring,
88 UShort_t sector,
89 UShort_t strip,
90 UShort_t count1,
91 Short_t count2,
2aeec17d 92 Short_t count3,
93 Short_t count4)
4347b38f 94 : AliFMDBaseDigit(detector, ring, sector, strip),
95 fCount1(count1),
96 fCount2(count2),
2aeec17d 97 fCount3(count3),
98 fCount4(count4)
4347b38f 99{
100 //
101 // Creates a real data digit object
102 //
103 // Parameters
104 //
105 // detector Detector # (1, 2, or 3)
106 // ring Ring ID ('I' or 'O')
107 // sector Sector # (For inner/outer rings: 0-19/0-39)
108 // strip Strip # (For inner/outer rings: 0-511/0-255)
109 // count1 ADC count (a 10-bit word)
110 // count2 ADC count (a 10-bit word) -1 if not used
111 // count3 ADC count (a 10-bit word) -1 if not used
112}
113
114//____________________________________________________________________
bf000c32 115const char*
116AliFMDDigit::GetTitle() const
117{
02a27b50 118 // Get the title
bf000c32 119 static TString t;
120 t = Form("ADC: %d", Counts());
121 return t.Data();
122}
123
124//____________________________________________________________________
4347b38f 125void
126AliFMDDigit::Print(Option_t* /* option*/) const
127{
128 // Print digit to standard out
129 AliFMDBaseDigit::Print();
7c09877a 130 cout << "\t"
2aeec17d 131 << fCount1 << " (" << fCount2 << "," << fCount3 << "," << fCount4
132 << ") = " << Counts() << endl;
4347b38f 133}
134
4347b38f 135//____________________________________________________________________
136//
137// EOF
138//