CDF II
CDF KITS
source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Architecture: i386 ]
Version: 4.10.4 ] [ 4.10.5 ] [ 4.8.4 ] [ 4.8.4l3s ] [ 4.8.5 ] [ 4.9.0 ] [ 4.9.1 ] [ 4.9.1.hpt3 ] [ 4.9.1hpt3 ] [ 4.9.1top1 ] [ 5.0.0 ] [ 5.1.0 ] [ 5.1.0beamonly ] [ 5.1.1 ] [ 5.2.0 ] [ 5.3.0 ] [ 5.3.1 ] [ 5.3.1dsp ] [ 5.3.3 ] [ 5.3.3_nt ] [ 5.3.4 ] [ 6.1.1 ] [ 6.1.1b ] [ 6.1.2 ] [ 6.1.3 ] [ 6.1.4 ] [ 6.1.4int3 ] [ 6.1.4mc ] [ 6.1.4mc_a ] [ 6.1.6 ] [ development ]

001 //------------------------------------------------------------------------------
002 // Description:
003 // -----------
004 //      Class HeavyQuarkGenModule
005 //
006 // Author List: S.Gromoll, Ch.Paus
007 //
008 //  revision history:
009 //  -----------------
010 // *0001 Apr 25 2002 S.Gromoll+Ch,Paus created
011 // *0002 Apr 14 2003 G. Giurgiu, M. Paulini add D*0, D*+ and conjugates
012 //------------------------------------------------------------------------------
013 #ifndef _HEAVYQUARKGENMODULE_H_
014 #define _HEAVYQUARKGENMODULE_H_
015 
016 #include "generatorMods/AbsGenModule.hh"
017 #include "Framework/AbsParmGeneral.hh"
018 typedef AbsParmGeneral<long> AbsParmGeneral_long;
019 
020 class HeavyQuarkGenModule;
021 
022 //------------------------------------------------------------------------------//------------------------------------------------------------------------------//
023 // HQDefineCommand
024 //
025 //------------------------------------------------------------------------------
026 //------------------------------------------------------------------------------
027 class HQDefineCommand : public APPCommand
028 {
029 public:
030   // Constructors
031   HQDefineCommand(const char* comd, HeavyQuarkGenModule* targ);
032   
033   // Handler
034   virtual int         handle(int argc, char* argv[]);
035   virtual void        show() const;
036   virtual bool        isShowable() const;
037   virtual std::string description () const;
038 
039 private:
040   std::string            _cmd;      // defaults command string
041   int                    _idhep;    // HEP particle identifier
042   std::string            _name;     // name of particle (user defined)
043   std::string            _spec_file;// spectrum file name
044   std::string            _spec_name;// name of spectrum in file
045   double                 _mass;     // particle mass
046   double                 _lifetime; // particle lifetime
047   double                 _epsilon;  // peterson epsilon for fragmentation
048 };
049 
050 //------------------------------------------------------------------------------
051 //------------------------------------------------------------------------------
052 //
053 // HQSetFractionCommand
054 //
055 //------------------------------------------------------------------------------
056 //------------------------------------------------------------------------------
057 class HQSetFractionCommand : public APPCommand
058 {
059 private:
060   std::string            _cmd;         // defaults command string
061   int                    _hepfrom;     // HEP id of fragmenting particle
062   int                    _hepto;       // HEP id of fragmented particle
063   double                 _fraction;    // fraction of the particle in the group
064   int                    _anti;        // should anti particle fractions also
065                                        // be set?  defaults to non-zero (true)
066   
067 public:
068   // Constructors
069   HQSetFractionCommand(const char* cmd, HeavyQuarkGenModule* targ);
070   
071   // Handler
072   virtual int         handle(int argc, char* argv[]);
073   virtual void        show() const;
074   virtual bool        isShowable() const;
075   virtual std::string description () const;
076 
077 };
078 
079 
080 //------------------------------------------------------------------------------
081 //------------------------------------------------------------------------------
082 //
083 // HQSetDMixtureCommand
084 //
085 //------------------------------------------------------------------------------
086 //------------------------------------------------------------------------------
087 class HQSetDMixtureCommand : public APPCommand
088 {
089 private:
090   std::string            _cmd;         // defaults command string
091   double                 _mixu;        // D0     admixture
092   double                 _mixd;        // D+     admixture
093   double                 _mixs;        // Ds     admixture
094   double                 _mixl;        // Lambda admixture
095   double                 _mixustar;    // D*0    admixture
096   double                 _mixdstar;    // D*+    admixture
097 
098   
099 public:
100   // Constructors
101   HQSetDMixtureCommand(const char* cmd, HeavyQuarkGenModule* targ);
102   
103   // Handler
104   virtual int         handle(int argc, char* argv[]);
105   virtual void        show() const;
106   virtual bool        isShowable() const;
107   virtual std::string description () const;
108 };
109 
110 
111 //------------------------------------------------------------------------------
112 //------------------------------------------------------------------------------
113 //
114 // HQSetBMixtureCommand
115 //
116 //------------------------------------------------------------------------------
117 //------------------------------------------------------------------------------
118 class HQSetBMixtureCommand : public APPCommand
119 {
120 private:
121   std::string            _cmd;         // defaults command string
122   double                 _mixu;        // Bu     admixture
123   double                 _mixd;        // Bd     admixture
124   double                 _mixs;        // Bs     admixture
125   double                 _mixc;        // Bc     admixture
126   double                 _mixl;        // Lambda admixture
127 
128   
129 public:
130   // Constructors
131   HQSetBMixtureCommand(const char* cmd, HeavyQuarkGenModule* targ);
132   
133   // Handler
134   virtual int         handle(int argc, char* argv[]);
135   virtual void        show() const;
136   virtual bool        isShowable() const;
137   virtual std::string description () const;
138 };
139 
140 //------------------------------------------------------------------------------
141 //------------------------------------------------------------------------------
142 //
143 // HQSetDEpsCommand
144 //
145 //------------------------------------------------------------------------------
146 //------------------------------------------------------------------------------
147 class HQSetDEpsCommand : public APPCommand
148 {
149 private:
150   std::string            _cmd;         // defaults command string
151   double                 _epsu;        // D0     peterson eps
152   double                 _epsd;        // D+     peterson eps
153   double                 _epss;        // Ds     peterson eps
154   double                 _epsl;        // Lambda peterson eps
155   double                 _epsustar;    // D*0     peterson eps
156   double                 _epsdstar;    // D*+     peterson eps
157   
158 public:
159   // Constructors
160   HQSetDEpsCommand(const char* cmd, HeavyQuarkGenModule* targ);
161   
162   // Handler
163   virtual int         handle(int argc, char* argv[]);
164   virtual void        show() const;
165   virtual bool        isShowable() const;
166   virtual std::string description () const;
167 };
168 
169 
170 //------------------------------------------------------------------------------
171 //------------------------------------------------------------------------------
172 //
173 // HQSetBEpsCommand
174 //
175 //------------------------------------------------------------------------------
176 //------------------------------------------------------------------------------
177 class HQSetBEpsCommand : public APPCommand
178 {
179 private:
180   std::string            _cmd;         // defaults command string
181   double                 _epsu;        // B+     peterson eps
182   double                 _epsd;        // B0     peterson eps
183   double                 _epsc;        // Bc     peterson eps
184   double                 _epss;        // Bs     peterson eps
185   double                 _epsl;        // Lambda peterson eps
186 
187   
188 public:
189   // Constructors
190   HQSetBEpsCommand(const char* cmd, HeavyQuarkGenModule* targ);
191   
192   // Handler
193   virtual int         handle(int argc, char* argv[]);
194   virtual void        show() const;
195   virtual bool        isShowable() const;
196   virtual std::string description () const;
197 };
198 
199 
200 
201 //------------------------------------------------------------------------------//------------------------------------------------------------------------------//
202 // HQMixedCommand
203 //
204 //------------------------------------------------------------------------------
205 //------------------------------------------------------------------------------
206 class HQMixesCommand : public APPCommand
207 {
208 private:
209   std::string            _cmd;         // defaults command string
210   int                    _idhep;       // HEP id of an existing particle
211   double                 _delta_m;     // mixing parameter
212   int                    _mixes_to;    // what the particle mixes to (defaults
213                                        //   to -hep_id)
214   
215 public:
216   // Constructors
217   HQMixesCommand(const char* cmd, HeavyQuarkGenModule* targ);
218   
219   // Handler
220   virtual int         handle(int argc, char* argv[]);
221   virtual void        show() const;
222   virtual bool        isShowable() const;
223   virtual std::string description () const;
224 
225 };
226 
227 //------------------------------------------------------------------------------//------------------------------------------------------------------------------//
228 // HQGenerateCommand
229 //
230 //------------------------------------------------------------------------------
231 //------------------------------------------------------------------------------
232 class HQGenerateCommand : public APPCommand {
233 
234 private:
235   std::string            _cmd;      // defaults command string
236   int                    _idhep;    // particle to generate
237   double                 _fraction; // minimum allowed pt for particle
238   double                 _pt_min;   // minimum allowed pt for particle
239   double                 _pt_max;   // maximum allowed pt for particle
240   double                 _rap_min;  // minimum allowed rapidity for particle
241   double                 _rap_max;  // maximum allowed rapidity for particle
242 
243 public:
244   // Constructors
245   HQGenerateCommand(const char* comd, HeavyQuarkGenModule* targ);
246   
247   // Handler
248   virtual int         handle(int argc, char* argv[]);
249   virtual void        show() const;
250   virtual bool        isShowable() const;
251   virtual std::string description () const;
252 };
253 
254 class HeavyQuarkGenModule : public AbsGenModule {
255 
256 protected:
257 
258   // Data members
259 
260   APPMenu                _HQgMenu;
261 
262   AbsParmGeneral<int>    _Debug;
263   AbsParmGeneral<int>    _Verbose;
264 
265   AbsParmGeneral<bool>   _doFrag;
266   AbsParmGeneral<bool>   _doMix;
267   HQDefineCommand        _Define;
268   HQGenerateCommand      _Generate;
269   HQMixesCommand         _Mixes;
270   HQSetFractionCommand   _SetFraction;
271   HQSetDMixtureCommand   _SetDMixture;
272   HQSetBMixtureCommand   _SetBMixture;
273   HQSetDEpsCommand       _SetDEps;
274   HQSetBEpsCommand       _SetBEps;
275 
276   // Random number menu
277   APPMenu                _randomNumberMenu;
278   AbsParmGeneral<long>   _rndmSeed1;
279   AbsParmGeneral<long>   _rndmSeed2;
280 
281   static const long      _defaultRandomSeed1;
282   static const long      _defaultRandomSeed2;
283 
284 public:
285 
286   // Constructors
287   HeavyQuarkGenModule(const char* name = "HeavyQuarkGen", 
288                       const char* desc = "HeavyQuarkGen Module");
289 
290   // Destructor
291   virtual ~HeavyQuarkGenModule( );
292 
293   const char*      rcsId           () const;
294 
295   int              callGenerator   (AbsEvent* event);
296   AppResult        genBeginJob     ();
297   AppResult        genBeginRun     (AbsEvent* run);
298   AppResult        genEndRun       (AbsEvent* job);
299   AppResult        genEndJob       ();
300 
301   void             fillHepevt();
302 };
303 #endif

source navigation ] diff markup ] identifier search ] freetext search ] file search ]

This page was automatically generated by the LXR engine.
The LXR team
Valid HTML 4.01!

Send problems or questions to cdfcode@fnal.gov