An overview of the basic philosophy of the ITS code development and analysis is show in the figure below.// /*
Roberto Barbera is in charge of the ITS Offline code (1999). Roberto Barbera.
*/AliITS. Inner Traking System base class. This class contains the base procedures for the Inner Tracking System/*
This show the class diagram of the different elements that are part of the AliITS class.
*/Version: 0 Written by Rene Brun, Federico Carminati, and Roberto Barbera Version: 1 Modified and documented by Bjorn S. Nilsen July 11 1999 Version: 2 Modified and documented by A. Bologna October 18 1999 AliITS is the general base class for the ITS. Also see AliDetector for futher information.
AliITS() | |
AliITS(const Char_t* title) | |
AliITS(const char* name, const char* title) | |
virtual | ~AliITS() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | AliDetector::AddAlignableVolumes() const |
virtual void | AliModule::AddDigit(Int_t*, Int_t*) |
virtual void | AddHit(Int_t track, Int_t* vol, Float_t* hits) |
virtual void | AddSimDigit(Int_t branch, AliITSdigit* d) |
virtual void | AddSimDigit(Int_t branch, Float_t phys, Int_t* digits, Int_t* tracks, Int_t* hits, Float_t* trkcharges, Int_t sigexpanded = -1000) |
virtual void | AddSumDigit(AliITSpListItem& sdig) |
virtual AliTrackReference* | AliModule::AddTrackReference(Int_t label, Int_t id = -999) |
virtual void | AliModule::AliGetMaterial(Int_t imat, char* name, Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl) const |
virtual void | AliModule::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 void | AliModule::AliMatrix(Int_t& nmat, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2, Float_t theta3, Float_t phi3) const |
virtual void | AliModule::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 void | AliModule::AliMixture(Int_t imat, const char* name, Float_t* a, Float_t* z, Float_t dens, Int_t nlmat, Float_t* wmat) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | AliDetector::Browse(TBrowser* b) |
virtual void | AliModule::BuildGeometry() |
virtual void | CheckLabels(Int_t* lab) const |
virtual void | AliModule::CheckQA() |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual void | ClearModules() |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
virtual AliDigitizer* | CreateDigitizer(AliDigitizationInput* digInput) const |
virtual void | AliModule::CreateGeometry() |
virtual void | AliModule::CreateMaterials() |
virtual AliTriggerDetector* | CreateTriggerDetector() const |
virtual void | AliModule::DefineOpticalProperties() |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual TClonesArray* | AliDetector::Digits() const |
virtual void | Digits2Raw() |
virtual void | AliModule::Digits2Reco() |
TClonesArray* | DigitsAddress(Int_t id) |
virtual void | AliModule::DisableStepManager() |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | AliDetector::DrawModule() const |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual void | FillModules(TTree* treeH, Int_t mask = 0) |
virtual void | FillModules(Int_t, Int_t bgrev, Int_t, Option_t* opt, const char* filename) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual void | AliModule::FinishEvent() |
virtual void | AliModule::FinishPrimary() |
virtual void | AliDetector::FinishRun() |
virtual AliHit* | AliDetector::FirstHit(Int_t track) |
static Float_t | AliModule::GetDensityFactor() |
Option_t* | GetDetectors() |
AliITSDetTypeSim* | GetDetTypeSim() const |
AliDigitizationInput* | AliModule::GetDigitizationInput() const |
TObjArray* | GetDigits() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual Bool_t | GetEUCLID() const |
virtual void | GetGeometryVersion(Int_t& a, Int_t& b) const |
virtual const char* | TObject::GetIconName() const |
virtual TArrayI* | AliModule::GetIdtmed() const |
virtual Int_t | AliDetector::GetIshunt() const |
AliITSgeom* | GetITSgeom() const |
virtual AliLoader* | AliDetector::GetLoader() const |
virtual Int_t | GetMajorVersion() const |
virtual Int_t | GetMinorVersion() const |
AliITSmodule* | GetModule(Int_t index) |
TObjArray* | GetModules() |
virtual const char* | TNamed::GetName() const |
Int_t* | GetNDigitArray() const |
virtual int | AliDetector::GetNdigits() const |
virtual int | AliDetector::GetNhits() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
const TArrayI* | GetRawID2ClusID(Int_t iDet) const |
virtual AliITSsimulation* | GetSimulationModel(Int_t id) |
AliITSSimuParam* | GetSimuParam() const |
virtual Float_t | AliDetector::GetTimeGate() const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual Int_t& | AliModule::HiMedium() |
virtual TClonesArray* | AliDetector::Hits() const |
virtual Int_t | Hits2Clusters(TTree* in, TTree* out) |
virtual void | Hits2Digits() |
virtual void | Hits2PreDigits() |
virtual void | Hits2SDigits() |
virtual void | HitsToDigits(Int_t evNumber, Int_t bgrev, Int_t size, Option_t* option, Option_t* opt, const char* filename) |
virtual void | HitsToFastRecPoints(Int_t evNumber, Int_t bgrev, Int_t size, Option_t* add, Option_t* det, const char* filename) |
virtual void | HitsToPreDigits(Int_t evNumber, Int_t bgrev, Int_t size, Option_t* option, Option_t* opt, const char* filename) |
void | HitsToSDigits(Int_t evNumber, Int_t bgrev, Int_t size, Option_t* add, Option_t* det, const char* filename) |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | Init() |
virtual Bool_t | InitModules(Int_t size, Int_t& nmodules) |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | AliModule::IsActive() const |
virtual Bool_t | AliDetector::IsDetector() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | AliModule::IsFolder() const |
virtual Bool_t | AliDetector::IsModule() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual Int_t | IsVersion() const |
Bool_t | TObject::IsZombie() const |
virtual void | AliModule::LoadPoints(Int_t) |
virtual Int_t& | AliModule::LoMedium() |
virtual void | TNamed::ls(Option_t* option = "") const |
virtual void | MakeBranch(Option_t* opt = " ") |
virtual void | MakeBranchD(const char* file) |
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 void | MakeBranchInTreeD(TTree* treeD, const char* file = 0) |
virtual void | MakeBranchS(const char* fl) |
virtual AliLoader* | MakeLoader(const char* topfoldername) |
virtual void | AliDetector::MakeTree(Option_t* option) |
void | TObject::MayNotUse(const char* method) const |
virtual AliHit* | AliDetector::NextHit() |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | AliModule::Paint(Option_t*) |
virtual TObjArray* | AliModule::Points() const |
virtual void | TObject::Pop() |
virtual void | AliModule::PostTrack() |
virtual void | AliModule::PreTrack() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | AliDetector::Publish(const char* dir, void* c, const char* name = 0) const |
virtual void | AliModule::QADataMaker(const char*) |
virtual void | AliModule::Raw2Digits() |
virtual Bool_t | Raw2SDigits(AliRawReader* rawReader) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual void | AliDetector::RemapTrackHitIDs(Int_t*) |
void | TObject::ResetBit(UInt_t f) |
virtual void | ResetDigits() |
virtual void | ResetDigits(Int_t branch) |
virtual void | AliDetector::ResetHits() |
virtual void | AliModule::ResetSDigits() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
virtual void | SDigits2Digits() |
virtual void | SDigitsToDigits(Option_t* opt = "All") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | AliDetector::SetBufferSize(Int_t bufsize = 8000) |
virtual void | SetCalibrationModel(Int_t dettype, AliITSCalibration* cal) |
virtual void | SetDefaults() |
virtual void | SetDefaultSimulation() |
static void | AliModule::SetDensityFactor(Float_t density) |
void | SetDetectors(Option_t* opt = "All") |
virtual void | SetDetTypeSim(AliITSDetTypeSim* dts) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | SetEUCLID(Bool_t euclid = kTRUE) |
virtual void | AliDetector::SetIshunt(Int_t ishunt) |
void | SetITSgeom(AliITSgeom* geom) |
void | AliDetector::SetLoader(AliLoader* loader) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetRawID2ClusID(const TArrayI* arr, Int_t iDet) |
void | AliModule::SetRunLoader(AliRunLoader* runLoader) |
virtual void | SetSegmentationModel(Int_t id, AliITSsegmentation* seg) |
virtual void | SetSimulationModel(Int_t id, AliITSsimulation* sim) |
virtual void | SetSimuParam(AliITSSimuParam* sp) |
virtual void | AliDetector::SetTimeGate(Float_t gate) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | SetTreeAddress() |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | StepManager() |
virtual Bool_t | AliModule::StepManagerIsEnabled() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
TTree* | AliModule::TreeTR() |
virtual void | UpdateInternalGeometry() |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
void | WriteFOSignals() |
virtual Float_t | AliModule::ZMax() const |
virtual Float_t | AliModule::ZMin() const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
enum { | kSPD | |
kSDD | ||
kSSD | ||
kMaxLabel | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Bool_t | AliModule::fActive | Detector activity flag |
Int_t | AliDetector::fBufferSize | !buffer size for Tree detector branches |
Int_t | AliDetector::fCurIterHit | !Counter for the hit iterator |
Int_t | AliModule::fCurrentIterTrackRef | !for track refernce iterator routines |
AliITSDetTypeSim* | fDetTypeSim | detector type for simulation |
AliDigitizationInput* | AliModule::fDigInput | ! input for sdigits -> digits |
TClonesArray* | AliDetector::fDigits | !List of digits for this detector |
Bool_t | AliModule::fEnable | StepManager enabling flag |
Bool_t | fEuclidOut | Flag to write geometry in euclid format |
Int_t | AliModule::fHiMedium | !Maximum tracking medium ID for this Module |
TClonesArray* | AliDetector::fHits | !List of hits for one track only |
TObjArray* | fITSmodules | ! Pointer to ITS modules |
Int_t | fIdN | the number of layers |
TString* | fIdName | [fIdN] layer identifier |
Int_t* | fIdSens | [fIdN] layer identifier |
TArrayI* | AliModule::fIdmate | !List of material numbers |
TArrayI* | AliModule::fIdtmed | !List of tracking medium numbers |
Int_t | AliDetector::fIshunt | 1 if the hit is attached to the primary |
Int_t | AliModule::fLoMedium | !Minimum tracking medium ID for this Module |
AliLoader* | AliDetector::fLoader | ! pointer to getter for this module skowron |
Int_t | AliDetector::fMaxIterHit | !Limit for the hit iterator |
Int_t | AliModule::fMaxIterTrackRef | !for track refernce iterator routines |
TClonesArray** | fModA | ! Used by Raw2SDigits (one TC per module) |
TString | TNamed::fName | object identifier |
Int_t | AliDetector::fNdigits | !Number of digits |
Int_t | AliDetector::fNhits | !Number of hits |
Option_t* | fOpt | ! Detector option ="All" unless changed. |
AliRunLoader* | AliModule::fRunLoader | !local pointer to run loader |
AliITSSimuParam* | fSimuParam | simulation parameters |
Float_t | AliDetector::fTimeGate | Time gate in seconds |
Bool_t | fTiming | flag to turn on/off timers. |
TString | TNamed::fTitle | object title |
static Float_t | AliModule::fgDensityFactor | ! factor that is multiplied to all material densities (ONLY for systematic studies) |
static const Int_t | fgkNTYPES | number of detector types |
const TArrayI* | fkRawID2ClusID[3] | ! optional array for SDigit->Cluster assingment in Raw2SDigit (for embedding) |
TClonesArray* | fpSDigits | ! Branch address to build SD from raw data |
Inheritance Chart: | ||||||||||||||||||||
|
Default initializer for ITS The default constructor of the AliITS class. In addition to creating the AliITS class it zeros the variables fIshunt (a member of AliDetector class), fEuclidOut, and fIdN, and zeros the pointers fIdSens, and fIdName. The AliDetector default constructor is also called.
The standard Constructor for the ITS class. It also zeros the variables fIshunt (a member of AliDetector class), fEuclidOut, and zeros the pointers fIdSens and fIdName. To help in displaying hits via the ROOT macro display.C AliITS also sets the marker color to red. The variables passes with this constructor, const char *name and *title, are used by the constructor of AliDetector class. See AliDetector class for a description of these parameters and its constructor functions. Inputs: Char_t *title Simulation title for the ITS Outputs: none. Return: none.
The standard Constructor for the ITS class. It also zeros the variables fIshunt (a member of AliDetector class), fEuclidOut, and zeros the pointers fIdSens and fIdName. To help in displaying hits via the ROOT macro display.C AliITS also sets the marker color to red. The variables passes with this constructor, const char *name and *title, are used by the constructor of AliDetector class. See AliDetector class for a description of these parameters and its constructor functions.
Default destructor for ITS. The default destructor of the AliITS class. In addition to deleting the AliITS class it deletes the memory pointed to by fIdSens, fIdName, fDetTypeSim and it's contents. Inputs: none. Outputs: none. Return: none.
Creates the AliITSDigitizer in a standard way for use via AliModule. This function can not be included in the .h file because of problems with the order of inclusion (recursive). Inputs: AliDigitizationInput* digInput The Manger class for Digitization Output: none. Return: A new AliITSRunDigitizer (cast as a AliDigitizer).
Initializer ITS after it has been built This routine initializes the AliITS class. It is intended to be called from the Init function in AliITSv?. Besides displaying a banner indicating that it has been called it initializes the array fIdSens and sets the default segmentation, response, digit and raw cluster classes therefore it should be called after a call to CreateGeometry. Inputs: none. Outputs: none. Return: none.
sets the default segmentation, response, digit and raw cluster classes. Inputs: none. Outputs: none. Return: none.
Add an ITS hit The function to add information to the AliITShit class. See the AliITShit class for a full description. This function allocates the necessary new space for the hit information and passes the variable track, and the pointers *vol and *hits to the AliITShit constructor function. Inputs: Int_t track Track number which produced this hit. Int_t *vol Array of Integer Hit information. See AliITShit.h Float_t *hits Array of Floating Hit information. see AliITShit.h Outputs: none. Return: none.
fill the modules with the sorted by module hits; add hits from background if option=Add.
fill the modules with the sorted by module hits; can be called many times to do a merging Inputs: TTree *treeH The tree containing the hits to be copied into the modules. Int_t mask The track number mask to indecate which file this hits came from. Outputs: none. Return: none.
Initialize the modules array. Inputs: Int_t size Size of array of the number of modules to be created. If size <=0 then the number of modules is gotten from AliITSgeom class kept in fITSgeom. Outputs: Int_t &nmodules The number of modules existing. Return: none.
Keep galice.root for signal and name differently the file for background when add! otherwise the track info for signal will be lost ! the condition below will disappear when the geom class will be initialized for all versions - for the moment it is only for v5 ! 7 is the SDD beam test version. Inputs: Int_t evnt Event to be processed. Int_t bgrev Background Hit tree number. Int_t nmodules Not used. Option_t *option String indicating if merging hits or not. To merge hits set equal to "Add". Otherwise no background hits are considered. Test_t *filename File name containing the background hits.. Outputs: none. Return: none.
Keep galice.root for signal and name differently the file for background when add! otherwise the track info for signal will be lost ! the condition below will disappear when the geom class will be initialized for all versions - for the moment it is only for v5 ! 7 is the SDD beam test version. Inputs: Int_t evnt Event to be processed. Int_t bgrev Background Hit tree number. Int_t nmodules Not used. Option_t *option String indicating if merging hits or not. To merge hits set equal to "Add". Otherwise no background hits are considered. Test_t *filename File name containing the background hits.. Outputs: none. Return: none.
keep galice.root for signal and name differently the file for background when add! otherwise the track info for signal will be lost ! the condition below will disappear when the geom class will be initialized for all versions - for the moment it is only for v5 ! Inputs: Int_t evnt Event to be processed. Int_t bgrev Background Hit tree number. Int_t size Size used by InitModules. See InitModules. Option_t *opt0 Option passed to FillModules. See FillModules. Option_t *opt1 String indicating if merging hits or not. To merge hits set equal to "Add". Otherwise no background hits are considered. Test_t *flnm File name containing the background hits.. Outputs: none. Return: none.
Standard Summable digits to Digits function. Inputs: none. Outputs: none.
Reset number of digits and the digits array for the ITS detector. Inputs: none. Outputs: none.
Reset number of digits and the digits array for this branch. Inputs: none. Outputs: none.
Adds the a module full of summable digits to the summable digits tree. Inputs: AliITSpListItem &sdig SDigit to be added to SDigits tree. Outputs: none. Return: none.
Add a simulated digit. Inputs: Int_t id Detector type number. AliITSdigit *d Digit to be added to the Digits Tree. See AliITSdigit.h Outputs: none. Return: none.
Add a simulated digit to the list. Inputs: Int_t id Detector type number. Float_t phys Physics indicator. See AliITSdigits.h Int_t *digits Integer array containing the digits info. See AliITSdigit.h Int_t *tracks Integer array [AliITSdigitS?D::GetNTracks()] containing the track numbers that contributed to this digit. Int_t *hits Integer array [AliITSdigitS?D::GetNTracks()] containing the hit numbers, from AliITSmodule, that contributed to this digit. Float_t *charge Floating point array of the signals contributed to this digit by each track. Outputs: none. Return: none.
builds ITSgetter (AliLoader type) if detector wants to use castomized getter, it must overload this method
reads new geometry from TGeo
AliDebug(1,"Delete ITSgeom and create a new one reading TGeo");
create an AliITSTrigger object (and set trigger conditions as input)
This method write FO signals in Digits tree both in Hits2Digits or SDigits2Digits
Simulation Geometry get geometry version - detailed (major) or coarse (minor)
{return -1;}
{a = GetMajorVersion();b=GetMinorVersion();return;}
ITS geometry functions From Simulation
{return fDetTypeSim->GetITSgeom();}
return pointer to the array of modules
{fDetTypeSim->SetITSgeom(geom);}
Configuration Methods (per detector type) Determines which ITS subdetectors will be processed. Effects digitization, and Reconstruction only.
{fOpt = opt;}
Returns the list of ITS subdetectors that will be processed.
{return fOpt;}
{HitsToPreDigits(evNumber,bgrev,size,add,det,filename);}
{ if (iDet>-1&&iDet<fgkNTYPES) fkRawID2ClusID[iDet] = arr;}
{return (iDet>-1&&iDet<fgkNTYPES) ? fkRawID2ClusID[iDet]:0;}