]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDDigit.cxx
name change Int/Diff RP/POI
[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
4347b38f 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//____________________________________________________________________
faf80567 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,
92 Short_t count3,
93 Short_t count4,
94 const TArrayI& refs)
4347b38f 95 : AliFMDBaseDigit(detector, ring, sector, strip),
96 fCount1(count1),
97 fCount2(count2),
2aeec17d 98 fCount3(count3),
99 fCount4(count4)
4347b38f 100{
101 //
102 // Creates a real data digit object
103 //
104 // Parameters
105 //
106 // detector Detector # (1, 2, or 3)
107 // ring Ring ID ('I' or 'O')
108 // sector Sector # (For inner/outer rings: 0-19/0-39)
109 // strip Strip # (For inner/outer rings: 0-511/0-255)
110 // count1 ADC count (a 10-bit word)
111 // count2 ADC count (a 10-bit word) -1 if not used
112 // count3 ADC count (a 10-bit word) -1 if not used
faf80567 113 for (Int_t i = 0; i < refs.fN; i++) AddTrack(refs.fArray[i]);
4347b38f 114}
115
bf000c32 116//____________________________________________________________________
117const char*
118AliFMDDigit::GetTitle() const
119{
02a27b50 120 // Get the title
bf000c32 121 static TString t;
122 t = Form("ADC: %d", Counts());
123 return t.Data();
124}
125
4347b38f 126//____________________________________________________________________
127void
faf80567 128AliFMDDigit::Print(Option_t* option) const
4347b38f 129{
130 // Print digit to standard out
131 AliFMDBaseDigit::Print();
faf80567 132 std::cout << "\t"
133 << std::setw(4) << fCount1 << " ("
134 << std::setw(4) << fCount2 << ","
135 << std::setw(4) << fCount3 << ","
136 << std::setw(4) << fCount4 << ") = "
137 << std::setw(4) << Counts() << std::flush;
138 TString opt(option);
139 if (opt.Contains("l", TString::kIgnoreCase)) {
140 std::cout << " ";
141 for (Int_t i = 0; i < 3; i++)
142 std::cout << (i == 0 ? "" : ",") << std::setw(5) << fTracks[i];
143 }
144 std::cout << std::endl;
4347b38f 145}
146
4347b38f 147//____________________________________________________________________
148//
149// EOF
150//