ROOT logo
AliRoot » FMD » AliFMDv1

class AliFMDv1: public AliFMD

Function Members (Methods)

public:
AliFMDv1()
AliFMDv1(const char* name, const char* title = "Detailed geometry")
virtual~AliFMDv1()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliFMD::AddAlignableVolumes() const
virtual voidAliFMD::AddDigit(Int_t* digits, Int_t* notused = 0)
virtual voidAliFMD::AddDigitByFields(UShort_t detector = 0, Char_t ring = '\0', UShort_t sector = 0, UShort_t strip = 0, UShort_t count1 = 0, Short_t count2 = -1, Short_t count3 = -1, Short_t count4 = -1, UShort_t nrefs = 0, Int_t* refs = 0)
virtual voidAliFMD::AddHit(Int_t track, Int_t* vol, Float_t* hits)
virtual AliFMDHit*AliFMD::AddHitByFields(Int_t track, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t x = 0, Float_t y = 0, Float_t z = 0, Float_t px = 0, Float_t py = 0, Float_t pz = 0, Float_t edep = 0, Int_t pdg = 0, Float_t t = 0, Float_t len = 0, Bool_t stopped = kFALSE)
virtual voidAliFMD::AddSDigit(Int_t* digits)
virtual voidAliFMD::AddSDigitByFields(UShort_t detector = 0, Char_t ring = '\0', UShort_t sector = 0, UShort_t strip = 0, Float_t edep = 0, UShort_t count1 = 0, Short_t count2 = -1, Short_t count3 = -1, Short_t count4 = -1, UShort_t ntot = 0, UShort_t nprim = 0, Int_t* refs = 0)
virtual AliTrackReference*AliModule::AddTrackReference(Int_t label, Int_t id = -999)
virtual voidAliModule::AliGetMaterial(Int_t imat, char* name, Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl) const
virtual voidAliModule::AliMaterial(Int_t imat, const char* name, Float_t a, Float_t z, Float_t dens, Float_t radl, Float_t absl, Float_t* buf = 0, Int_t nwbuf = 0) const
virtual voidAliModule::AliMatrix(Int_t& nmat, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2, Float_t theta3, Float_t phi3) const
virtual voidAliModule::AliMedium(Int_t numed, const char* name, Int_t nmat, Int_t isvol, Int_t ifield, Float_t fieldm, Float_t tmaxfd, Float_t stemax, Float_t deemax, Float_t epsil, Float_t stmin, Float_t* ubuf = 0, Int_t nbuf = 0) const
virtual voidAliModule::AliMixture(Int_t imat, const char* name, Float_t* a, Float_t* z, Float_t dens, Int_t nlmat, Float_t* wmat) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidAliFMD::Browse(TBrowser* b)
virtual voidAliModule::BuildGeometry()
virtual voidAliModule::CheckQA()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual AliDigitizer*AliFMD::CreateDigitizer(AliDigitizationInput* digInput) const
virtual voidAliFMD::CreateGeometry()
virtual voidAliFMD::CreateMaterials()
virtual AliTriggerDetector*AliModule::CreateTriggerDetector() const
virtual voidAliModule::DefineOpticalProperties()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual TClonesArray*AliDetector::Digits() const
virtual voidAliFMD::Digits2Raw()
virtual voidAliModule::Digits2Reco()
virtual voidAliModule::DisableStepManager()
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 voidAliDetector::DrawModule() const
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliFMD::FinishEvent()
virtual voidAliModule::FinishPrimary()
virtual voidAliDetector::FinishRun()
virtual AliHit*AliDetector::FirstHit(Int_t track)
static Float_tAliModule::GetDensityFactor()
AliDigitizationInput*AliModule::GetDigitizationInput() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual TArrayI*AliModule::GetIdtmed() const
virtual Int_tAliDetector::GetIshunt() const
virtual AliLoader*AliDetector::GetLoader() const
virtual const char*TNamed::GetName() const
virtual intAliDetector::GetNdigits() const
virtual intAliDetector::GetNhits() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Float_tAliDetector::GetTimeGate() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual Int_t&AliModule::HiMedium()
virtual TClonesArray*AliDetector::Hits() const
virtual voidAliFMD::Hits2Digits()
virtual voidAliFMD::Hits2SDigits()
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 voidAliFMD::Init()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tAliModule::IsActive() const
virtual Bool_tAliDetector::IsDetector() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliModule::IsFolder() const
virtual Bool_tAliDetector::IsModule() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Int_tIsVersion() const
Bool_tTObject::IsZombie() const
virtual voidAliModule::LoadPoints(Int_t)
virtual Int_t&AliModule::LoMedium()
virtual voidTNamed::ls(Option_t* option = "") const
virtual voidAliFMD::MakeBranch(Option_t* opt = " ")
virtual TBranch*AliDetector::MakeBranchInTree(TTree* tree, const char* cname, void* address, Int_t size = 32000, const char* file = 0)
virtual TBranch*AliDetector::MakeBranchInTree(TTree* tree, const char* cname, const char* name, void* address, Int_t size = 32000, Int_t splitlevel = 99, const char* file = 0)
virtual AliLoader*AliDetector::MakeLoader(const char* topfoldername)
virtual voidAliDetector::MakeTree(Option_t* option)
voidTObject::MayNotUse(const char* method) const
virtual AliHit*AliDetector::NextHit()
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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidAliModule::Paint(Option_t*)
virtual TObjArray*AliModule::Points() const
virtual voidTObject::Pop()
virtual voidAliModule::PostTrack()
virtual voidAliModule::PreTrack()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidAliDetector::Publish(const char* dir, void* c, const char* name = 0) const
virtual voidAliModule::QADataMaker(const char*)
virtual voidAliModule::Raw2Digits()
virtual Bool_tAliFMD::Raw2SDigits(AliRawReader* reader)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliDetector::RemapTrackHitIDs(Int_t*)
voidTObject::ResetBit(UInt_t f)
virtual voidAliDetector::ResetDigits()
virtual voidAliDetector::ResetHits()
virtual voidAliFMD::ResetSDigits()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual TClonesArray*AliFMD::SDigits()
virtual voidAliModule::SDigits2Digits()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAliDetector::SetBufferSize(Int_t bufsize = 8000)
static voidAliModule::SetDensityFactor(Float_t density)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliFMD::SetHitsAddressBranch(TBranch* b)
virtual voidAliDetector::SetIshunt(Int_t ishunt)
voidAliDetector::SetLoader(AliLoader* loader)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliModule::SetRunLoader(AliRunLoader* runLoader)
virtual voidAliFMD::SetSDigitsAddressBranch(TBranch* b)
virtual voidAliDetector::SetTimeGate(Float_t gate)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidAliFMD::SetTreeAddress()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStepManager()
virtual Bool_tAliModule::StepManagerIsEnabled() 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
TTree*AliModule::TreeTR()
virtual voidAliModule::UpdateInternalGeometry()
virtual voidTObject::UseCurrentStyle()
voidAliFMD::UseDetailed(Bool_t use = kTRUE)
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_tAliModule::ZMax() const
virtual Float_tAliModule::ZMin() const
protected:
Bool_tCheckHit(Int_t trackno, Int_t pdg, Float_t absQ, const TLorentzVector& p, Float_t edep) const
TClonesArray*AliFMD::DigitsArray()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TClonesArray*AliFMD::HitsArray()
voidTObject::MakeZombie()
TClonesArray*AliFMD::SDigitsArray()
Bool_tVMC2FMD(TLorentzVector& v, UShort_t& detector, Char_t& ring, UShort_t& sector, UShort_t& strip) const
Bool_tVMC2FMD(Int_t copy, TLorentzVector& v, UShort_t& detector, Char_t& ring, UShort_t& sector, UShort_t& strip) const

Data Members

protected:
Bool_tAliModule::fActiveDetector activity flag
TObjArray*AliFMD::fBad! debugging - bad hits
Int_tAliDetector::fBufferSize!buffer size for Tree detector branches
Int_tAliDetector::fCurIterHit!Counter for the hit iterator
Double_tfCurrentDeltaEThe current accumulated energy loss
Int_tAliModule::fCurrentIterTrackRef!for track refernce iterator routines
TLorentzVectorfCurrentPCurrent momentum vector
Int_tfCurrentPdgCurrent PDG code
TLorentzVectorfCurrentVCurrent production vertex
Bool_tAliFMD::fDetailedUse detailed geometry
AliDigitizationInput*AliModule::fDigInput! input for sdigits -> digits
TClonesArray*AliDetector::fDigits!List of digits for this detector
Bool_tAliModule::fEnableStepManager enabling flag
Int_tAliModule::fHiMedium!Maximum tracking medium ID for this Module
TClonesArray*AliDetector::fHits!List of hits for one track only
TArrayI*AliModule::fIdmate!List of material numbers
TArrayI*AliModule::fIdtmed!List of tracking medium numbers
Int_tAliDetector::fIshunt1 if the hit is attached to the primary
Int_tAliModule::fLoMedium!Minimum tracking medium ID for this Module
AliLoader*AliDetector::fLoader! pointer to getter for this module skowron
Int_tAliDetector::fMaxIterHit!Limit for the hit iterator
Int_tAliModule::fMaxIterTrackRef!for track refernce iterator routines
TStringTNamed::fNameobject identifier
Int_tAliDetector::fNdigits!Number of digits
Int_tAliDetector::fNhits!Number of hits
Int_tAliFMD::fNsdigitsNumber of digits
AliRunLoader*AliModule::fRunLoader!local pointer to run loader
TClonesArray*AliFMD::fSDigitsSummable digits
Float_tAliDetector::fTimeGateTime gate in seconds
TStringTNamed::fTitleobject title
Bool_tAliFMD::fUseAssemblyUse divided volumes
Bool_tAliFMD::fUseOldUse old approx geometry
static Float_tAliModule::fgDensityFactor! factor that is multiplied to all material densities (ONLY for systematic studies)

Class Charts

Inheritance Chart:
TNamed
AliModule
AliDetector
AliFMD
AliFMDv1

Function documentation

VMC2FMD(TLorentzVector& v, UShort_t& detector, Char_t& ring, UShort_t& sector, UShort_t& strip) const
 Convert VMC coordinates to detector coordinates
VMC2FMD(Int_t copy, TLorentzVector& v, UShort_t& detector, Char_t& ring, UShort_t& sector, UShort_t& strip) const
 Convert VMC coordinates to detector coordinates
CheckHit(Int_t trackno, Int_t pdg, Float_t absQ, const TLorentzVector& p, Float_t edep) const
 Check that a hit is good
StepManager()
 Member function that is executed each time a hit is made in the
 FMD.  None-charged particles are ignored.   Dead tracks  are
 ignored.

 The procedure is as follows:

   - IF NOT track is alive THEN RETURN ENDIF
   - IF NOT particle is charged THEN RETURN ENDIF
   - IF NOT volume name is "STRI" or "STRO" THEN RETURN ENDIF
   - Get strip number (volume copy # minus 1)
   - Get phi division number (mother volume copy #)
   - Get module number (grand-mother volume copy #)
   - section # = 2 * module # + phi division # - 1
   - Get ring Id from volume name
   - Get detector # from grand-grand-grand-mother volume name
   - Get pointer to sub-detector object.
   - Get track position
   - IF track is entering volume AND track is inside real shape THEN
   -   Reset energy deposited
   -   Get track momentum
   -   Get particle ID #
  - ENDIF
   - IF track is inside volume AND inside real shape THEN
  -   Update energy deposited
   - ENDIF
   - IF track is inside real shape AND (track is leaving volume,
         or it died, or it is stopped  THEN
   -   Create a hit
   - ENDIF

AliFMDv1()
 CTOR 
{ fDetailed = kTRUE; }
AliFMDv1(const char* name, const char* title = "Detailed geometry")
 CTOR
      @param name Name
@param title Title 
{ fDetailed = kTRUE; }
virtual ~AliFMDv1()
 DTOR 
{}
Int_t IsVersion() const
 Required member functions
 Get version number
@return always 1 
{return 1;}