FairRoot/PandaRoot
Namespaces | Classes | Functions
chigen Namespace Reference

Namespaces

 evtgen
 
 models
 
 ostreams
 
 pythia
 
 random
 

Classes

class  ChiGen
 
class  ChiGenRandomEngine
 
class  PartonicModel
 
class  PndChiGen
 
class  PndChiGenExclusive
 
class  PythiaChiGen
 

Functions

double elapsedTimeSeconds ()
 
void ensure_chigen_is_initialized ()
 
void initialize ()
 
void initialize (long seed)
 
long get_seed ()
 
EvtId pdgId2EvtId (int pdgId)
 
bool isPWaveCharmonia (int pdgCode)
 
bool isCharmonia (int pdgCode)
 

Function Documentation

double chigen::elapsedTimeSeconds ( )

Elapsed time in seconds

Returns
elapsed time in seconds

Definition at line 23 of file ChiGenContext.cxx.

References __millisecondsTime__.

23  {
24  static const double start = (double) __millisecondsTime__;
25  return ((__millisecondsTime__ - start) / 1e3);
26  }
#define __millisecondsTime__
void chigen::ensure_chigen_is_initialized ( )

Ensures that all required stuff is loaded and loads otherwise.

Definition at line 211 of file ChiGenContext.cxx.

References initialize().

Referenced by chigen::ChiGen::ChiGen(), chigen::models::createSpinDensity(), chigen::PartonicModel::PartonicModel(), chigen::PndChiGen::PndChiGen(), chigen::PndChiGenExclusive::PndChiGenExclusive(), and chigen::PythiaChiGen::PythiaChiGen().

211  {
212  if (!chigen_is_initialized)
213  initialize();
214  }
void initialize()
long chigen::get_seed ( )

Returns random seed which was set at initialization

Returns
random seed that was set at initialization

Definition at line 246 of file ChiGenContext.cxx.

246  {
247  return __seed__;
248  };
void chigen::initialize ( )

Initialize ChiGen with default seed (

gRandom->GetSeed()

).

Definition at line 216 of file ChiGenContext.cxx.

Referenced by ensure_chigen_is_initialized(), main(), and simInclusive().

216  {
217  initialize((long) gRandom->GetSeed());
218  }
void initialize()
void chigen::initialize ( long  seed)

Initialize ChiGen with specified seed.

Parameters
seedseed

Definition at line 220 of file ChiGenContext.cxx.

References __chigen_cout__, __chigen_direct_cout__, chigen::evtgen::initialize_evtgen(), chigen::pythia::initialize_pythia(), chigen::random::initialize_random(), chigen::ostreams::initialize_streams(), and seed.

220  {
221  chigen_is_initialized = true;
222 
223  __seed__ = seed;
224 
225  //initializing streams
227 
228  __chigen_cout__ << " Initializing with seed " << __seed__ << "." << std::endl;
229 
230  //initializing random
231  srand(seed); //<-to ensure that std::random will use same seed
233 
234  __chigen_cout__ << " Initializing EvtGen ...";
235  //initializing EvtGen
237  __chigen_direct_cout__ << "done." << std::endl;
238 
239  __chigen_cout__ << " Initializing Pythia ...";
240  //initializing Pythia
242  __chigen_direct_cout__ << "done." << std::endl;
243 
244  };
#define __chigen_direct_cout__
void initialize_random()
unsigned int seed
void initialize_evtgen()
void initialize_pythia()
#define __chigen_cout__
bool chigen::isCharmonia ( int  pdgCode)

Returns true, if specified PDG code corresponds to charmonia

Parameters
pdgCodePDG code
Returns
true, if specified PDG code corresponds to charmonia

Definition at line 268 of file ChiGenContext.cxx.

References CHI1_PDG_ID, CHI2_PDG_ID, PSI_PDG_ID, and X3872_PDG_ID.

Referenced by chigen::PythiaChiGen::decay().

268  {
269  return pdgCode == CHI1_PDG_ID || pdgCode == CHI2_PDG_ID
270  || pdgCode == X3872_PDG_ID || pdgCode == PSI_PDG_ID;
271  };
#define CHI1_PDG_ID
Definition: ChiGenContext.h:43
#define X3872_PDG_ID
Definition: ChiGenContext.h:46
#define CHI2_PDG_ID
Definition: ChiGenContext.h:49
#define PSI_PDG_ID
Definition: ChiGenContext.h:41
bool chigen::isPWaveCharmonia ( int  pdgCode)

Returns true, if specified PDG code corresponds to P-wave charmonia

Parameters
pdgCodePDG code
Returns
true, if specified PDG code corresponds to P-wave charmonia

Definition at line 264 of file ChiGenContext.cxx.

References CHI1_PDG_ID, CHI2_PDG_ID, and X3872_PDG_ID.

264  {
265  return pdgCode == CHI1_PDG_ID || pdgCode == CHI2_PDG_ID || pdgCode == X3872_PDG_ID;
266  };
#define CHI1_PDG_ID
Definition: ChiGenContext.h:43
#define X3872_PDG_ID
Definition: ChiGenContext.h:46
#define CHI2_PDG_ID
Definition: ChiGenContext.h:49
EvtId chigen::pdgId2EvtId ( int  pdgId)

Returns EvtGen particle id from its pdg code

Parameters
pdgIdPDG code
Returns
EvtGen particle id from its pdg code

Definition at line 250 of file ChiGenContext.cxx.

References CHI1_PDG_ID, CHI2_PDG_ID, chigen::evtgen::chi_c1_evt_id, chigen::evtgen::chi_c2_evt_id, chigen::evtgen::ensure_evt_gen_is_inialized(), chigen::evtgen::x3872_evt_id, and X3872_PDG_ID.

250  {
252  switch (pdgId) {
253  case CHI1_PDG_ID:
254  return evtgen::chi_c1_evt_id;
255  case CHI2_PDG_ID:
256  return evtgen::chi_c2_evt_id;
257  case X3872_PDG_ID:
258  return evtgen::x3872_evt_id;
259  default:
260  throw std::runtime_error(std::string("Unknown particle id: ") + toString(pdgId));
261  }
262  }
#define CHI1_PDG_ID
Definition: ChiGenContext.h:43
void ensure_evt_gen_is_inialized()
#define X3872_PDG_ID
Definition: ChiGenContext.h:46
#define CHI2_PDG_ID
Definition: ChiGenContext.h:49