class HMdcGarMacroMaker: public TNamed

_HADES_CLASS_DESCRIPTION

 HMdcGarMacroMaker
 Class to create a GARFIELD Macro for Batch farm processing to simulate
 a couple of tracks for each sample point (distance from wire). The produced
 signals on the sense wire will be written to an ascii file, which can be read in
 via HMdcGarSignalReader afterwards.
 As input you have to specify the Mdc (0-3) and the angle (0-85 degree)
 where 0 degree is perpendicular impact of the track.

Function Members (Methods)

public:
HMdcGarMacroMaker(const HMdcGarMacroMaker&)
HMdcGarMacroMaker(const Char_t* name = "", const Char_t* title = "")
virtual~HMdcGarMacroMaker()
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 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 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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
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)
HMdcGarMacroMaker&operator=(const HMdcGarMacroMaker&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidprintMacro()
voidprintStatus()
virtual Int_tTObject::Read(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 = "")
voidsetAngle(Float_t a)
voidsetAngleStepSize(Float_t s)
voidsetArea(Float_t* c)
voidsetArgon(Int_t ar)
voidsetAvalanche(Int_t a)
voidsetBFieldComponents(Float_t, Float_t, Float_t)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetCathodeFoil(Bool_t foil)
voidsetCathodHv(Int_t* c)
voidsetCathodHvMod(Int_t hv, Int_t i)
voidsetCathodPitch(Float_t* c)
voidsetCathodTh(Float_t* c)
voidsetCathodX(Float_t* c)
voidsetCWire(Int_t* c)
voidsetCWireFoil(Int_t* c)
voidsetDC_S(Float_t* c)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetEnergy(Float_t e)
voidsetFieldHv(Int_t* c)
voidsetFieldHvMod(Int_t hv, Int_t i)
voidsetFieldPitch(Float_t* c)
voidsetFieldTh(Float_t* c)
voidsetFieldX(Float_t* c)
voidsetFileNameGasFile(TString)
voidsetFileNameOut(TString)
voidsetFileNameSignals(TString)
voidsetHelium(Int_t he)
voidsetIButane(Int_t b)
voidsetIsochrones(Float_t ni)
voidsetMaxLoop(Int_t* c)
voidsetMdcType(Int_t type)
voidsetMinLoop(Int_t* c)
voidsetMobility(Float_t m)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidsetNCathod(Int_t* c)
voidsetNCollisions(Int_t c)
voidsetNField(Int_t* c)
voidsetNLines(Int_t ni)
voidsetNSense(Int_t* c)
voidsetNSignals(Int_t nS)
voidsetNTimeBin(Int_t number)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetParticle(TString p)
voidsetPressure(Int_t p)
voidsetPrintClusters(Bool_t opt)
voidsetPrintSetup(TString)
voidsetPsFileName(TString)
voidsetRange(Int_t r)
voidsetSenseHv(Int_t* c)
voidsetSenseHvMod(Int_t hv, Int_t i)
voidsetSensePitch(Float_t* c)
voidsetSenseTh(Float_t* c)
voidsetSenseX(Float_t* c)
voidsetTemperature(Int_t t)
voidsetTimeLow(Float_t* c)
voidsetTimeUp(Float_t* c)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetWriteDataSets(Bool_t write = kTRUE)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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 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
protected:
voidcloseOutPut()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidinitVariables()
voidTObject::MakeZombie()
voidopenOutPut()
voidparseArguments(TString)
voidprint3D()
voidprintCell()
voidprintDrift()
voidprintField()
voidprintGas()
voidprintGeometry()
voidprintKeyWords()
voidprintMagnetic()
voidprintMetaHeader()
voidprintMetaTrailer()
voidprintOptions()
voidprintSignal()
voidputOut(const Char_t*)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
static Float_tB_components[3]! components of the magnetic field
Float_tangleDeg! impact angle of track;
Int_tangleStep! impact angle of track (step of stepsizeAngle);
Float_tangleStepSize!
static Float_tarea[4][4]! window of interest
Int_targon! fraction of argon in gas mixture (in %)
Int_tavalanche!
Bool_tcathode_foils! use cathode foils instead of cathode wires
static Int_tcathodhv[4]! hv of cathod per chamber type
static Int_tcathodhvmod[4]! hv of cathod for modification
static Float_tcathodpitch[4]! pitch of cathod per chamber type
static Float_tcathodth[4]! thickness of cathod per chamber type
static Float_tcathodx[4]! x of cathod per chamber type
Int_tcollisions! number of collisions for monte carlo
static Int_tcwire[4]! wire which is selected for read out
static Int_tcwire_foil[4]! wire which is selected for read out if cathode foil is used
static Float_tdc_s[4]! distance cathod and sense wire plane
Float_tenergy! particle energy in GeV
TStringTNamed::fNameobject identifier
TStringfNameAsciiOut! file name of ascii output file
TStringfNameGasIn! file name of gas Input file
TStringfNameSignalOut! file name of output file for signals
TStringTNamed::fTitleobject title
static Int_tfieldhv[4]! hv of field per chamber type
static Int_tfieldhvmod[4]! hv of field for modification
static Float_tfieldpitch[4]! pitch of field per chamber type
static Float_tfieldth[4]! thickness of field per chamber type
static Float_tfieldx[4]! x pitch of field per chamber type
Int_thelium! fraction of helium in gas mixture (in %)
Int_tibutane! fraction of iso-butan in gas mixture (in %)
Float_tisochrones! distance of isochrones in musec
static Int_tmaxLoop[4][18]! upper limit for loop over distance
Int_tmdc! module type
static Int_tminLoop[4][18]! lower limit for loop over distance
Float_tmobility! mobility for magboltz
Int_tnLines! number of lines for isochrones plot
Int_tnSignals! number of signal per sample point
Int_tnTimeBin! number of bins for time window;
static Int_tncathod[4]! number of cathod wires per chamber type
static Int_tnfield[4]! number of field wires per chamber type
static Int_tnsense[4]! number of sense wires per chamber type
FILE*output! file pointer to out put
TStringparticle!
Bool_tpostscript! print pictures to ps
TStringpostscriptfile! file name of ps output file
Int_tpressure! pressure of gas
Bool_tprint3d! switch print on/off for 3d
Bool_tprintcell! switch print on/off for cell
Bool_tprintclusters! switch print option in SIGNAL
Bool_tprintdrift! switch print on/off for drift
Bool_tprintfield! switch print on/off for field
Bool_tprintgas! switch print on/off for gas
Bool_tprintoption! switch print on/off for option
Bool_tprintsignal! switch print on/off for signal
Int_trange! max track length;
static Int_tsensehv[4]! hv of sense per chamber type
static Int_tsensehvmod[4]! hv of sense for modification
static Float_tsensepitch[4]! pitch of sense per chamber type
static Float_tsenseth[4]! thickness of sense per chamber type
static Float_tsensex[4]! x of sense per chamber type
TStringsetup! contains the print options
Int_ttemperature! temperature of gas
static Float_ttime_low[4]! lower limit of time window
static Float_ttime_up[4]! upper limit of time window
Float_ttimebin! bin size of time window;
Bool_twriteData! flag for writing out datasets

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcGarMacroMaker(const Char_t* name = "", const Char_t* title = "")
 constructor for HMdcGarMacroMaker
 The parameters are initialized with non valid values.
~HMdcGarMacroMaker()
 destructor of HMdcGarMacroMaker
void setArgon(Int_t ar)
void setHelium(Int_t he)
void setIButane(Int_t b)
void setFileNameOut(TString )
 Sets ascii output of HMdcGarMacroMaker
void setFileNameSignals(TString )
 Sets ascii output of HMdcGarMacroMaker
void setFileNameGasFile(TString )
 Sets ascii output of HMdcGarMacroMaker
void setPsFileName(TString )
 Sets ascii output of HMdcGarMacroMaker
void setPrintSetup(TString )
void setBFieldComponents(Float_t , Float_t , Float_t )
void parseArguments(TString )
 The option string is searched for known arguments and
 the internal variables of the class are defined according
 to the arguments.
 If unknown arguments are found error messages will be displayed
 and the program will be exited.
 Not found options will be switched to kFALSE.
void initVariables()
 inits all variables
void printKeyWords()
 Prints the known keywords to the screen
void printStatus(void)
 prints the parameters to the screen
void putOut(const Char_t* )
 Prints the buffer to the screen and to the ascii output file
void openOutPut()
 Opens the output file
void closeOutPut()
 Close the output file
void printMacro()
 Print the macro to the screen and the ascii file output
void printMetaHeader()
 Prints the Metafile Header of the macro
void printCell()
 Prints the cell Id
void printOptions()
 Print some options
void printGeometry()
 Print the Geometry of the drift cell
void printField()
 Print the field section of the macro
void printMagnetic()
 Prints the magnetic field settings
void printGas()
 Print the Gas section of the macro
void printDrift()
 Print the Drift section of the macro
void printSignal()
 Print the Signal section of the macro
void printMetaTrailer()
 Print the Metafiel Trailer of the macro
void print3D()
 Print some 3d plot of the drift cell
HMdcGarMacroMaker(const Char_t* name = "", const Char_t* title = "")
void setWriteDataSets(Bool_t write = kTRUE)
{writeData=write;}
void setMdcType(Int_t type)
{mdc =type;}
void setAngle(Float_t a)
void setCathodeFoil(Bool_t foil)
{cathode_foils=foil;}
void setAngleStepSize(Float_t s)
{angleStepSize=s;}
void setTemperature(Int_t t)
{temperature=t;}
void setPressure(Int_t p)
{pressure =p;}
void setMobility(Float_t m)
{mobility =m;}
void setParticle(TString p)
{particle =p;}
void setEnergy(Float_t e)
{energy =e;}
void setRange(Int_t r)
{range =r;}
void setAvalanche(Int_t a)
{avalanche =a;}
void setNCollisions(Int_t c)
{collisions =c;}
void setNSignals(Int_t nS)
{nSignals =nS;}
void setNLines(Int_t ni)
{nLines =ni;}
void setIsochrones(Float_t ni)
{isochrones =ni;}
void setCathodHvMod(Int_t hv, Int_t i)
{cathodhvmod[i]=hv;}
void setSenseHvMod(Int_t hv, Int_t i)
{sensehvmod [i]=hv;}
void setFieldHvMod(Int_t hv, Int_t i)
{fieldhvmod [i]=hv;}
void setCathodTh(Float_t* c)
{for(Int_t i=0;i<4;i++)cathodth [i]=c[i];}
void setSenseTh(Float_t* c)
{for(Int_t i=0;i<4;i++)senseth [i]=c[i];}
void setFieldTh(Float_t* c)
{for(Int_t i=0;i<4;i++)fieldth [i]=c[i];}
void setCathodPitch(Float_t* c)
{for(Int_t i=0;i<4;i++)cathodpitch[i]=c[i];}
void setSensePitch(Float_t* c)
{for(Int_t i=0;i<4;i++)sensepitch [i]=c[i];}
void setFieldPitch(Float_t* c)
{for(Int_t i=0;i<4;i++)fieldpitch [i]=c[i];}
void setCathodHv(Int_t* c)
{for(Int_t i=0;i<4;i++)cathodhv [i]=c[i];}
void setSenseHv(Int_t* c)
{for(Int_t i=0;i<4;i++)sensehv [i]=c[i];}
void setFieldHv(Int_t* c)
{for(Int_t i=0;i<4;i++)fieldhv [i]=c[i];}
void setNCathod(Int_t* c)
{for(Int_t i=0;i<4;i++)ncathod [i]=c[i];}
void setNSense(Int_t* c)
{for(Int_t i=0;i<4;i++)nsense [i]=c[i];}
void setNField(Int_t* c)
{for(Int_t i=0;i<4;i++)nfield [i]=c[i];}
void setCathodX(Float_t* c)
{for(Int_t i=0;i<4;i++)cathodx [i]=c[i];}
void setSenseX(Float_t* c)
{for(Int_t i=0;i<4;i++)sensex [i]=c[i];}
void setFieldX(Float_t* c)
{for(Int_t i=0;i<4;i++)fieldx [i]=c[i];}
void setArea(Float_t* c)
void setMaxLoop(Int_t* c)
void setMinLoop(Int_t* c)
void setCWire(Int_t* c)
{for(Int_t i=0;i<4;i++)cwire [i]=c[i];}
void setCWireFoil(Int_t* c)
{for(Int_t i=0;i<4;i++)cwire_foil[i]=c[i];}
void setTimeUp(Float_t* c)
{for(Int_t i=0;i<4;i++)time_up [i]=c[i];}
void setTimeLow(Float_t* c)
{for(Int_t i=0;i<4;i++)time_low [i]=c[i];}
void setNTimeBin(Int_t number)
{nTimeBin=1000;}
void setDC_S(Float_t* c)
{for(Int_t i=0;i<4;i++)dc_s[i]=c[i];}
void setPrintClusters(Bool_t opt)
{printclusters=opt;}

Last change: Sat May 22 13:01:58 2010
Last generated: 2010-05-22 13:01

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.