ROOT logo
AliRoot » ITS » AliITShit

class AliITShit: public AliHit

 Version: 0
 Written by Rene Brun, Federico Carminati, and Roberto Barbera

 Version: 1
 Modified and documented by Bjorn S. Nilsen
 July 11 1999

 AliITShit is the hit class for the ITS. Hits are the information
 that comes from a Monte Carlo at each step as a particle mass through
 sensitive detector elements as particles are transported through a
 detector.


/*

This show the relasionships between the ITS hit class and the rest of Aliroot.

*/

 Inline Member functions:

 AliITShit()
     The default creator of the AliITShit class.

 ~AliITShit()
     The default destructor of the AliITShit class.

 int GetTrack()
     See AliHit for a full description. Returns the track number fTrack
 for this hit.

 SetTrack(int track)
     See AliHit for a full description. Sets the track number fTrack
 for this hit.

 Int_t GetTrackStatus()
     Returns the value of the track status flag fStatus. This flag
 indicates the track status at the time of creating this hit. It is
 made up of the following 8 status bits from highest order to lowest
 order bits
 0           :  IsTrackAlive():    IsTrackStop():IsTrackDisappeared():
 IsTrackOut():IsTrackExiting():IsTrackEntering():IsTrackInside()     .
 See AliMC for a description of these functions. If the function is
 true then the bit is set to one, otherwise it is zero.

 Bool_t StatusInside()
     Returns kTRUE if the particle producing this hit is still inside
 the present volume. Returns kFalse if this particle will be in another
 volume. {bit IsTrackInside is set or not}

 Bool_t StatusEntering()
     Returns kTRUE if the particle producing this hit is has just enterd
 the present volume. Returns kFalse otherwise.  {bit IsTrackEntering is
 set or not}

 Bool_t StatusExiting()
     Returns kTRUE if the particle producing this hit is will exit
 the present volume. Returns kFalse otherwise. {bit IsTrackExiting is set
 or not}

 Bool_t StatusOut()
     Returns kTRUE if the particle producing this hit is goint exit the
 simulation. Returns kFalse otherwise. {bit IsTrackOut is set or not}

 Bool_t StatusDisappeared()
     Returns kTRUE if the particle producing this hit is going to "disappear"
 for example it has interacted producing some other particles. Returns
  kFalse otherwise. {bit IsTrackOut is set or not}

 Bool_t StatusStop()
     Returns kTRUE if the particle producing this hit is has dropped below
 its energy cut off producing some other particles. Returns kFalse otherwise.
 {bit IsTrackOut is set or not}

 Bool_t StatuAlives()
     Returns kTRUE if the particle producing this hit is going to continue
 to be transported. Returns kFalse otherwise. {bit IsTrackOut is set or not}

 Int_t GetLayer()
     Returns the layer number, fLayer, for this hit.

 Int_t GetLadder()
     Returns the ladder number, fLadder, for this hit.

 Int_t GetDetector()
     Returns the detector number, fDet, for this hit.

 GetDetectorID(Int_t &layer, Int_t &ladder, Int_t &detector)
     Returns the layer, ladder, and detector numbers, fLayer fLadder fDet,
 in one call.

 Float_t GetIonization()
     Returns the energy lost, fDestep, by the particle creating this hit,
 in the units defined by the Monte Carlo.

 GetPositionG(Float_t &x, Float_t &y, Float_t &z)
     Returns the global position, fX fY fZ, of this hit, in the units
 define by the Monte Carlo.

 GetPositionG(Double_t &x, Double_t &y, Double_t &z)
     Returns the global position, fX fY fZ, of this hit, in the units
 define by the Monte Carlo.

 GetPositionG(Float_t &x, Float_t &y, Float_t &z, Float_t &tof)
     Returns the global position and time of flight, fX fY fZ fTof, of
 this hit, in the units define by the Monte Carlo.

 GetPositionG(Double_t &x,Double_t &y,Double_t &z,Double_t &tof)
     Returns the global position and time of flight, fX fY fZ fTof, of
 this hit, in the units define by the Monte Carlo.

 GetPositionL(Double_t &x,Double_t &y,Double_t &z)
     Returns the local position, fX fY fZ, of this hit in the coordiante
 of this module, in the units define by the Monte Carlo.

 GetPositionG(Double_t &x,Double_t &y,Double_t &z,Double_t &tof)
     Returns the local position and time of flight, fX fY fZ fTof, of
 this hit in the coordinates of this module, in the units define by the
  Monte Carlo.

 Float_t GetXG()
     Returns the global x position in the units defined by the Monte Carlo.

 Float_t GetYG()
     Returns the global y position in the units defined by the Monte Carlo.

 Float_t GetYG()
     Returns the global z position in the units defined by the Monte Carlo.

 Float_t GetTOF()
     Returns the time of flight, fTof, of this hit, in the units defined
 by the Monte Carlo.

 GetMomentumG(Float_t &px, Float_t &py, Float_t &pz)
     Returns the global momentum, fPx fPy fPz, of the particle that made
 this hit, in the units define by the Monte Carlo.

 GetMomentumG(Double_t &px,Double_t &py,Double_t &pz)
     Returns the global momentum, fPx fPy fPz, of the particle that made
 this hit, in the units define by the Monte Carlo.

 GetMomentumL(Double_t &px,Double_t &py,Double_t &pz)
     Returns the momentum, fPx fPy fPz in coordinate appropreate for this
 specific module, in the units define by the Monte Carlo.

 Float_t GetPXG()
     Returns the global X momentum in the units defined by the Monte Carlo.

 Float_t GetPYG()
     Returns the global Y momentum in the units defined by the Monte Carlo.

 Float_t GetPZG()
     Returns the global Z momentum in the units defined by the Monte Carlo.



Function Members (Methods)

public:
AliITShit()
AliITShit(const AliITShit& h)
AliITShit(Int_t shunt, Int_t track, Int_t* vol, Float_t* hits)
AliITShit(Int_t shunt, Int_t track, Int_t* vol, Float_t edep, Float_t tof, TLorentzVector& x, TLorentzVector& x0, TLorentzVector& p)
virtual~AliITShit()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tGetDetector() const
virtual voidGetDetectorID(Int_t& layer, Int_t& ladder, Int_t& det) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual Float_tGetIonization() const
virtual Int_tGetLadder() const
virtual Int_tGetLayer() const
virtual Int_tGetModule()
virtual voidGetMomentumG(Float_t& px, Float_t& py, Float_t& pz) const
virtual voidGetMomentumG(Double_t& px, Double_t& py, Double_t& pz) const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TParticle*GetParticle() const
virtual voidGetPositionG(Float_t& x, Float_t& y, Float_t& z) const
virtual voidGetPositionG(Double_t& x, Double_t& y, Double_t& z) const
virtual voidGetPositionG(Float_t& x, Float_t& y, Float_t& z, Float_t& tof) const
virtual voidGetPositionG(Double_t& x, Double_t& y, Double_t& z, Double_t& t) const
virtual voidGetPositionG0(Float_t& x, Float_t& y, Float_t& z, Float_t& tof) const
virtual voidGetPositionG0(Double_t& x, Double_t& y, Double_t& z, Double_t& tof) const
virtual voidGetPositionL(Float_t& x, Float_t& y, Float_t& z)
virtual voidGetPositionL(Double_t& x, Double_t& y, Double_t& z)
virtual voidGetPositionL(Float_t& x, Float_t& y, Float_t& z, Float_t& tof)
virtual voidGetPositionL(Double_t& x, Double_t& y, Double_t& z, Double_t& t)
virtual voidGetPositionL0(Double_t& x, Double_t& y, Double_t& z, Double_t& t)
virtual Float_tGetPXG() const
virtual Float_tGetPYG() const
virtual Float_tGetPZG() const
virtual const char*TObject::GetTitle() const
virtual Float_tGetTOF() const
virtual Int_tAliHit::GetTrack() const
virtual Int_tGetTrackStatus() const
virtual Int_tGetTrackStatus0() const
virtual UInt_tTObject::GetUniqueID() const
virtual Float_tGetXG() const
virtual Float_tGetXL()
virtual Float_tGetYG() const
virtual Float_tGetYL()
virtual Float_tGetZG() const
virtual Float_tGetZL()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliITShit&operator=(const AliITShit& h)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidPrint(ostream* os) const
virtual voidPrint(Option_t* option = "") const
voidRead(istream* is)
virtual Int_tRead(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEdep(Float_t de)
virtual voidSetModule(Int_t mod)
virtual voidSetMomentum(TLorentzVector& p)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPosition(TLorentzVector& x)
virtual voidSetShunt(Int_t shunt)
virtual voidSetStartPosition(TLorentzVector& x)
virtual voidSetStartStatus(Int_t stat)
virtual voidSetStartTime(Float_t t)
virtual voidSetStatus(Int_t stat)
virtual voidSetTime(Float_t t)
virtual voidAliHit::SetTrack(Int_t track)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Bool_tStatusAlive() const
Bool_tStatusDisappeared() const
Bool_tStatusEntering() const
Bool_tStatusExiting() const
Bool_tStatusInside() const
Bool_tStatusOut() const
Bool_tStatusStop() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual Int_tAliHit::Track() const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual Float_tAliHit::X() const
virtual Float_tAliHit::Y() const
virtual Float_tAliHit::Z() const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
Float_tfDestepEnergy deposited in the current step
Int_tfModuleModule number
Float_tfPxPX of particle at the point of the hit
Float_tfPyPY of particle at the point of the hit
Float_tfPzPZ of particle at the point of the hit
Int_tfStatusTrack Status
Int_tfStatus0Track Status of Starting point
Float_tfTofTime of flight at the point of the hit
Int_tAliHit::fTrackTrack number
Float_tAliHit::fXX position of the hit
Float_tAliHit::fYY position of the hit
Float_tAliHit::fZZ position of the hit
Float_tft0Starting point of this step
Float_tfx0Starting point of this step
Float_tfy0Starting point of this step
Float_tfz0Starting point of this step

Class Charts

Inheritance Chart:
TObject
AliHit
AliITShit
AliITSUHit

Function documentation

AliITShit()
 Default Constructor
 Zero data member just to be safe.
 Intputs:
    none.
 Outputs:
    none.
 Return:
    A default created AliITShit class.
AliITShit(Int_t shunt, Int_t track, Int_t* vol, Float_t edep, Float_t tof, TLorentzVector& x, TLorentzVector& x0, TLorentzVector& p)
 Create ITS hit
     The creator of the AliITShit class. The variables shunt and
 track are passed to the creator of the AliHit class. See the AliHit
 class for a full description. In the units of the Monte Carlo
 Inputs:
    Int_t shunt   See AliHit
    Int_t track   Track number, see AliHit
    Int_t *vol     Array of integer hit data,
                     vol[0] module
                     vol[1] not used
                     vol[2] not used
                     vol[3] Set of status bits
                     vol[4] Set of status bits at start
    Float_t edep       The energy deposited GeV during the transport
                       of this step
    Float_t tof        The time of flight of this particle at this step
    TLorenzVector &x   The Global position of this step [cm]
    TLorenzVector &x0  The Global position of where this step
                       started from [cm]
    TLorenzVector &p   The Global momentum of the particle at this
                       step [GeV/c]
 Outputs:
    none.
 Return:
    A default created AliITShit class.
AliITShit(Int_t shunt, Int_t track, Int_t* vol, Float_t* hits)
 Create ITS hit
     The creator of the AliITShit class. The variables shunt and
 track are passed to the creator of the AliHit class. See the AliHit
 class for a full description. the integer array *vol contains, in order,
 fLayer = vol[0], fDet = vol[1], fLadder = vol[2], fStatus = vol[3].
 The array *hits contains, in order, fX = hits[0], fY = hits[1],
 fZ = hits[2], fPx = hits[3], fPy = hits[4], fPz = hits[5],
 fDestep = hits[6], and fTof = hits[7]. In the units of the Monte Carlo
 Intputs:
    Int_t shunt   See AliHit
    Int_t track   Track number, see AliHit
    Int_t *vol     Array of integer hit data,
                     vol[0] module number
                     vol[1] not used
                     vol[2] not used
                     vol[3] Set of status bits
                     vol[4] Set of status bits at start
    Float_t *hits   Array of hit information
                     hits[0] X global position of this hit
                     hits[1] Y global position of this hit
                     hits[2] Z global position of this hit
                     hits[3] Px global position of this hit
                     hits[4] Py global position of this hit
                     hits[5] Pz global position of this hit
                     hits[6] Energy deposited by this step
                     hits[7] Time of flight of this particle at this step
                     hits[8] X0 global position of start of step
                     hits[9] Y0 global position of start of step
                     hits[10] Z0 global position of start of step
                     hits[11] Time of flight of this particle before step
 Outputs:
    none.
 Return:
    A standard created AliITShit class.
AliITShit(const AliITShit& h)
 The standard copy constructor
 Inputs:
   AliITShit   &h the sourse of this copy
 Outputs:
   none.
 Return:
  A copy of the sourse hit h
AliITShit& operator=(const AliITShit& h)
 The standard = operator
 Inputs:
   AliITShit   &h the sourse of this copy
 Outputs:
   none.
 Return:
  A copy of the sourse hit h
void SetShunt(Int_t shunt)
 Sets track flag based on shunt value. Code copied from
 AliHit standar constructor.
 Inputs:
   Int_t shunt    A flag to indecate what to do with track numbers
 Outputs:
   none.
 Return:
   none.
void GetPositionL(Float_t& x, Float_t& y, Float_t& z, Float_t& tof)
     Returns the position and time of flight of this hit in the local
 coordinates of this module, and in the units of the Monte Carlo.
 Inputs:
   none.
 Outputs:
   Float_t x   Global position of this hit [cm]
   Float_t y   Global position of this hit [cm]
   Float_t z   Global poistion of this hit [cm]
   Float_t tof Time of flight of particle at this hit
 Return:
   none.
void GetPositionL0(Double_t& x, Double_t& y, Double_t& z, Double_t& t)
     Returns the initial position and time of flight of this hit
 in the local coordinates of this module, and in the units of the
 Monte Carlo.
 Inputs:
   none.
 Outputs:
   Double_t x   Global position of this hit [cm]
   Double_t y   Global position of this hit [cm]
   Double_t z   Global poistion of this hit [cm]
   Double_t tof Time of flight of particle at this hit
 Return:
   none.
TParticle * GetParticle() const
     Returns the pointer to the TParticle for the particle that created
 this hit. From the TParticle all kinds of information about this
 particle can be found. See the TParticle class.
 Inputs:
   none.
 Outputs:
   none.
 Return:
   The TParticle of the track that created this hit.
void GetDetectorID(Int_t& layer, Int_t& ladder, Int_t& det) const
 Returns the layer ladder and detector number lables for this
 ITS module. The use of layer, ladder and detector number for
 discribing the ITS is obsoleate.
 Inputs:
   none.
 Outputs:
   Int_t   &layer   Layer lable
   Int_t   &ladder  Ladder lable
   Int_t   &det     Detector lable
 Return:
    none.
void Print(ostream* os) const
 Standard output format for this class.
 Inputs:
   ostream *os   The output stream
 Outputs:
   none.
 Return:
   none.
void Read(istream* is)
 Standard input format for this class.
 Inputs:
   istream *is  the input stream
 Outputs:
   none.
 Return:
   none.
virtual ~AliITShit()
 Default destructor
{}
void SetModule(Int_t mod)
 Get Hit information functions.
 virtual int GetTrack() const {return fTrack;} // define in AliHit
 virtual void SetTrack(int track) const {fTrack=track;) // AliHit
{fModule=mod;}
void SetPosition(TLorentzVector& x)
{fX=x.X();fY=x.Y();fZ=x.Z();}
void SetStartPosition(TLorentzVector& x)
void SetTime(Float_t t)
{fTof = t;}
void SetStartTime(Float_t t)
{ft0 = t;}
void SetStatus(Int_t stat)
{fStatus = stat;}
void SetStartStatus(Int_t stat)
{fStatus0 = stat;}
void SetEdep(Float_t de)
{fDestep = de;}
void SetMomentum(TLorentzVector& p)
Int_t GetTrackStatus() const
Int_t GetTrackStatus0() const
Int_t GetLayer() const
Int_t GetLadder() const
Int_t GetDetector() const
Int_t GetModule()
{return fModule;}
Float_t GetIonization() const
{return fDestep;}
void GetPositionG(Float_t& x, Float_t& y, Float_t& z) const
 returns the position in the Global frame
void GetPositionG(Double_t& x, Double_t& y, Double_t& z) const
 returns the position in the Global frame
Float_t GetTOF() const
void GetPositionG(Float_t &x,Float_t &y,Float_t &z,Float_t &tof)
 Returns particle 3 position at this hit in global coordinates.
void GetPositionG(Double_t &x,Double_t &y,Double_t &z,Double_t &t)
 hit in global coordinates.
Float_t GetXG() const
 in global coordinates.
Float_t GetYG() const
 in global coordinates.
Float_t GetZG() const
 in global coordinates.
void GetPositionG0(Float_t &x,Float_t &y,Float_t &z,Float_t &tof)
 Returns particle 3 position at this hit in global coordinates.
void GetPositionG0(Double_t& x, Double_t& y, Double_t& z, Double_t& tof) const
 Returns particle 3 position at this hit in global coordinates.
void GetPositionL(Float_t& x, Float_t& y, Float_t& z)
 returns the initial position in the Global frame and the
 time of flight
Float_t tf; GetPositionL(Double_t& x, Double_t& y, Double_t& z, Double_t& t)
 Returns particle 3 position at this hit in local coordinates.
void GetPositionL(Float_t& x, Float_t& y, Float_t& z, Float_t& tof)
Float_t GetXL()
 Returns particle X position at this hit in local coordinates.
Float_t GetYL()
 Returns particle Y position at this hit in local coordinates.
Float_t GetZL()
 Returns particle Z position at this hit in local coordinates.
void GetMomentumG(Float_t& px, Float_t& py, Float_t& pz) const
 Get Monti Carlo information about hit.
void GetMomentumG(Double_t& px, Double_t& py, Double_t& pz) const
 returns the particle momentum in the Global frame
Float_t GetPXG() const
 in global coordinates.
Float_t GetPYG() const
 this hit in global coordinates.
Float_t GetPZG() const
 this hit in global coordinates.
Bool_t StatusInside() const
Bool_t StatusEntering() const
Bool_t StatusExiting() const
Bool_t StatusOut() const
Bool_t StatusDisappeared() const
Bool_t StatusStop() const
Bool_t StatusAlive() const
void Print(ostream* os) const
 Prints out the content of this class in ASCII format.
void Read(istream* is)
 Reads in the content of this class in the format of Print