Added AliTOFhitT0 class
authorvicinanz <vicinanz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 13 Feb 2002 16:53:18 +0000 (16:53 +0000)
committervicinanz <vicinanz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 13 Feb 2002 16:53:18 +0000 (16:53 +0000)
TOF/AliTOFConstants.cxx
TOF/AliTOFConstants.h
TOF/AliTOFhitT0.cxx [new file with mode: 0644]
TOF/AliTOFhitT0.h [new file with mode: 0644]

index e6d0181..9d8cb95 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.2  2001/11/22 11:30:30  hristov
+Correct log field
+
 Revision 1.1  2001/11/22 11:22:51  hristov
 Updated version of TOF digitization, N^2 problem solved (J.Chudoba)
 
@@ -31,7 +34,7 @@ Updated version of TOF digitization, N^2 problem solved (J.Chudoba)
 // Note: only a few constants are in the first version of this class,
 //       more should be added by TOF developpers
 //
-// Author: Jiri Chudoba (CERN)
+// Author: Jiri Chudoba (CERN), F. Pierella
 //
 ////////////////////////////////////////////////////////////////////////
 
@@ -46,6 +49,24 @@ const Int_t AliTOFConstants::fgkPadXSector;
 const Int_t AliTOFConstants::fgkNSectors;
 const Int_t AliTOFConstants::fgkNPlates;
 
+const Float_t AliTOFConstants::fgkrmin;
+const Float_t AliTOFConstants::fgkrmax;
+const Int_t AliTOFConstants::fgkmaxtoftree;
+const Int_t AliTOFConstants::fgkmaxNstrip;
+const Int_t AliTOFConstants::fgkPadXStrip;
+const Float_t AliTOFConstants::fgkzlenA;
+const Float_t AliTOFConstants::fgkzlenB;
+const Float_t AliTOFConstants::fgkzlenC;
+const Float_t AliTOFConstants::fgkXPad;
+const Float_t AliTOFConstants::fgkZPad;
+const Float_t AliTOFConstants::fgkMaxhZtof;
+const Float_t AliTOFConstants::fgkSigmaForTail1;
+const Float_t AliTOFConstants::fgkSigmaForTail2;
 const Int_t AliTOFConstants::fgkTimeDiff;
-
+const Float_t AliTOFConstants::fgkSpeedOfLight;
+const Float_t AliTOFConstants::fgkPionMass;
+const Float_t AliTOFConstants::fgkKaonMass;
+const Float_t AliTOFConstants::fgkProtonMass;
+const Float_t AliTOFConstants::fgkElectronMass;
+const Float_t AliTOFConstants::fgkMuonMass;
 ClassImp(AliTOFConstants)
index d10b4a9..906ed24 100644 (file)
@@ -14,7 +14,7 @@
 // members. The class is never instatiated.
 //
 //
-// Author: Jiri Chudoba (CERN)
+// Author: Jiri Chudoba (CERN), F. Pierella
 //
 ////////////////////////////////////////////////////////////////////////
 
@@ -33,11 +33,34 @@ class AliTOFConstants {
     static const Int_t fgkNSectors   =  18;
     static const Int_t fgkNPlates    =  5;
 
+    static const Float_t fgkrmin     = 370.; // inner radius of the TOF detector (cm)
+    static const Float_t fgkrmax     = 399.; // outer radius of the TOF detector (cm)
+    static const Int_t fgkmaxtoftree = 5;    // numer of geom. levels: 
+                              // 1 - sector, 2 - module(plate), 3 - strip, 4 - padZ, 5 - padX
+    static const Int_t fgkmaxNstrip  = 20;   //20 - max. number of strips, A - 15, B - 19, C - 20
+    static const Int_t fgkPadXStrip  = fgkNpadX*fgkNpadZ; // number of pads per strip
+    static const Float_t fgkzlenA    = 106.0;// length (cm) of the A module, need for generation of add. noise
+    static const Float_t fgkzlenB    = 141.0;// length (cm) of the B module, need for generation of add. noise
+    static const Float_t fgkzlenC    = 177.5;// length (cm) of the C module, need for generation of add. noise
+    static const Float_t fgkXPad     = 2.5;  //size of a pad in the x direction (cm)
+    static const Float_t fgkZPad     = 3.5;  //size of a pad in the z direction (cm)
+    static const Float_t fgkMaxhZtof = 371.5;//max.half z-size of TOF (cm)
+    static const Float_t fgkSigmaForTail1= 2.;// sigma for simulation of tails in TDC (1)
+    static const Float_t fgkSigmaForTail2=0.5;// sigma for simulation of tails in TDC (2)
+
 // if two signals ar eseparated less than fgkTimeDiff, they are merged
 // and considered as one     
     static const Int_t fgkTimeDiff   =  25000; // time in ps, 
-    
-    
+    // speed of light (used in reconstruction) given in 10^9 m/s
+    static const Float_t fgkSpeedOfLight   =  0.299792458; //
+    // mass values for pi/K/p/e/mu in [GeV/c^2]
+    // used in reconstruction
+    static const Float_t fgkPionMass     = 0.13957; // charged pion mass
+    static const Float_t fgkKaonMass     = 0.49368; // charged kaon mass
+    static const Float_t fgkProtonMass   = 0.93827; // proton mass   
+    static const Float_t fgkElectronMass = 0.00051; // electron mass
+    static const Float_t fgkMuonMass     = 0.10566; // muon mass
+
  private:
     AliTOFConstants(){}
     virtual ~AliTOFConstants(){}
diff --git a/TOF/AliTOFhitT0.cxx b/TOF/AliTOFhitT0.cxx
new file mode 100644 (file)
index 0000000..78d729a
--- /dev/null
@@ -0,0 +1,124 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *    
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  * 
+ **************************************************************************/
+
+//  TOF hit for T0 member variables
+//  fTrack   :
+//  fX       : X coordinate of the hit in the Master Reference Frame (LAB Frame)
+//  fY       : Y coordinate of the hit in the Master Reference Frame (LAB Frame)
+//  fZ       : Z coordinate of the hit in the Master Reference Frame (LAB Frame)
+//  fSector  : Number of the TOF Sector which belongs the hit 
+//  fPlate   : Number of the TOF Plate or Module which belongs the hit 
+//  fStrip   : Number of the TOF Strip which belongs the hit 
+//  fPadx    : Number of the pad in the strip along the x-axis - in the strip reference frame
+//             - where hit is produced 
+//  fPadz    : Number of the pad in the strip along the z-axis - in the strip reference frame
+//             - where hit is produced
+//  fPx      : x-director cosine of the Charged Particle Momentum when hit is
+//             produced - expressed in the Master Reference Frame (LAB Frame) -
+//  fPy      : y-director cosine of the Charged Particle Momentum when hit is
+//             produced - expressed in the Master Reference Frame (LAB Frame) -
+//  fPz      : z-director cosine of the Charged Particle Momentum when hit is
+//             produced - expressed in the Master Reference Frame (LAB Frame) -
+//  fPmom    : Modulus of the Charged Particle Momentum when hit is produced
+//  fTof     : Time of Flight i.e. the time between the charged particle is produced and this
+//             particle produce the hit on the TOF sensible volume (pad)
+//  fLen     : track length when striking the TOF detector
+//  fDx      : Distance of the hit from the pad edge along x-axis
+//  fDy      : y coordinate of the hit in the pad refernce frame  
+//  fDz      : Distance of the hit from the pad edge along z-axis
+//  fIncA    : Incidence Angle between the Normal to the sensible volume where hit
+//             is produced (pad) and the Momentum Direction of the Charged Particle which
+//             produces the hit
+//  fEdep    : Energy released by charged particle on the sensible TOF volume where hit is
+//             produced
+// For more detailed informations about the meaning of the TOF-hit member
+// variable look at 
+// http://www.bo.infn.it/alice/alice-doc/TOFWEB/variables-hits.html
+//
+//*-- Author: F. Pierella
+
+#include "AliTOFhitT0.h"
+
+ClassImp(AliTOFhitT0)
+
+//____________________________________________________________________________
+AliTOFhitT0::AliTOFhitT0(const AliTOFhitT0 & hit)
+{
+   //
+   // copy ctor for AliTOFhitT0 object
+   //
+  fTrack  = hit.fTrack;  
+  fX      = hit.fX;
+  fY      = hit.fY;
+  fZ      = hit.fZ;
+  fSector = hit.fSector;
+  fPlate  = hit.fPlate;
+  fStrip  = hit.fStrip;
+  fPadx   = hit.fPadx;
+  fPadz   = hit.fPadz;
+  fPx     = hit.fPx;
+  fPy     = hit.fPy;
+  fPz     = hit.fPz;
+  fPmom   = hit.fPmom;
+  fTof    = hit.fTof;
+  fLenTof = hit.fLenTof;
+  fDx     = hit.fDx;
+  fDy     = hit.fDy;
+  fDz     = hit.fDz;
+  fIncA   = hit.fIncA;
+  fEdep   = hit.fEdep;
+
+}
+//______________________________________________________________________________
+AliTOFhitT0::AliTOFhitT0(Int_t shunt, Int_t track, Int_t *vol,
+                     Float_t *hits)
+:AliHit(shunt, track)
+{
+//
+// Constructor of hit object
+//
+  //
+  // Hit Volume
+  // 
+  fSector= vol[0];
+  fPlate = vol[1];
+  fStrip = vol[2];
+  fPadx = vol[3];
+  fPadz = vol[4];
+  //
+  //Position of the hit
+  fX = hits[0];
+  fY = hits[1];
+  fZ = hits[2];
+  //
+  // Momentum components of the particle in the ALICE frame when hit is produced
+  fPx  = hits[3];
+  fPy  = hits[4];
+  fPz  = hits[5];
+  fPmom= hits[6];
+  //
+  // Time Of Flight for the particle that produces hit
+  fTof = hits[7];   //TOF[s]
+  //
+  // Other Data
+  fDx  =   hits[8];     //Distance from the edge along x axis
+  fDy  =   hits[9];     //Y cohordinate of the hit
+  fDz  =   hits[10];    //Distance from the edge along z axis
+  fIncA=   hits[11];    //Incidence angle
+  fEdep=   hits[12];    //Energy loss in TOF pad
+  fLenTof= hits[13];    //Track length in TOF pad
+}
+
diff --git a/TOF/AliTOFhitT0.h b/TOF/AliTOFhitT0.h
new file mode 100644 (file)
index 0000000..9ecce33
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef ALITOFHITT0_H
+#define ALITOFHITT0_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+#include "AliHit.h"
+
+////////////////////////////////////////////////
+//                                            //
+//  Hit class for TOF                         //
+//  Interface                                 //
+//  Getters, Setters and member variables     //
+//  declared here                             //
+//                                            //
+////////////////////////////////////////////////
+class AliTOFhitT0 : public AliHit {  
+public:
+  AliTOFhitT0() {}
+  AliTOFhitT0(Int_t shunt, Int_t track, Int_t* vol, 
+            Float_t *hits);
+  AliTOFhitT0(const AliTOFhitT0 & hit) ;
+  virtual ~AliTOFhitT0() {}
+  // getters for AliTOFhitT0 object
+  Int_t   GetSector() const {return fSector;}
+  Int_t   GetPlate()  const {return fPlate;}
+  Int_t   GetPadx()   const {return fPadx;}
+  Int_t   GetPadz()   const {return fPadz;}
+  Int_t   GetStrip()  const {return fStrip;}
+  Float_t GetTof()    const {return fTof;}
+  Float_t GetLen()    const {return fLenTof;}
+  Float_t GetMom()    const {return fPmom;}
+  Float_t GetPx()     const {return fPx;}
+  Float_t GetPy()     const {return fPy;}
+  Float_t GetPz()     const {return fPz;}
+  Float_t GetDx()     const {return fDx;}
+  Float_t GetDz()     const {return fDz;}
+  Float_t GetIncA()   const {return fIncA;}
+  Float_t GetEdep()   const {return fEdep;}
+  
+ protected:
+  Int_t      fSector;  // number of sector 
+  Int_t      fPlate;   // number of plate
+  Int_t      fStrip;   // number of strip
+  Int_t      fPadx;    // number of pad along x
+  Int_t      fPadz;    // number of pad along z
+  // X, Y and Z coordinates of the hit are defined on mother class
+  // AliHit
+  Float_t    fPx;      // px in TOF
+  Float_t    fPy;      // py in TOF
+  Float_t    fPz;      // pz in TOF
+  Float_t    fPmom;    // P in TOF
+  Float_t    fTof;     // Time of Flight
+  Float_t    fLenTof;  // track length at the TOF
+  Float_t    fDx;      // x of impact point in pad r.s.
+  Float_t    fDy;      // y of impact point in pad r.s.
+  Float_t    fDz;      // z of impact point in pad r.s.
+  Float_t    fIncA;    // Incidence angle
+  Float_t    fEdep;    // Energy lost in TOF sensitive layer
+  
+  ClassDef(AliTOFhitT0,1)  // Hit for Time Of Flight
+    };
+
+#endif /* ALITOFHITT0_H */