Taking into account the time information of the hit in the digitization
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 9 Nov 2009 16:37:07 +0000 (16:37 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 9 Nov 2009 16:37:07 +0000 (16:37 +0000)
- done in AliMUONSDigitizerV2, still to be done in AliMUONDigitizerV3.
(Mercedes)

MUON/AliMUONDigit.cxx
MUON/AliMUONDigit.h
MUON/AliMUONSDigitizerV2.cxx
MUON/AliMUONVDigit.h

index f78a5d4..793d3ad 100644 (file)
@@ -51,6 +51,7 @@ fNtracks(0),
 fTcharges(0x0),
 fTracks(0x0),
 fHit(0),
+fTime(0),
 fStatusMap(0)
 {
   /// Default constructor
@@ -74,6 +75,7 @@ fNtracks(0),
 fTcharges(0x0),
 fTracks(0x0),
 fHit(0),
+fTime(0),
 fStatusMap(0)
 {
   /// Normal constructor
@@ -96,6 +98,7 @@ fNtracks(0),
 fTcharges(0x0),
 fTracks(0x0),
 fHit(0),
+fTime(0),
 fStatusMap(0)
 {
   /// Copy constructor
@@ -204,6 +207,7 @@ AliMUONDigit::Copy(TObject& obj) const
   }
   
   digit.fHit = fHit;
+  digit.fTime = fTime;
   digit.fStatusMap = fStatusMap;
 }
 
index 0960eea..f895d25 100644 (file)
@@ -39,6 +39,8 @@ class AliMUONDigit : public AliMUONVDigit
     
     virtual Int_t Hit() const          {return fHit;}        ///< Return MC hit number
     
+    virtual Float_t Time() const       {return fTime;}       /// Return MC hit age
+
     virtual Int_t Ntracks() const { return fNtracks; }       ///< Return MC tracks making to this digit
     virtual void AddTrack(Int_t trackNumber, Float_t trackCharge);
     virtual Int_t Track(Int_t i) const;
@@ -60,6 +62,7 @@ class AliMUONDigit : public AliMUONVDigit
     virtual void SetPadXY(Int_t padx, Int_t pady)        {fPadX = padx; fPadY=pady; }      ///< Set pad number along x
     virtual void SetCharge(Float_t q)        {fSignal = q;}    ///< Set charge
     virtual void SetHit(Int_t n)           {fHit = n;}         ///< Set MC hit number
+    virtual void SetTime(Float_t t) {fTime = t;}               ///< Set MC hit age
     virtual void SetStatusMap(UInt_t statusMap) { fStatusMap = statusMap; } ///< Set status map
     
     virtual void Copy(TObject& digit) const;
@@ -104,6 +107,7 @@ private:
     Int_t* fTracks;       //[fNtracks]  primary MC tracks making this digit
 
     Int_t fHit;           ///< MC hit number - temporary solution
+    Float_t fTime;        ///< MC hit age
   
     UInt_t fStatusMap; ///< Neighbouring pad status (whether ped, gains, hv were ok or not)
     
@@ -113,7 +117,7 @@ private:
     static const UInt_t fgkNoiseOnlyMask = 0x1000; ///< indicate a simulated digit due to noise only
     static const UInt_t fgkEfficiencyMask = 0x2000; ///< indicate chamber efficiency has been applied to a simulated digit
     
-    ClassDef(AliMUONDigit,9)  //Digits for MUON
+    ClassDef(AliMUONDigit,10)  //Digits for MUON
 };
 
 #endif
index fa6c123..6d28bfd 100644 (file)
@@ -161,6 +161,8 @@ AliMUONSDigitizerV2::Exec(Option_t*)
       while ( ( hit = static_cast<AliMUONHit*>(next()) ) )       
       {
         Int_t chamberId = hit->Chamber()-1;
+       Float_t age = hit->Age();
+
         AliMUONChamber& chamber = muon->Chamber(chamberId);
         AliMUONResponse* response = chamber.ResponseModel();
         
@@ -175,6 +177,7 @@ AliMUONSDigitizerV2::Exec(Option_t*)
           // Update some sdigit information that could not be known
           // by the DisIntegrate method
           d->SetHit(ihit);
+         d->SetTime(age);
           d->AddTrack(hit->GetTrack(),d->Charge());
           tdlist.Add(d);
         }
index 636c1b1..0bcbd93 100644 (file)
@@ -109,6 +109,10 @@ public:
   virtual Int_t Hit() const { return 0; }
   /// Set the hit number
   virtual void SetHit(Int_t /*n*/) { }
+  /// Hit age
+    virtual Float_t Time() const       {return 0;}
+  /// Set hit age
+      virtual void SetTime(Float_t /*t*/) { } 
   /// Number of tracks contributing to this digit
   virtual Int_t Ntracks() const { return 0; }
   /// Add a track (and its charge) to the list of tracks we handle