ROOT logo
AliRoot » PHOS » AliPHOSvFast

class AliPHOSvFast: public AliPHOS

 Implementation of the PHOS manager class for fast simulations
 Tracks particles until the reach a grossly designed PHOS module
 Modify the particles property (momentum, energy, type) according to
  the PHOS response function. The result is called a virtual reconstructed
  particle.

*-- Author: Yves Schutz (SUBATECH)

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliPHOSvFast()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliDetector::AddAlignableVolumes() const
virtual voidAliModule::AddDigit(Int_t*, Int_t*)
virtual voidAliPHOS::AddHit(Int_t, Int_t*, Float_t*)
virtual voidAliPHOS::AddHit(Int_t shunt, Int_t primary, Int_t track, Int_t id, Float_t* hits)
voidAddRecParticle(const AliPHOSFastRecParticle& rp)
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 voidAliDetector::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*AliPHOS::CreateDigitizer(AliDigitizationInput* digInput) const
virtual voidCreateGeometry()
virtual voidAliPHOS::CreateMaterials()
virtual AliTriggerDetector*AliPHOS::CreateTriggerDetector() const
virtual voidAliModule::DefineOpticalProperties()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual TClonesArray*AliDetector::Digits() const
virtual voidAliPHOS::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)
TClonesArray*FastRecParticles() const
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 voidAliModule::FinishEvent()
virtual voidAliModule::FinishPrimary()
virtual voidAliPHOS::FinishRun()
virtual AliHit*AliDetector::FirstHit(Int_t track)
Float_tGetBigBox(Int_t index) const
static Float_tAliModule::GetDensityFactor()
AliDigitizationInput*AliModule::GetDigitizationInput() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual AliPHOSGeometry*AliPHOS::GetGeometry() const
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 voidAliModule::Hits2Digits()
virtual voidAliPHOS::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 voidInit()
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 voidMakeBranch(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)
Double_tMakeEnergy(Double_t energy)
virtual AliLoader*AliPHOS::MakeLoader(const char* topfoldername)
TVector3MakePosition(Double_t energy, TVector3 pos, Double_t th, Double_t ph)
voidMakeRecParticle(Int_t modid, TVector3 pos, AliPHOSFastRecParticle& rp)
virtual voidAliDetector::MakeTree(Option_t* option)
Int_tMakeType(AliPHOSFastRecParticle& rp)
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)
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_tAliPHOS::Raw2SDigits(AliRawReader* rawReader)
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()
voidResetFastRecParticles()
virtual voidAliDetector::ResetHits()
virtual voidResetPoints()
virtual voidAliModule::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 voidAliModule::SDigits2Digits()
voidSetBigBox(Int_t index, Float_t value)
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 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 voidAliDetector::SetTimeGate(Float_t gate)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidAliPHOS::SetTreeAddress()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Double_tSigmaE(Double_t energy)
Double_tSigmaP(Double_t energy, Double_t inc)
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()
virtual const TStringVersion() const
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
Bool_tAliModule::fActiveDetector activity flag
Int_tAliDetector::fBufferSize!buffer size for Tree detector branches
Int_tAliDetector::fCurIterHit!Counter for the hit iterator
Int_tAliModule::fCurrentIterTrackRef!for track refernce iterator routines
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
AliRunLoader*AliModule::fRunLoader!local pointer to run loader
Float_tAliDetector::fTimeGateTime gate in seconds
TStringTNamed::fTitleobject title
AliPHOSCalibData*AliPHOS::fgCalibData! Pointer to Calibration DB
static Float_tAliModule::fgDensityFactor! factor that is multiplied to all material densities (ONLY for systematic studies)
private:
Float_tfBigBoxXmain box containing all PHOS (EMC+PPSD)
Float_tfBigBoxYmain box containing all PHOS (EMC+PPSD)
Float_tfBigBoxZmain box containing all PHOS (EMC+PPSD)
TClonesArray*fFastRecParticleslist of particles modified by the response function
Int_tfNRecParticlesnumber of detected particles
Double_tfPosParaA0parameter for the position resolution
Double_tfPosParaA1parameter for the position resolution
Double_tfPosParaB0parameter for the position resolution
Double_tfPosParaB1parameter for the position resolution
Double_tfPosParaB2parameter for the position resolution
TRandomfRanrandom number generator
Double_tfResPara1parameter for the energy resolution dependence
Double_tfResPara2parameter for the energy resolution dependence
Double_tfResPara3parameter for the energy resolution dependence

Class Charts

Inheritance Chart:
TNamed
AliModule
AliDetector
AliPHOS
AliPHOSvFast

Function documentation

~AliPHOSvFast()
 dtor
void AddRecParticle(const AliPHOSFastRecParticle& rp)
 Add a virtually reconstructed particle to the list
void CreateGeometry()
 Create the geometry for GEANT
void Init(void)
 Prints out an information message
Float_t GetBigBox(Int_t index) const
 Get the X, Y or Z dimension of the box describing a PHOS module
void MakeBranch(Option_t* opt)
 Create new branch in the current reconstructed Root Tree
Double_t MakeEnergy(Double_t energy)
 Smears the energy according to the energy dependent energy resolution.
 A gaussian distribution is assumed
TVector3 MakePosition(Double_t energy, TVector3 pos, Double_t th, Double_t ph)
 Smears the impact position according to the energy dependent position resolution
 A gaussian position distribution is assumed
void MakeRecParticle(Int_t modid, TVector3 pos, AliPHOSFastRecParticle& rp)
 Modify the primary particle properties according
  1. the response function of PHOS
  2. the performance of the EMC+PPSD setup
Int_t MakeType(AliPHOSFastRecParticle& rp)
 Generate a particle type using the performance of the EMC+PPSD setup
void ResetPoints()
 This overloads the method in AliDetector
void ResetFastRecParticles()
 Resets the list of virtual reconstructed particles
void SetBigBox(Int_t index, Float_t value)
 Set the size of the Box describing a PHOS module
Double_t SigmaE(Double_t energy)
 Calculates the energy dependent energy resolution
Double_t SigmaP(Double_t energy, Double_t inc)
 Calculates the energy dependent position resolution
void StepManager(void)
 Only verifies if the particle reaches PHOS and stops the tracking
Int_t IsVersion(void)
 Gives the version number
TClonesArray * FastRecParticles() const
 gets TClonesArray of reconstructed particles
{ return fFastRecParticles ; }
const TString Version(void)