#include "hmdcgarmacromaker.h"

HMdcGarMacroMaker


class description - source file - inheritance tree (.pdf)

class HMdcGarMacroMaker : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
HMdcGarMacroMaker

    protected:
void closeOutPut() void initVariables() void openOutPut() void parseArguments(TString) void print3D() void printCell() void printDrift() void printField() void printGas() void printGeometry() void printKeyWords() void printMagnetic() void printMetaHeader() void printMetaTrailer() void printOptions() void printSignal() void putOut(Char_t*) public:
HMdcGarMacroMaker(const char* name, const char* title) HMdcGarMacroMaker(const HMdcGarMacroMaker&) ~HMdcGarMacroMaker() static TClass* Class() virtual TClass* IsA() const HMdcGarMacroMaker& operator=(const HMdcGarMacroMaker&) void printMacro() void printStatus() void setAngle(Float_t a) void setAngleStepSize(Float_t s) void setArea(Float_t* c) void setArgon(Int_t ar) void setAvalanche(Int_t a) void setBFieldComponents(Float_t, Float_t, Float_t) void setCathodeFoil(Bool_t foil) void setCathodHv(Int_t* c) void setCathodHvMod(Int_t hv, Int_t i) void setCathodPitch(Float_t* c) void setCathodTh(Float_t* c) void setCathodX(Float_t* c) void setCWire(Int_t* c) void setCWireFoil(Int_t* c) void setDC_S(Float_t* c) void setEnergy(Float_t e) void setFieldHv(Int_t* c) void setFieldHvMod(Int_t hv, Int_t i) void setFieldPitch(Float_t* c) void setFieldTh(Float_t* c) void setFieldX(Float_t* c) void setFileNameGasFile(TString) void setFileNameOut(TString) void setFileNameSignals(TString) void setHelium(Int_t he) void setIButane(Int_t b) void setIsochrones(Float_t ni) void setMaxLoop(Int_t* c) void setMdcType(Int_t type) void setMinLoop(Int_t* c) void setMobility(Float_t m) void setNCathod(Int_t* c) void setNCollisions(Int_t c) void setNField(Int_t* c) void setNLines(Int_t ni) void setNSense(Int_t* c) void setNSignals(Int_t nS) void setNTimeBin(Int_t number) void setParticle(TString p) void setPressure(Int_t p) void setPrintClusters(Bool_t opt) void setPrintSetup(TString) void setPsFileName(TString) void setRange(Int_t r) void setSenseHv(Int_t* c) void setSenseHvMod(Int_t hv, Int_t i) void setSensePitch(Float_t* c) void setSenseTh(Float_t* c) void setSenseX(Float_t* c) void setTemperature(Int_t t) void setTimeLow(Float_t* c) void setTimeUp(Float_t* c) void setWriteDataSets(Bool_t write = kTRUE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
TString fNameAsciiOut ! file name of ascii output file TString fNameSignalOut ! file name of output file for signals TString fNameGasIn ! file name of gas Input file FILE* output ! file pointer to out put Bool_t postscript ! print pictures to ps TString postscriptfile ! file name of ps output file TString setup ! contains the print options static Float_t cathodth[4] ! thickness of cathod per chamber type static Float_t senseth[4] ! thickness of sense per chamber type static Float_t fieldth[4] ! thickness of field per chamber type static Float_t cathodpitch[4] ! pitch of cathod per chamber type static Float_t sensepitch[4] ! pitch of sense per chamber type static Float_t fieldpitch[4] ! pitch of field per chamber type static Int_t cathodhv[4] ! hv of cathod per chamber type static Int_t sensehv[4] ! hv of sense per chamber type static Int_t fieldhv[4] ! hv of field per chamber type static Int_t cathodhvmod[4] ! hv of cathod for modification static Int_t sensehvmod[4] ! hv of sense for modification static Int_t fieldhvmod[4] ! hv of field for modification static Int_t ncathod[4] ! number of cathod wires per chamber type static Int_t nsense[4] ! number of sense wires per chamber type static Int_t nfield[4] ! number of field wires per chamber type static Float_t dc_s[4] ! distance cathod and sense wire plane static Float_t cathodx[4] ! x of cathod per chamber type static Float_t sensex[4] ! x of sense per chamber type static Float_t fieldx[4] ! x pitch of field per chamber type static Float_t area[4][4] ! window of interest static Int_t cwire[4] ! wire which is selected for read out static Int_t cwire_foil[4] ! wire which is selected for read out if cathode foil is used static Float_t time_up[4] ! upper limit of time window static Float_t time_low[4] ! lower limit of time window static Int_t maxLoop[4][18] ! upper limit for loop over distance static Int_t minLoop[4][18] ! lower limit for loop over distance static Float_t B_components[3] ! components of the magnetic field Int_t mdc ! module type Int_t temperature ! temperature of gas Int_t pressure ! pressure of gas Int_t argon ! fraction of argon in gas mixture (in %) Int_t helium ! fraction of helium in gas mixture (in %) Int_t ibutane ! fraction of iso-butan in gas mixture (in %) Float_t mobility ! mobility for magboltz Int_t avalanche ! Int_t collisions ! number of collisions for monte carlo TString particle ! Float_t energy ! particle energy in GeV Int_t range ! max track length; Float_t timebin ! bin size of time window; Int_t nTimeBin ! number of bins for time window; Float_t angleDeg ! impact angle of track; Int_t angleStep ! impact angle of track (step of stepsizeAngle); Float_t angleStepSize ! Bool_t printclusters ! switch print option in SIGNAL Int_t nSignals ! number of signal per sample point Bool_t writeData ! flag for writing out datasets Bool_t printcell ! switch print on/off for cell Bool_t printoption ! switch print on/off for option Bool_t printgas ! switch print on/off for gas Bool_t printfield ! switch print on/off for field Bool_t printdrift ! switch print on/off for drift Bool_t printsignal ! switch print on/off for signal Bool_t print3d ! switch print on/off for 3d Bool_t cathode_foils ! use cathode foils instead of cathode wires Float_t isochrones ! distance of isochrones in musec Int_t nLines ! number of lines for isochrones plot

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.


HMdcGarMacroMaker(const char* name,const char* title) : TNamed(name,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 myfile)
 Sets ascii output of HMdcGarMacroMaker

void setFileNameSignals(TString myfile)
 Sets ascii output of HMdcGarMacroMaker

void setFileNameGasFile(TString myfile)
 Sets ascii output of HMdcGarMacroMaker

void setPsFileName(TString myfile)
 Sets ascii output of HMdcGarMacroMaker

void setPrintSetup(TString myset)

void setBFieldComponents(Float_t bx,Float_t by,Float_t bz)

void parseArguments(TString s1)
 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(Char_t* buffer)
 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



Inline Functions


                      void setWriteDataSets(Bool_t write = kTRUE)
                      void setMdcType(Int_t type)
                      void setAngle(Float_t a)
                      void setCathodeFoil(Bool_t foil)
                      void setAngleStepSize(Float_t s)
                      void setTemperature(Int_t t)
                      void setPressure(Int_t p)
                      void setMobility(Float_t m)
                      void setParticle(TString p)
                      void setEnergy(Float_t e)
                      void setRange(Int_t r)
                      void setAvalanche(Int_t a)
                      void setNCollisions(Int_t c)
                      void setNSignals(Int_t nS)
                      void setNLines(Int_t ni)
                      void setIsochrones(Float_t ni)
                      void setCathodHvMod(Int_t hv, Int_t i)
                      void setSenseHvMod(Int_t hv, Int_t i)
                      void setFieldHvMod(Int_t hv, Int_t i)
                      void setCathodTh(Float_t* c)
                      void setSenseTh(Float_t* c)
                      void setFieldTh(Float_t* c)
                      void setCathodPitch(Float_t* c)
                      void setSensePitch(Float_t* c)
                      void setFieldPitch(Float_t* c)
                      void setCathodHv(Int_t* c)
                      void setSenseHv(Int_t* c)
                      void setFieldHv(Int_t* c)
                      void setNCathod(Int_t* c)
                      void setNSense(Int_t* c)
                      void setNField(Int_t* c)
                      void setCathodX(Float_t* c)
                      void setSenseX(Float_t* c)
                      void setFieldX(Float_t* c)
                      void setArea(Float_t* c)
                      void setMaxLoop(Int_t* c)
                      void setMinLoop(Int_t* c)
                      void setCWire(Int_t* c)
                      void setCWireFoil(Int_t* c)
                      void setTimeUp(Float_t* c)
                      void setTimeLow(Float_t* c)
                      void setNTimeBin(Int_t number)
                      void setDC_S(Float_t* c)
                      void setPrintClusters(Bool_t opt)
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
         HMdcGarMacroMaker HMdcGarMacroMaker(const HMdcGarMacroMaker&)
        HMdcGarMacroMaker& operator=(const HMdcGarMacroMaker&)


Last update: Fri Jan 26 12:09:02 2007


ROOT page - Class index - Class Hierarchy - Top of the page

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.