-//
-#include "AliITS.h"
+////////////////////////////////////////////////
+// Digits classes for set:ITS //
+////////////////////////////////////////////////
+
+
#include "AliITSdigit.h"
-#include "AliRun.h"
-////////////////////////////////////////////////////////////////////////
-// Version: 0
-// Written by Rene Brun, Federico Carminati, and Roberto Barbera
-// Minor modifications made and documented by Bjorn S. Nilsen
-// July 11 1999
-//
-// The default ITS digit structure. This should either be replaced
-// or added on to later with the proper digit structure defined for
-// each detector type. See the proposed Digit structure defined by
-// Bjorn S. Nilsen for an example.
-//Begin_Html
-/*
-<img src="picts/ITS/AliITShit_Class_Diagram.gif">
-</pre>
-<br clear=left>
-<font size=+2 color=red>
-<p>This show the relasionships between the ITS digit class' and the rest of Aliroot.
-</font>
-<pre>
-*/
-//End_Html
-//_____________________________________________________________________________
+
ClassImp(AliITSdigit)
+//_____________________________________________________________________________
+
+AliITSdigit::AliITSdigit(Int_t *digits) {
+ //
+ // Creates a real data digit object
+ //
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+}
+
+
+ClassImp(AliITSdigitSPD)
+
+ //_________________________________________________________________________
+ AliITSdigitSPD::AliITSdigitSPD(Int_t *digits) {
+ //
+ // Creates a SPD digit object
+ //
+
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+
+}
-AliITSdigit::AliITSdigit(Int_t *tracks, Int_t *digits):
- AliDigit(tracks){
+//_____________________________________________________________________________
+AliITSdigitSPD::AliITSdigitSPD(Int_t *digits,Int_t *tracks) {
//
- // Create ITS digit
- // The creator for the AliITSdigit class. This routine fills the
- // AliITSdigit data members from the array digits. The array of track
- // numbers are passed to the AliDigit creator. The order of the elements
- // in the digits array are fEvent = digits[0], fLayer = digits[1],
- // fLadder = digits[2], fDet = digits[3], and fNoverl = digits[4].
- // Therefore the array digits is expected to be at least 5 elements long.
+ // Creates a simulated SPD digit object
//
- fEvent = digits[0];
- fLayer = digits[1];
- fLadder = digits[2];
- fDet = digits[3];
- fNoverl = digits[4];
+
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+
+ Int_t i;
+ for(i=0; i<3; i++) {
+ fTracks[i] = tracks[i];
+ }
}
+
+
+ClassImp(AliITSdigitSDD)
+ //________________________________________________________________________
+ AliITSdigitSDD::AliITSdigitSDD(Float_t phys,Int_t *digits) {
+ //
+ // Creates a simulated SDD digit object to be updated
+ //
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+ fPhysics = phys;
+}
+
+//_____________________________________________________________________________
+AliITSdigitSDD::AliITSdigitSDD(Float_t phys,Int_t *digits,Int_t *tracks, Float_t *charges) {
+ //
+ // Creates a simulated SDD digit object
+ //
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+ fPhysics = phys;
+
+ Int_t i;
+ for(i=0; i<3; i++) {
+ fTcharges[i] = charges[i];
+ fTracks[i] = tracks[i];
+ }
+}
+
+
+ClassImp(AliITSTransientDigit)
+ //_______________________________________________________________________
+ AliITSTransientDigit::AliITSTransientDigit(Float_t phys,Int_t *digits):
+ AliITSdigitSDD(phys,digits) {
+ //
+ // Creates a digit object in a list of digits to be updated
+ //
+ fTrackList = new TObjArray;
+}
+
+//__________________________________________________________________________
+AliITSTransientDigit::AliITSTransientDigit(const AliITSTransientDigit &source){
+ // Copy Constructor
+ if(&source == this) return;
+ this->fTrackList = source.fTrackList;
+ return;
+}
+
+//_________________________________________________________________________
+AliITSTransientDigit&
+ AliITSTransientDigit::operator=(const AliITSTransientDigit &source) {
+ // Assignment operator
+ if(&source == this) return *this;
+ this->fTrackList = source.fTrackList;
+ return *this;
+}
+
+ClassImp(AliITSdigitSSD)
+ //__________________________________________________________________________
+ AliITSdigitSSD::AliITSdigitSSD(Int_t *digits) {
+ //
+ // Creates a real SSD digit object
+ //
+
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+
+}
+
+//_____________________________________________________________________________
+AliITSdigitSSD::AliITSdigitSSD(Int_t *digits,Int_t *tracks) {
+ //
+ // Creates a simulated SSD digit object
+ //
+
+ fCoord1 = digits[0];
+ fCoord2 = digits[1];
+ fSignal = digits[2];
+
+ Int_t i;
+ for(i=0; i<3; i++) {
+ fTracks[i] = tracks[i];
+ }
+}
+