#include <FMD/AliFMD.h>
Inheritance diagram for AliFMD:
The Forward Multiplicity Detector consists of 3 sub-detectors FMD1, FMD2, and FMD3, each of which has 1 or 2 rings of silicon sensors.
This is the base class for all FMD manager classes.
The actual code is done by various separate classes. Below is diagram showing the relationship between the various FMD classes that handles the simulation
+----------+ +----------+ | AliFMDv1 | | AliFMDv0 | +----------+ +----------+ | | +-----------------+ +----+--------------+ +--| AliFMDDigitizer | | | +-----------------+ | +---------------------+ | | +--| AliFMDBaseDigitizer |<--+ V 1 | +---------------------+ | +--------+<>--+ | +------------------+ | AliFMD | +--| AliFMDSDigitizer | +--------+<>--+ +------------------+ 1 | +---------------------+ +--| AliFMDReconstructor | +---------------------+
Calibration and geometry parameters are managed by separate singleton managers. These are AliFMDGeometry and AliFMDParameters. Please refer to these classes for more information on these.
Definition at line 280 of file AliFMD.h.
Public Member Functions | |
AliFMD () | |
AliFMD (const char *name, const char *title) | |
AliFMD (const AliFMD &other) | |
virtual | ~AliFMD () |
AliFMD & | operator= (const AliFMD &other) |
void | UseDetailed (Bool_t use=kTRUE) |
GEometry ANd Tracking (GEANT :-) | |
virtual void | CreateGeometry () |
virtual void | CreateMaterials () |
virtual void | Init () |
virtual void | StepManager ()=0 |
virtual void | FinishEvent () |
Graphics and event display | |
virtual void | BuildGeometry () |
virtual void | DrawDetector () |
virtual Int_t | DistanceToPrimitive (Int_t px, Int_t py) |
virtual void | LoadPoints (Int_t track) |
Hit and digit management | |
virtual void | MakeBranch (Option_t *opt=" ") |
virtual void | SetHitsAddressBranch (TBranch *b) |
virtual void | SetTreeAddress () |
virtual TClonesArray * | SDigits () |
virtual void | ResetSDigits () |
virtual void | AddHit (Int_t track, Int_t *vol, Float_t *hits) |
virtual AliFMDHit * | 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 void | AddDigit (Int_t *digits, Int_t *notused=0) |
virtual void | 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) |
virtual void | AddSDigit (Int_t *digits) |
virtual void | 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) |
Digitisation | |
virtual AliDigitizer * | CreateDigitizer (AliRunDigitizer *manager) const |
virtual void | Hits2Digits () |
virtual void | Hits2SDigits () |
Raw data | |
virtual void | Digits2Raw () |
Utility | |
void | Browse (TBrowser *b) |
Protected Types | |
enum | { kSiId, kAirId, kPlasticId, kPcbId, kSiChipId, kAlId, kCarbonId, kCopperId, kKaptonId } |
Protected Member Functions | |
TClonesArray * | HitsArray () |
TClonesArray * | DigitsArray () |
TClonesArray * | SDigitsArray () |
Protected Attributes | |
TClonesArray * | fSDigits |
Int_t | fNsdigits |
Bool_t | fDetailed |
Bool_t | fUseOld |
Bool_t | fUseAssembly |
TObjArray * | fBad |
|
|
|
Default constructor. Do not use. |
|
Normal constructor
|
|
Copy constructor
|
|
Destructor |
|
Add a digit to the Digit tree
|
|
add a real digit
|
|
Add a hit to the hits tree
|
|
Add a hit to the list
|
|
Add a digit to the Digit tree
|
|
add a summable digit - as coming from data
|
|
Browse this object
|
|
Build simple ROOT TNode geometry for event display. With the new geometry modeller, TGeoManager, this seems rather redundant. |
|
Create a digitizer object
|
|
Define the geometry. This is done by asking the manager AliFMDGeometry to construct the geometry. This in turn calls AliFMDGeometryBuilder. |
|
Create the tracking mediums used by the FMD. This associates the tracking mediums defined with the FMD in the TVirtualMCApplication (AliMC). The defined mediums are
|
|
Turn digits into raw data. This uses the class AliFMDRawWriter to do the job. Please refer to that class for more information. |
|
Initialize digit array if not already done, and return pointert.
|
|
Calculate the distance from the mouse to the FMD on the screen Dummy routine |
|
Draw a shaded view of the Forward multiplicity detector. This isn't really useful anymore. |
|
Called at the end of each simulation event. If the debug level is high enough a list of bad hits is printed. |
|
Create AliFMDDigit's from AliFMDHit's. This is done by creating an AliFMDDigitizer object, and executing it. |
|
Create AliFMDSDigit's from AliFMDHit's. This is done by creating an AliFMDSDigitizer object, and executing it. |
|
Initialize hit array if not already done, and return pointert.
|
|
Initialize this detector |
|
Store x, y, z of all hits in memory for display. Normally, the hits are drawn using TPolyMarker3D - however, that is not very useful for the FMD. Therefor, this member function is overloaded to make TMarker3D, via the class AliFMDPoints. AliFMDPoints is a local class.
|
|
|
|
Assignment operator
|
|
Reset the array of summable digits |
|
Get the array of summable digits
|
|
Initialize summable digit array if not already done, and return pointert.
|
|
Set the TClonesArray to read hits into.
|
|
Set branch address for the Hits, Digits, and SDigits Tree. |
|
This member function is called when ever a track deposites energy (or similar) in an FMD tracking medium. In this base class this member function is pure abstract. In concrete sub-classes, the member function may make hits or other stuff. |
|
Wheter to make a detailed geometry
|
|
|
|
|
|
|
|
|
|
|
|
|