Added to SVN repository

This commit is contained in:
paraiso
2006-02-16 17:21:13 +00:00
parent b67a2876ac
commit b98f222ba8
49 changed files with 1577 additions and 183 deletions

View File

@ -1,10 +1,10 @@
///§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
// LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION
//
// ID :LEMuSRElFieldMix.hh , v 1.3
// AUTHOR: Taofiq PARAISO
// DATE : 2005-02-14 15:15
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
//
// & &&&&&&&&&& &&&&&&& &&&&&&&&
// & & && && & &&
@ -18,8 +18,23 @@
// &
// &
// Electric Field MIX
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§//
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
/**
* In order to build complex electric fields, the following class has been built.
* It allows the superposition of many electric fields recurrently.
*
* The main reason for this is that the field manager attached to a given volume do not handle such a
* superposition. In the case of the sample chamber, this is a big problem because we have to handle
* the fields of the ring anode and of the sample cryostat.
*
* The electric field in the sample region (gate valve chamber + mcp2 chamber) is then the
* superposition of the following electric fields:
* -# left side of the ring anode
* -# right side of the ring anode
* -# sample cryostat
* .
* On the same principle was built the class LEMuSRElMagField.
*/
#ifndef LEMUSRELECTRICFIELDMIX_H
#define LEMUSRELECTRICFIELDMIX_H 1
@ -43,24 +58,37 @@ class LEMuSRElFieldMix : public G4ElectricField
{
public:
//! Contructor for two field map superposition.
LEMuSRElFieldMix( LEMuSRElectricField* E1, LEMuSRElectricField* E2, G4double field1_val, G4double field2_val);
//! Constructor for two general fields superposition.
LEMuSRElFieldMix( G4ElectricField* E1, G4ElectricField* E2, G4double field1_val, G4double field2_val);
//! Destructor.
~LEMuSRElFieldMix();
void GetFieldValue(const G4double point[4], G4double *Bfield) const;
//! Method to return the field at position-time point[4].
/*!
* As an electric field superposition is linear, the GetFieldValue method simply ask each input field
* for its value at the given position-time and returns as a field value the weighted sum of the
* two answers.
*/
void GetFieldValue(const G4double point[4], G4double*) const;
void Test();
public:
G4double coef1, coef2;
// LEMuSRElectricField* field1, *field2;
G4ElectricField* field1, *field2;
//! Input field 1.
G4ElectricField* field1;
//! Input field 2.
G4ElectricField* field2;
//! Weight for input field 1.
G4double coef1;
//! Weight for input field 2.
G4double coef2;
};